summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/issues.targets252
-rw-r--r--tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.il4636
-rw-r--r--tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.ilproj42
-rw-r--r--tests/src/JIT/Directed/IL/mutualrecur-tailcall/app.config (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/app.config)0
-rw-r--r--tests/src/JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.il3055
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.il138
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.ilproj (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.ilproj)9
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.il129
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.ilproj42
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il145
-rw-r--r--tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.ilproj42
-rw-r--r--tests/src/JIT/Directed/RVAInit/extended.il227
-rw-r--r--tests/src/JIT/Directed/RVAInit/extended.ilproj42
-rw-r--r--tests/src/JIT/Directed/RVAInit/overlap.il247
-rw-r--r--tests/src/JIT/Directed/RVAInit/overlap.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/compiler/FilterToHandler.il79
-rw-r--r--tests/src/JIT/Directed/coverage/compiler/FilterToHandler.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/compiler/app.config (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/app.config)2
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally.il27
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld.il31
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall.il32
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/bleref.il46
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1.il129
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/calli2.il46
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal.il37
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1.il59
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2.il59
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4.il44
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt.il66
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect.il73
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr.il51
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr.il51
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1.il18
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind.il29
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind.il29
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il240
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il77
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il77
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic1.il12077
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic2.il12063
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic3.il1153
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic4.il1152
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj (renamed from tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj)15
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj43
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj43
-rw-r--r--tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj43
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/callconv3.il748
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_d.ilproj46
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_r.ilproj45
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/identity3.il577
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/identity3_il_d.ilproj46
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/identity3_il_r.ilproj45
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.il595
-rw-r--r--tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.ilproj45
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/CMakeLists.txt13
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/Object-Pin.il346
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/app.config27
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/mirror.cpp19
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/mirror.def4
-rw-r--r--tests/src/JIT/Directed/pinning/object-pin/object-pin.ilproj43
-rw-r--r--tests/src/JIT/Directed/pinvoke/preemptive_cooperative.il226
-rw-r--r--tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj43
-rw-r--r--tests/src/JIT/Directed/refbyref/byref2iu.il153
-rw-r--r--tests/src/JIT/Directed/refbyref/byref2iu_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/refbyref/byref2iu_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2byref.il99
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2byref_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2byref_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2iu.il99
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2iu_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/refbyref/ref2iu_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/refbyref/refpinned2iu.il109
-rw-r--r--tests/src/JIT/Directed/refbyref/refpinned2iu_il_d.ilproj43
-rw-r--r--tests/src/JIT/Directed/refbyref/refpinned2iu_il_r.ilproj42
-rw-r--r--tests/src/JIT/Directed/rvastatics/app.config27
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic1.il7737
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj42
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic2.il7710
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj42
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic3.il7716
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj42
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic4.il7675
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj42
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic5.il7675
-rw-r--r--tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj42
-rw-r--r--tests/src/JIT/Directed/tailcall/app.config27
-rw-r--r--tests/src/JIT/Directed/tailcall/tailcall.il340
-rw-r--r--tests/src/JIT/Directed/tailcall/tailcall.ilproj42
-rw-r--r--tests/src/JIT/Directed/tls/MutualRecurThd-TLS.il3311
-rw-r--r--tests/src/JIT/Directed/tls/Test-TLS.il21
-rw-r--r--tests/src/JIT/Directed/tls/app.config27
-rw-r--r--tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj42
-rw-r--r--tests/src/JIT/Directed/tls/test-tls.ilproj42
-rw-r--r--tests/src/JIT/Directed/vararg/il/app.config27
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class1.il392
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class1_il_d.ilproj43
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class1_il_r.ilproj42
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class2.il457
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class2_il_d.ilproj43
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/class2_il_r.ilproj42
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/vt4.il449
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/vt4_il_d.ilproj43
-rw-r--r--tests/src/JIT/Generics/ConstrainedCall/vt4_il_r.ilproj42
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.il212
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.ilproj42
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.il872
-rw-r--r--tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/functional/_dbgsin_il.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Boxing/functional/_relsin_il.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/functional/sin.il487
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_cs.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_il.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_cs.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_il.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_cs.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_il.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_cs.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_il.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/app.config2
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/sin_cs.il271
-rw-r--r--tests/src/JIT/Methodical/Boxing/xlang/sin_il.il271
-rw-r--r--tests/src/JIT/Methodical/Coverage/arglist_pos.il75
-rw-r--r--tests/src/JIT/Methodical/Coverage/arglist_pos.ilproj43
-rw-r--r--tests/src/JIT/Methodical/FPtrunc/convX.il237
-rw-r--r--tests/src/JIT/Methodical/FPtrunc/convx_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/FPtrunc/convx_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2b.il376
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2b_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2b_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2c.il402
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2c_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/Invoke/25params/25param2c_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/NaN/r4NaNconv.il829
-rw-r--r--tests/src/JIT/Methodical/NaN/r4nanconv_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/NaN/r4nanconv_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/NaN/r8NaNconv.il825
-rw-r--r--tests/src/JIT/Methodical/NaN/r8nanconv_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/NaN/r8nanconv_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/global.il19
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/tail.il208
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/tail_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/tail_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/threads3.il224
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/threads3_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/cctor/misc/threads3_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/cctor/simple/precise3.il208
-rw-r--r--tests/src/JIT/Methodical/cctor/simple/precise3_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/cctor/simple/precise3_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/delegate/_simpleoddpower_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/delegate/_simpleoddpower_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/delegate/app.config27
-rw-r--r--tests/src/JIT/Methodical/delegate/oddpower.il644
-rw-r--r--tests/src/JIT/Methodical/dynamic_methods/project.lock.json2
-rw-r--r--tests/src/JIT/Methodical/eh/basics/app.config2
-rw-r--r--tests/src/JIT/Methodical/eh/basics/emptyfinally.il90
-rw-r--r--tests/src/JIT/Methodical/eh/basics/emptyfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/emptyfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinexcept.il85
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfault.il79
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfault_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfault_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfilter.il82
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfilter_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfilter_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1.il130
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2.il137
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3.il159
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction.il71
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryexcept.il64
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfault.il57
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfault_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfault_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch.il77
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn.il89
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally.il86
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally.il107
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/basics/trythrowexcept.il80
-rw-r--r--tests/src/JIT/Methodical/eh/basics/trythrowexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/basics/trythrowexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch.il86
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault.il82
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter.il85
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally.il91
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry.il82
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally.il98
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally.il94
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit.il90
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet.il177
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet.il121
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtrycatch.il82
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinally.il77
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow.il80
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop.il105
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions.il178
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions.il177
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion.il84
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/app.config27
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/backwardleave.il89
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/backwardleave_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/backwardleave_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody.il75
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally.il88
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody.il68
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody.il73
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally.il87
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedhandlers.il101
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedtryblock.il95
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry.il79
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/testeit.il113
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/testeit_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/testeit_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers.il173
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry.il103
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/app.config2
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry.il147
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall.il150
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling.il211
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw1dimarray.il302
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw1dimarray_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw1dimarray_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw2dimarray.il408
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw2dimarray_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/interactions/throw2dimarray_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry.il110
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/app.config2
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch.il175
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch.il166
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally.il172
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally.il174
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally.il108
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch.il173
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeforefinally.il107
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally.il114
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveinsameregion.il129
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveintotrybody.il178
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry.il194
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/app.config27
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch.il151
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch.il169
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/app.config27
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch.il1497
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept.il1839
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch.il1677
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin.il1856
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept.il2077
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin.il2357
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_d.ilproj47
-rw-r--r--tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/app.config2
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/localvarincatch.il202
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/localvarincatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/localvarincatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch.il96
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/app.config27
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch.il649
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept.il999
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault.il599
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally.il749
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch.il653
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept.il1153
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault.il751
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally.il751
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/eh/rethrow/app.config2
-rw-r--r--tests/src/JIT/Methodical/eh/rethrow/project.lock.json2
-rw-r--r--tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch.il160
-rw-r--r--tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_d.ilproj46
-rw-r--r--tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_r.ilproj45
-rw-r--r--tests/src/JIT/Methodical/explicit/misc/_il_dbgrefarg_box_f8.ilproj43
-rw-r--r--tests/src/JIT/Methodical/explicit/misc/_il_relrefarg_box_f8.ilproj42
-rw-r--r--tests/src/JIT/Methodical/explicit/misc/refarg_box_f8.il133
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentLifetimes.il62
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentlifetimes.ilproj43
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.il206
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.ilproj43
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.il988
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.ilproj43
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.il903
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.ilproj43
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.il615
-rw-r--r--tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.ilproj43
-rw-r--r--tests/src/JIT/Methodical/inlining/dev10_bug719093/app.config27
-rw-r--r--tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.il364
-rw-r--r--tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.ilproj43
-rw-r--r--tests/src/JIT/Methodical/ldtoken/_il_dbgtypes.ilproj43
-rw-r--r--tests/src/JIT/Methodical/ldtoken/_il_reltypes.ilproj42
-rw-r--r--tests/src/JIT/Methodical/ldtoken/types.il205
-rw-r--r--tests/src/JIT/Methodical/localloc/vararg/app.config27
-rw-r--r--tests/src/JIT/Methodical/switch/app.config27
-rw-r--r--tests/src/JIT/Methodical/switch/switch1.il57
-rw-r--r--tests/src/JIT/Methodical/switch/switch1.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch10.il79
-rw-r--r--tests/src/JIT/Methodical/switch/switch10.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch11.il32
-rw-r--r--tests/src/JIT/Methodical/switch/switch11.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch2.il82
-rw-r--r--tests/src/JIT/Methodical/switch/switch2.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch3.il58
-rw-r--r--tests/src/JIT/Methodical/switch/switch3.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch4.il78
-rw-r--r--tests/src/JIT/Methodical/switch/switch4.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch5.il159
-rw-r--r--tests/src/JIT/Methodical/switch/switch5.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch6.il87
-rw-r--r--tests/src/JIT/Methodical/switch/switch6.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch7.il91
-rw-r--r--tests/src/JIT/Methodical/switch/switch7.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch8.il57
-rw-r--r--tests/src/JIT/Methodical/switch/switch8.ilproj42
-rw-r--r--tests/src/JIT/Methodical/switch/switch9.il87
-rw-r--r--tests/src/JIT/Methodical/switch/switch9.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8_inl.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4_inl.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgrecurse_ep_void.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgtest_implicit.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_dbgtest_void.ilproj43
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8_inl.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4_inl.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_relrecurse_ep_void.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_reltest_implicit.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/_il_reltest_void.ilproj42
-rw-r--r--tests/src/JIT/Methodical/tailcall/compat_r4_r8.il106
-rw-r--r--tests/src/JIT/Methodical/tailcall/compat_r4_r8_inl.il70
-rw-r--r--tests/src/JIT/Methodical/tailcall/compat_r8_r4.il106
-rw-r--r--tests/src/JIT/Methodical/tailcall/compat_r8_r4_inl.il70
-rw-r--r--tests/src/JIT/Methodical/tailcall/pointer.il98
-rw-r--r--tests/src/JIT/Methodical/tailcall/pointer_i.il99
-rw-r--r--tests/src/JIT/Methodical/tailcall/recurse_ep_void.il81
-rw-r--r--tests/src/JIT/Methodical/tailcall/test_implicit.il366
-rw-r--r--tests/src/JIT/Methodical/tailcall/test_void.il80
-rw-r--r--tests/src/JIT/Methodical/tailcall_v4/delegateTail.il214
-rw-r--r--tests/src/JIT/Methodical/tailcall_v4/delegatetail.ilproj43
-rw-r--r--tests/src/JIT/Methodical/varargs/combine/app.config27
-rw-r--r--tests/src/JIT/Methodical/varargs/scenario/app.config27
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/app.config27
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/fault.il794
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/fault_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/fault_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/filter.il83
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/filter_il_d.ilproj43
-rw-r--r--tests/src/JIT/Methodical/varargs/seh/filter_il_r.ilproj42
-rw-r--r--tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj43
-rw-r--r--tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj42
-rw-r--r--tests/src/JIT/Methodical/xxobj/operand/localloc.il216
-rw-r--r--tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.il44
-rw-r--r--tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.il166
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.il162
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.il145
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.il77
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.il33
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b06811/project.lock.json2
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.il133
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.il162
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.il27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.il27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875/Desktop/project.lock.json2
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.il75
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.il102
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.il27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.il258
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.il53
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.il38
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.il106
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.il96
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.il92
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.il86
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.il128
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.il188
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.il81
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.il244
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/gbug.il128
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/b213516.ilproj45
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/exe-219037.il68
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.il31
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.ilproj44
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/test-tls.il21
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/SyncGCHole.il242
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/b16378.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/bbHndIndex.il38
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/b16382.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/bbFlags.il63
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/b16473.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/ebdTryEnd.il1095
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/trep.cs29
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/b125091.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/eh.il170
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.il112
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/1093488365.il52
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/b359564.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.il33
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.ilproj43
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/project.lock.json2
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.il295
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.ilproj43
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.il148
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.il485
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.il704
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.il373
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.il1110
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.il40
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.il443
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.il110
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.ilproj42
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/app.config27
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.il1280
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.ilproj43
-rw-r--r--tests/src/JIT/Regression/Dev11/External/dev11_149090/project.lock.json2
-rw-r--r--tests/src/JIT/Regression/Dev11/dev10_865840/app.config27
-rw-r--r--tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.il71
-rw-r--r--tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj42
-rw-r--r--tests/src/JIT/Regression/Dev11/dev11_10427/app.config27
-rw-r--r--tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.il76
-rw-r--r--tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.ilproj43
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815941/DevDiv_815941.il86
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815941/app.config27
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815941/devdiv_815941.ilproj42
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815942/DevDiv_815942.il41
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815942/app.config27
-rw-r--r--tests/src/JIT/Regression/JitBlue/devdiv_815942/devdiv_815942.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.il130
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/ConsoleApplication2.il104
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/b98431.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/b99403.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/cbyte7a.il97
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/b126221.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/cs_il.il133
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/b142473.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/loop_06_24_02.il36736
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/b10852.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/test3.il147
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/b14324.ilproj45
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/repro.il139
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/b14355.ilproj45
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/call01.il330
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/b14364.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/life-annotated.il3255
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/b19101.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/test_01.il35
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/b19289.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/test_09.il44
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/Negative001.il228
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/b27077.ilproj42
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/app.config27
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.il263
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj42
-rw-r--r--tests/src/JIT/config/extra/project.json1
-rw-r--r--tests/src/JIT/config/extra/project.lock.json74
-rw-r--r--tests/src/JIT/config/minimal/project.lock.json2
-rw-r--r--tests/src/JIT/jit64/eh/basics/project.lock.json2
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.il130
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.il137
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.il159
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.il70
-rw-r--r--tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.il117
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.il114
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.il126
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.il94
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.ilproj45
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.il118
-rw-r--r--tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/app.config27
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_dynamic.il223
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_large.il223
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_small.il224
-rw-r--r--tests/src/JIT/jit64/localloc/call/call03_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_dynamic.il242
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_large.il242
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_small.il260
-rw-r--r--tests/src/JIT/jit64/localloc/call/call04_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_dynamic.il242
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_large.il241
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_small.il243
-rw-r--r--tests/src/JIT/jit64/localloc/call/call05_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_dynamic.il287
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_large.il287
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_small.il287
-rw-r--r--tests/src/JIT/jit64/localloc/call/call06_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call07_dynamic.il451
-rw-r--r--tests/src/JIT/jit64/localloc/call/call07_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/call/call07_small.il451
-rw-r--r--tests/src/JIT/jit64/localloc/call/call07_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/app.config27
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_dynamic.il212
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_large.il212
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_small.il212
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh03_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_dynamic.il192
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_large.il192
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_small.il192
-rw-r--r--tests/src/JIT/jit64/localloc/eh/eh04_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh05_large.il100
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh05_large.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh05_small.il100
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh05_small.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh06_large.il96
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh06_large.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh06_small.il96
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh06_small.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh08_large.il96
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh08_large.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh08_small.il94
-rw-r--r--tests/src/JIT/jit64/localloc/ehverify/eh08_small.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/app.config27
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.il255
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_large.il255
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_small.il249
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind04_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.il258
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_large.il258
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_small.il252
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind05_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.il258
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_large.il258
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_large.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_small.il252
-rw-r--r--tests/src/JIT/jit64/localloc/unwind/unwind06_small.ilproj45
-rw-r--r--tests/src/JIT/jit64/localloc/vararg/app.config27
-rw-r--r--tests/src/JIT/jit64/localloc/verify/app.config27
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_dynamic.il93
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_large.il90
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj42
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_small.il90
-rw-r--r--tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/ndpw/21220/21220.il155
-rw-r--r--tests/src/JIT/jit64/regress/ndpw/21220/app.config27
-rw-r--r--tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/vsw/102754/app.config27
-rw-r--r--tests/src/JIT/jit64/regress/vsw/102754/test1.il96
-rw-r--r--tests/src/JIT/jit64/regress/vsw/102754/test1.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/vsw/102754/test2.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/vsw/543645/app.config27
-rw-r--r--tests/src/JIT/jit64/regress/vsw/543645/test.il126
-rw-r--r--tests/src/JIT/jit64/regress/vsw/543645/test.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/vsw/546707/app.config27
-rw-r--r--tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.il165
-rw-r--r--tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.ilproj42
-rw-r--r--tests/src/JIT/jit64/regress/vsw/552940/app.config27
-rw-r--r--tests/src/JIT/jit64/regress/vsw/552940/test.il106
-rw-r--r--tests/src/JIT/jit64/regress/vsw/552940/test.ilproj42
-rw-r--r--tests/testsFailingOutsideWindows.txt98
837 files changed, 204333 insertions, 249 deletions
diff --git a/tests/issues.targets b/tests/issues.targets
index e7c6a004e3..5fcd9195ad 100644
--- a/tests/issues.targets
+++ b/tests/issues.targets
@@ -49,5 +49,257 @@
<ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Arrays\misc\_il_relarrres\_il_relarrres.cmd" >
<Issue>2330</Issue>
</ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\badldsfld_il_d\badldsfld_il_d.cmd" >
+ <Issue>2405</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\badldsfld_il_r\badldsfld_il_r.cmd" >
+ <Issue>2405</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\delegate\_simpleoddpower_il_d\_simpleoddpower_il_d.cmd" >
+ <Issue>2407</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\delegate\_simpleoddpower_il_r\_simpleoddpower_il_r.cmd" >
+ <Issue>2407</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\varargs\seh\filter_il_d\filter_il_d.cmd" >
+ <Issue>2411</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\varargs\seh\filter_il_r\filter_il_r.cmd" >
+ <Issue>2411</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\bleref_il_d\bleref_il_d.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\bleref_il_r\bleref_il_r.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\IL_Conformance\Old\Conformance_Base\conv_ovf_i8_i\conv_ovf_i8_i.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\IL_Conformance\Old\Conformance_Base\rem_r4\rem_r4.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\localloc\verify\verify01_dynamic\verify01_dynamic.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\localloc\verify\verify01_large\verify01_large.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\localloc\verify\verify01_small\verify01_small.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\regress\ndpw\21220\b21220\b21220.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\regress\vsw\102754\test1\test1.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\jit64\regress\vsw\102754\test2\test2.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\tail_il_d\tail_il_d.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\tail_il_r\tail_il_r.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\threads3_il_d\threads3_il_d.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\threads3_il_r\threads3_il_r.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\simple\precise3_il_d\precise3_il_d.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\simple\precise3_il_r\precise3_il_r.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch1\switch1.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch10\switch10.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch11\switch11.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch2\switch2.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch3\switch3.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch4\switch4.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch5\switch5.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch6\switch6.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch7\switch7.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch8\switch8.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\switch\switch9\switch9.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_dbgrecurse_ep_void\_il_dbgrecurse_ep_void.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_dbgtest_void\_il_dbgtest_void.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_relrecurse_ep_void\_il_relrecurse_ep_void.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_reltest_void\_il_reltest_void.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\varargs\seh\fault_il_d\fault_il_d.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\varargs\seh\fault_il_r\fault_il_r.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b65423\b65423\b65423.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-JIT\V1.2-M01\b08046\b08046\b08046.cmd" >
+ <Issue>2414</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\ldelemnullarr1_il_d\ldelemnullarr1_il_d.cmd" >
+ <Issue>2416</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\ldelemnullarr1_il_r\ldelemnullarr1_il_r.cmd" >
+ <Issue>2416</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\nonrefsdarr_il_d\nonrefsdarr_il_d.cmd" >
+ <Issue>2416</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\coverage\importer\Desktop\nonrefsdarr_il_r\nonrefsdarr_il_r.cmd" >
+ <Issue>2416</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\intrinsic\interlocked\rva_rvastatic1\rva_rvastatic1.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\intrinsic\interlocked\rva_rvastatic2\rva_rvastatic2.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\intrinsic\interlocked\rva_rvastatic3\rva_rvastatic3.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\intrinsic\interlocked\rva_rvastatic4\rva_rvastatic4.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\global_il_d\global_il_d.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\cctor\misc\global_il_r\global_il_r.cmd" >
+ <Issue>2433</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\pinvoke\preemptive_cooperative\preemptive_cooperative.cmd" >
+ <Issue>2434</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\RVAInit\extended\extended.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\RVAInit\overlap\overlap.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_dbgpointer\_il_dbgpointer.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_dbgpointer_i\_il_dbgpointer_i.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_relpointer\_il_relpointer.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\tailcall\_il_relpointer_i\_il_relpointer_i.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b49644\b49644\b49644.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-JIT\V1.2-Beta1\b102637\b102637\b102637.cmd" >
+ <Issue>2435</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\tls\mutualrecurthd-tls\mutualrecurthd-tls.cmd" >
+ <Issue>2441</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\tls\test-tls\test-tls.cmd" >
+ <Issue>2441</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-EJIT\v1-m10\b07847\b07847\b07847.cmd" >
+ <Issue>2441</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\CLR-x86-JIT\V1.2-M01\b03689\b03689\b03689.cmd" >
+ <Issue>2441</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_dbgsin_il_cs\_dbgsin_il_cs.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_odbgsin_il_cs\_odbgsin_il_cs.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_orelsin_il_cs\_orelsin_il_cs.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_relsin_il_cs\_relsin_il_cs.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_dbgsin_il_il\_dbgsin_il_il.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_odbgsin_il_il\_odbgsin_il_il.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_orelsin_il_il\_orelsin_il_il.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\Boxing\xlang\_relsin_il_il\_relsin_il_il.cmd" >
+ <Issue>2442</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\xxobj\operand\_il_dbglocalloc\_il_dbglocalloc.cmd" >
+ <Issue>2444</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\xxobj\operand\_il_rellocalloc\_il_rellocalloc.cmd" >
+ <Issue>2444</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\eh\deadcode\badcodeafterfinally_d\badcodeafterfinally_d.cmd" >
+ <Issue>2444</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Methodical\eh\deadcode\badcodeafterfinally_r\badcodeafterfinally_r.cmd" >
+ <Issue>2444</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\Dev11\dev10_865840\dev10_865840\dev10_865840.cmd" >
+ <Issue>2445</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\rvastatics\rvastatic1\rvastatic1.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\rvastatics\rvastatic2\rvastatic2.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\rvastatics\rvastatic3\rvastatic3.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\rvastatics\rvastatic4\rvastatic4.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\rvastatics\rvastatic5\rvastatic5.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Regression\VS-ia64-JIT\V2.0-Beta2\b410474\b410474\b410474.cmd" >
+ <Issue>2451</Issue>
+ </ExcludeList>
+ <ExcludeList Include="$(XunitTestBinBase)\JIT\Directed\pinning\object-pin\object-pin\object-pin.cmd" >
+ <Issue>2452</Issue>
+ </ExcludeList>
</ItemGroup>
</Project>
diff --git a/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.il b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.il
new file mode 100644
index 0000000000..43349818b4
--- /dev/null
+++ b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.il
@@ -0,0 +1,4636 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly mutualrecurtailcall
+{
+}
+
+
+.method public static void ?Function1_1@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ret
+}
+
+.method public static void ?Function1_2@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_1@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_3@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_2@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_4@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_3@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_5@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_4@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_6@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_5@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_7@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_6@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_8@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_7@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_9@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_8@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_10@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_9@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_11@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_10@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_12@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_11@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_13@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_12@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_14@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_13@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_15@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_14@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_16@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_15@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_17@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_16@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_18@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_17@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_19@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_18@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_20@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_19@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_21@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_20@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_22@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_21@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_23@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_22@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_24@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_23@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_25@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_24@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_26@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_25@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_27@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_26@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_28@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_27@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_29@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_28@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_30@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_29@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_31@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_30@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_32@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_31@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_33@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_32@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_34@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_33@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_35@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_34@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_36@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_35@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_37@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_36@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_38@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_37@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_39@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_38@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_40@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_39@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_41@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_40@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_42@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_41@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_43@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_42@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_44@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_43@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_45@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_44@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_46@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_45@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_47@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_46@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_48@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_47@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_49@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_48@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_50@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_49@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_51@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_50@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_52@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_51@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_53@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_52@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_54@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_53@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_55@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_54@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_56@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_55@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_57@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_56@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_58@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_57@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_59@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_58@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_60@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_59@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_61@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_60@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_62@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_61@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_63@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_62@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_64@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_63@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_65@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_64@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_66@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_65@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_67@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_66@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_68@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_67@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_69@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_68@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_70@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_69@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_71@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_70@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_72@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_71@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_73@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_72@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_74@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_73@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_75@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_74@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_76@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_75@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_77@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_76@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_78@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_77@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_79@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_78@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_80@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_79@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_81@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_80@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_82@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_81@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_83@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_82@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_84@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_83@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_85@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_84@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_86@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_85@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_87@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_86@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_88@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_87@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_89@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_88@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_90@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_89@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_91@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_90@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_92@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_91@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_93@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_92@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_94@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_93@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_95@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_94@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_96@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_95@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_97@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_96@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_98@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_97@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_99@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_98@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_100@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ tail.
+ IL_0038: call void ?Function1_99@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static int32 main() il managed
+{
+ .entrypoint
+ .maxstack 2
+ .locals (int32 V_0)
+
+ IL_0000: ldc.i4 0x0
+ IL_0005: stloc.0
+ IL_0006: br IL_0013
+
+ IL_000b: ldloc.0
+ IL_000c: ldc.i4 0x1
+ IL_0011: add
+ IL_0012: stloc.0
+ IL_0013: ldloc.0
+ IL_0014: ldc.i4 0xa
+ IL_0019: bge IL_0e33
+
+ IL_001e: ldloc.0
+ IL_001f: ldc.i4 0x1
+ IL_0024: add
+ IL_0025: call void ?Function1_1@@YAXH@Z(int32)
+ IL_002a: ldloc.0
+ IL_002b: ldc.i4 0x1
+ IL_0030: add
+ IL_0031: call void ?Function1_2@@YAXH@Z(int32)
+ IL_0036: ldloc.0
+ IL_0037: ldc.i4 0x1
+ IL_003c: add
+ IL_003d: call void ?Function1_3@@YAXH@Z(int32)
+ IL_0042: ldloc.0
+ IL_0043: ldc.i4 0x1
+ IL_0048: add
+ IL_0049: call void ?Function1_4@@YAXH@Z(int32)
+ IL_004e: ldloc.0
+ IL_004f: ldc.i4 0x1
+ IL_0054: add
+ IL_0055: call void ?Function1_5@@YAXH@Z(int32)
+ IL_005a: ldloc.0
+ IL_005b: ldc.i4 0x1
+ IL_0060: add
+ IL_0061: call void ?Function1_6@@YAXH@Z(int32)
+ IL_0066: ldloc.0
+ IL_0067: ldc.i4 0x1
+ IL_006c: add
+ IL_006d: call void ?Function1_7@@YAXH@Z(int32)
+ IL_0072: ldloc.0
+ IL_0073: ldc.i4 0x1
+ IL_0078: add
+ IL_0079: call void ?Function1_8@@YAXH@Z(int32)
+ IL_007e: ldloc.0
+ IL_007f: ldc.i4 0x1
+ IL_0084: add
+ IL_0085: call void ?Function1_9@@YAXH@Z(int32)
+ IL_008a: ldloc.0
+ IL_008b: ldc.i4 0x1
+ IL_0090: add
+ IL_0091: call void ?Function1_10@@YAXH@Z(int32)
+ IL_0096: ldloc.0
+ IL_0097: ldc.i4 0x1
+ IL_009c: add
+ IL_009d: call void ?Function1_11@@YAXH@Z(int32)
+ IL_00a2: ldloc.0
+ IL_00a3: ldc.i4 0x1
+ IL_00a8: add
+ IL_00a9: call void ?Function1_12@@YAXH@Z(int32)
+ IL_00ae: ldloc.0
+ IL_00af: ldc.i4 0x1
+ IL_00b4: add
+ IL_00b5: call void ?Function1_13@@YAXH@Z(int32)
+ IL_00ba: ldloc.0
+ IL_00bb: ldc.i4 0x1
+ IL_00c0: add
+ IL_00c1: call void ?Function1_14@@YAXH@Z(int32)
+ IL_00c6: ldloc.0
+ IL_00c7: ldc.i4 0x1
+ IL_00cc: add
+ IL_00cd: call void ?Function1_15@@YAXH@Z(int32)
+ IL_00d2: ldloc.0
+ IL_00d3: ldc.i4 0x1
+ IL_00d8: add
+ IL_00d9: call void ?Function1_16@@YAXH@Z(int32)
+ IL_00de: ldloc.0
+ IL_00df: ldc.i4 0x1
+ IL_00e4: add
+ IL_00e5: call void ?Function1_17@@YAXH@Z(int32)
+ IL_00ea: ldloc.0
+ IL_00eb: ldc.i4 0x1
+ IL_00f0: add
+ IL_00f1: call void ?Function1_18@@YAXH@Z(int32)
+ IL_00f6: ldloc.0
+ IL_00f7: ldc.i4 0x1
+ IL_00fc: add
+ IL_00fd: call void ?Function1_19@@YAXH@Z(int32)
+ IL_0102: ldloc.0
+ IL_0103: ldc.i4 0x1
+ IL_0108: add
+ IL_0109: call void ?Function1_20@@YAXH@Z(int32)
+ IL_010e: ldloc.0
+ IL_010f: ldc.i4 0x1
+ IL_0114: add
+ IL_0115: call void ?Function1_21@@YAXH@Z(int32)
+ IL_011a: ldloc.0
+ IL_011b: ldc.i4 0x1
+ IL_0120: add
+ IL_0121: call void ?Function1_22@@YAXH@Z(int32)
+ IL_0126: ldloc.0
+ IL_0127: ldc.i4 0x1
+ IL_012c: add
+ IL_012d: call void ?Function1_23@@YAXH@Z(int32)
+ IL_0132: ldloc.0
+ IL_0133: ldc.i4 0x1
+ IL_0138: add
+ IL_0139: call void ?Function1_24@@YAXH@Z(int32)
+ IL_013e: ldloc.0
+ IL_013f: ldc.i4 0x1
+ IL_0144: add
+ IL_0145: call void ?Function1_25@@YAXH@Z(int32)
+ IL_014a: ldloc.0
+ IL_014b: ldc.i4 0x1
+ IL_0150: add
+ IL_0151: call void ?Function1_26@@YAXH@Z(int32)
+ IL_0156: ldloc.0
+ IL_0157: ldc.i4 0x1
+ IL_015c: add
+ IL_015d: call void ?Function1_27@@YAXH@Z(int32)
+ IL_0162: ldloc.0
+ IL_0163: ldc.i4 0x1
+ IL_0168: add
+ IL_0169: call void ?Function1_28@@YAXH@Z(int32)
+ IL_016e: ldloc.0
+ IL_016f: ldc.i4 0x1
+ IL_0174: add
+ IL_0175: call void ?Function1_29@@YAXH@Z(int32)
+ IL_017a: ldloc.0
+ IL_017b: ldc.i4 0x1
+ IL_0180: add
+ IL_0181: call void ?Function1_30@@YAXH@Z(int32)
+ IL_0186: ldloc.0
+ IL_0187: ldc.i4 0x1
+ IL_018c: add
+ IL_018d: call void ?Function1_31@@YAXH@Z(int32)
+ IL_0192: ldloc.0
+ IL_0193: ldc.i4 0x1
+ IL_0198: add
+ IL_0199: call void ?Function1_32@@YAXH@Z(int32)
+ IL_019e: ldloc.0
+ IL_019f: ldc.i4 0x1
+ IL_01a4: add
+ IL_01a5: call void ?Function1_33@@YAXH@Z(int32)
+ IL_01aa: ldloc.0
+ IL_01ab: ldc.i4 0x1
+ IL_01b0: add
+ IL_01b1: call void ?Function1_34@@YAXH@Z(int32)
+ IL_01b6: ldloc.0
+ IL_01b7: ldc.i4 0x1
+ IL_01bc: add
+ IL_01bd: call void ?Function1_35@@YAXH@Z(int32)
+ IL_01c2: ldloc.0
+ IL_01c3: ldc.i4 0x1
+ IL_01c8: add
+ IL_01c9: call void ?Function1_36@@YAXH@Z(int32)
+ IL_01ce: ldloc.0
+ IL_01cf: ldc.i4 0x1
+ IL_01d4: add
+ IL_01d5: call void ?Function1_37@@YAXH@Z(int32)
+ IL_01da: ldloc.0
+ IL_01db: ldc.i4 0x1
+ IL_01e0: add
+ IL_01e1: call void ?Function1_38@@YAXH@Z(int32)
+ IL_01e6: ldloc.0
+ IL_01e7: ldc.i4 0x1
+ IL_01ec: add
+ IL_01ed: call void ?Function1_39@@YAXH@Z(int32)
+ IL_01f2: ldloc.0
+ IL_01f3: ldc.i4 0x1
+ IL_01f8: add
+ IL_01f9: call void ?Function1_40@@YAXH@Z(int32)
+ IL_01fe: ldloc.0
+ IL_01ff: ldc.i4 0x1
+ IL_0204: add
+ IL_0205: call void ?Function1_41@@YAXH@Z(int32)
+ IL_020a: ldloc.0
+ IL_020b: ldc.i4 0x1
+ IL_0210: add
+ IL_0211: call void ?Function1_42@@YAXH@Z(int32)
+ IL_0216: ldloc.0
+ IL_0217: ldc.i4 0x1
+ IL_021c: add
+ IL_021d: call void ?Function1_43@@YAXH@Z(int32)
+ IL_0222: ldloc.0
+ IL_0223: ldc.i4 0x1
+ IL_0228: add
+ IL_0229: call void ?Function1_44@@YAXH@Z(int32)
+ IL_022e: ldloc.0
+ IL_022f: ldc.i4 0x1
+ IL_0234: add
+ IL_0235: call void ?Function1_45@@YAXH@Z(int32)
+ IL_023a: ldloc.0
+ IL_023b: ldc.i4 0x1
+ IL_0240: add
+ IL_0241: call void ?Function1_46@@YAXH@Z(int32)
+ IL_0246: ldloc.0
+ IL_0247: ldc.i4 0x1
+ IL_024c: add
+ IL_024d: call void ?Function1_47@@YAXH@Z(int32)
+ IL_0252: ldloc.0
+ IL_0253: ldc.i4 0x1
+ IL_0258: add
+ IL_0259: call void ?Function1_48@@YAXH@Z(int32)
+ IL_025e: ldloc.0
+ IL_025f: ldc.i4 0x1
+ IL_0264: add
+ IL_0265: call void ?Function1_49@@YAXH@Z(int32)
+ IL_026a: ldloc.0
+ IL_026b: ldc.i4 0x1
+ IL_0270: add
+ IL_0271: call void ?Function1_50@@YAXH@Z(int32)
+ IL_0276: ldloc.0
+ IL_0277: ldc.i4 0x1
+ IL_027c: add
+ IL_027d: call void ?Function1_51@@YAXH@Z(int32)
+ IL_0282: ldloc.0
+ IL_0283: ldc.i4 0x1
+ IL_0288: add
+ IL_0289: call void ?Function1_52@@YAXH@Z(int32)
+ IL_028e: ldloc.0
+ IL_028f: ldc.i4 0x1
+ IL_0294: add
+ IL_0295: call void ?Function1_53@@YAXH@Z(int32)
+ IL_029a: ldloc.0
+ IL_029b: ldc.i4 0x1
+ IL_02a0: add
+ IL_02a1: call void ?Function1_54@@YAXH@Z(int32)
+ IL_02a6: ldloc.0
+ IL_02a7: ldc.i4 0x1
+ IL_02ac: add
+ IL_02ad: call void ?Function1_55@@YAXH@Z(int32)
+ IL_02b2: ldloc.0
+ IL_02b3: ldc.i4 0x1
+ IL_02b8: add
+ IL_02b9: call void ?Function1_56@@YAXH@Z(int32)
+ IL_02be: ldloc.0
+ IL_02bf: ldc.i4 0x1
+ IL_02c4: add
+ IL_02c5: call void ?Function1_57@@YAXH@Z(int32)
+ IL_02ca: ldloc.0
+ IL_02cb: ldc.i4 0x1
+ IL_02d0: add
+ IL_02d1: call void ?Function1_58@@YAXH@Z(int32)
+ IL_02d6: ldloc.0
+ IL_02d7: ldc.i4 0x1
+ IL_02dc: add
+ IL_02dd: call void ?Function1_59@@YAXH@Z(int32)
+ IL_02e2: ldloc.0
+ IL_02e3: ldc.i4 0x1
+ IL_02e8: add
+ IL_02e9: call void ?Function1_60@@YAXH@Z(int32)
+ IL_02ee: ldloc.0
+ IL_02ef: ldc.i4 0x1
+ IL_02f4: add
+ IL_02f5: call void ?Function1_61@@YAXH@Z(int32)
+ IL_02fa: ldloc.0
+ IL_02fb: ldc.i4 0x1
+ IL_0300: add
+ IL_0301: call void ?Function1_62@@YAXH@Z(int32)
+ IL_0306: ldloc.0
+ IL_0307: ldc.i4 0x1
+ IL_030c: add
+ IL_030d: call void ?Function1_63@@YAXH@Z(int32)
+ IL_0312: ldloc.0
+ IL_0313: ldc.i4 0x1
+ IL_0318: add
+ IL_0319: call void ?Function1_64@@YAXH@Z(int32)
+ IL_031e: ldloc.0
+ IL_031f: ldc.i4 0x1
+ IL_0324: add
+ IL_0325: call void ?Function1_65@@YAXH@Z(int32)
+ IL_032a: ldloc.0
+ IL_032b: ldc.i4 0x1
+ IL_0330: add
+ IL_0331: call void ?Function1_66@@YAXH@Z(int32)
+ IL_0336: ldloc.0
+ IL_0337: ldc.i4 0x1
+ IL_033c: add
+ IL_033d: call void ?Function1_67@@YAXH@Z(int32)
+ IL_0342: ldloc.0
+ IL_0343: ldc.i4 0x1
+ IL_0348: add
+ IL_0349: call void ?Function1_68@@YAXH@Z(int32)
+ IL_034e: ldloc.0
+ IL_034f: ldc.i4 0x1
+ IL_0354: add
+ IL_0355: call void ?Function1_69@@YAXH@Z(int32)
+ IL_035a: ldloc.0
+ IL_035b: ldc.i4 0x1
+ IL_0360: add
+ IL_0361: call void ?Function1_70@@YAXH@Z(int32)
+ IL_0366: ldloc.0
+ IL_0367: ldc.i4 0x1
+ IL_036c: add
+ IL_036d: call void ?Function1_71@@YAXH@Z(int32)
+ IL_0372: ldloc.0
+ IL_0373: ldc.i4 0x1
+ IL_0378: add
+ IL_0379: call void ?Function1_72@@YAXH@Z(int32)
+ IL_037e: ldloc.0
+ IL_037f: ldc.i4 0x1
+ IL_0384: add
+ IL_0385: call void ?Function1_73@@YAXH@Z(int32)
+ IL_038a: ldloc.0
+ IL_038b: ldc.i4 0x1
+ IL_0390: add
+ IL_0391: call void ?Function1_74@@YAXH@Z(int32)
+ IL_0396: ldloc.0
+ IL_0397: ldc.i4 0x1
+ IL_039c: add
+ IL_039d: call void ?Function1_75@@YAXH@Z(int32)
+ IL_03a2: ldloc.0
+ IL_03a3: ldc.i4 0x1
+ IL_03a8: add
+ IL_03a9: call void ?Function1_76@@YAXH@Z(int32)
+ IL_03ae: ldloc.0
+ IL_03af: ldc.i4 0x1
+ IL_03b4: add
+ IL_03b5: call void ?Function1_77@@YAXH@Z(int32)
+ IL_03ba: ldloc.0
+ IL_03bb: ldc.i4 0x1
+ IL_03c0: add
+ IL_03c1: call void ?Function1_78@@YAXH@Z(int32)
+ IL_03c6: ldloc.0
+ IL_03c7: ldc.i4 0x1
+ IL_03cc: add
+ IL_03cd: call void ?Function1_79@@YAXH@Z(int32)
+ IL_03d2: ldloc.0
+ IL_03d3: ldc.i4 0x1
+ IL_03d8: add
+ IL_03d9: call void ?Function1_80@@YAXH@Z(int32)
+ IL_03de: ldloc.0
+ IL_03df: ldc.i4 0x1
+ IL_03e4: add
+ IL_03e5: call void ?Function1_81@@YAXH@Z(int32)
+ IL_03ea: ldloc.0
+ IL_03eb: ldc.i4 0x1
+ IL_03f0: add
+ IL_03f1: call void ?Function1_82@@YAXH@Z(int32)
+ IL_03f6: ldloc.0
+ IL_03f7: ldc.i4 0x1
+ IL_03fc: add
+ IL_03fd: call void ?Function1_83@@YAXH@Z(int32)
+ IL_0402: ldloc.0
+ IL_0403: ldc.i4 0x1
+ IL_0408: add
+ IL_0409: call void ?Function1_84@@YAXH@Z(int32)
+ IL_040e: ldloc.0
+ IL_040f: ldc.i4 0x1
+ IL_0414: add
+ IL_0415: call void ?Function1_85@@YAXH@Z(int32)
+ IL_041a: ldloc.0
+ IL_041b: ldc.i4 0x1
+ IL_0420: add
+ IL_0421: call void ?Function1_86@@YAXH@Z(int32)
+ IL_0426: ldloc.0
+ IL_0427: ldc.i4 0x1
+ IL_042c: add
+ IL_042d: call void ?Function1_87@@YAXH@Z(int32)
+ IL_0432: ldloc.0
+ IL_0433: ldc.i4 0x1
+ IL_0438: add
+ IL_0439: call void ?Function1_88@@YAXH@Z(int32)
+ IL_043e: ldloc.0
+ IL_043f: ldc.i4 0x1
+ IL_0444: add
+ IL_0445: call void ?Function1_89@@YAXH@Z(int32)
+ IL_044a: ldloc.0
+ IL_044b: ldc.i4 0x1
+ IL_0450: add
+ IL_0451: call void ?Function1_90@@YAXH@Z(int32)
+ IL_0456: ldloc.0
+ IL_0457: ldc.i4 0x1
+ IL_045c: add
+ IL_045d: call void ?Function1_91@@YAXH@Z(int32)
+ IL_0462: ldloc.0
+ IL_0463: ldc.i4 0x1
+ IL_0468: add
+ IL_0469: call void ?Function1_92@@YAXH@Z(int32)
+ IL_046e: ldloc.0
+ IL_046f: ldc.i4 0x1
+ IL_0474: add
+ IL_0475: call void ?Function1_93@@YAXH@Z(int32)
+ IL_047a: ldloc.0
+ IL_047b: ldc.i4 0x1
+ IL_0480: add
+ IL_0481: call void ?Function1_94@@YAXH@Z(int32)
+ IL_0486: ldloc.0
+ IL_0487: ldc.i4 0x1
+ IL_048c: add
+ IL_048d: call void ?Function1_95@@YAXH@Z(int32)
+ IL_0492: ldloc.0
+ IL_0493: ldc.i4 0x1
+ IL_0498: add
+ IL_0499: call void ?Function1_96@@YAXH@Z(int32)
+ IL_049e: ldloc.0
+ IL_049f: ldc.i4 0x1
+ IL_04a4: add
+ IL_04a5: call void ?Function1_97@@YAXH@Z(int32)
+ IL_04aa: ldloc.0
+ IL_04ab: ldc.i4 0x1
+ IL_04b0: add
+ IL_04b1: call void ?Function1_98@@YAXH@Z(int32)
+ IL_04b6: ldloc.0
+ IL_04b7: ldc.i4 0x1
+ IL_04bc: add
+ IL_04bd: call void ?Function1_99@@YAXH@Z(int32)
+ IL_04c2: ldloc.0
+ IL_04c3: ldc.i4 0x1
+ IL_04c8: add
+ IL_04c9: call void ?Function1_100@@YAXH@Z(int32)
+ IL_04ce: ldloc.0
+ IL_04cf: ldc.i4 0x1
+ IL_04d4: add
+ IL_04d5: call void ?Function1_1@@YAXH@Z(int32)
+ IL_04da: ldloc.0
+ IL_04db: ldc.i4 0x1
+ IL_04e0: add
+ IL_04e1: call void ?Function1_2@@YAXH@Z(int32)
+ IL_04e6: ldloc.0
+ IL_04e7: ldc.i4 0x1
+ IL_04ec: add
+ IL_04ed: call void ?Function1_3@@YAXH@Z(int32)
+ IL_04f2: ldloc.0
+ IL_04f3: ldc.i4 0x1
+ IL_04f8: add
+ IL_04f9: call void ?Function1_4@@YAXH@Z(int32)
+ IL_04fe: ldloc.0
+ IL_04ff: ldc.i4 0x1
+ IL_0504: add
+ IL_0505: call void ?Function1_5@@YAXH@Z(int32)
+ IL_050a: ldloc.0
+ IL_050b: ldc.i4 0x1
+ IL_0510: add
+ IL_0511: call void ?Function1_6@@YAXH@Z(int32)
+ IL_0516: ldloc.0
+ IL_0517: ldc.i4 0x1
+ IL_051c: add
+ IL_051d: call void ?Function1_7@@YAXH@Z(int32)
+ IL_0522: ldloc.0
+ IL_0523: ldc.i4 0x1
+ IL_0528: add
+ IL_0529: call void ?Function1_8@@YAXH@Z(int32)
+ IL_052e: ldloc.0
+ IL_052f: ldc.i4 0x1
+ IL_0534: add
+ IL_0535: call void ?Function1_9@@YAXH@Z(int32)
+ IL_053a: ldloc.0
+ IL_053b: ldc.i4 0x1
+ IL_0540: add
+ IL_0541: call void ?Function1_10@@YAXH@Z(int32)
+ IL_0546: ldloc.0
+ IL_0547: ldc.i4 0x1
+ IL_054c: add
+ IL_054d: call void ?Function1_11@@YAXH@Z(int32)
+ IL_0552: ldloc.0
+ IL_0553: ldc.i4 0x1
+ IL_0558: add
+ IL_0559: call void ?Function1_12@@YAXH@Z(int32)
+ IL_055e: ldloc.0
+ IL_055f: ldc.i4 0x1
+ IL_0564: add
+ IL_0565: call void ?Function1_13@@YAXH@Z(int32)
+ IL_056a: ldloc.0
+ IL_056b: ldc.i4 0x1
+ IL_0570: add
+ IL_0571: call void ?Function1_14@@YAXH@Z(int32)
+ IL_0576: ldloc.0
+ IL_0577: ldc.i4 0x1
+ IL_057c: add
+ IL_057d: call void ?Function1_15@@YAXH@Z(int32)
+ IL_0582: ldloc.0
+ IL_0583: ldc.i4 0x1
+ IL_0588: add
+ IL_0589: call void ?Function1_16@@YAXH@Z(int32)
+ IL_058e: ldloc.0
+ IL_058f: ldc.i4 0x1
+ IL_0594: add
+ IL_0595: call void ?Function1_17@@YAXH@Z(int32)
+ IL_059a: ldloc.0
+ IL_059b: ldc.i4 0x1
+ IL_05a0: add
+ IL_05a1: call void ?Function1_18@@YAXH@Z(int32)
+ IL_05a6: ldloc.0
+ IL_05a7: ldc.i4 0x1
+ IL_05ac: add
+ IL_05ad: call void ?Function1_19@@YAXH@Z(int32)
+ IL_05b2: ldloc.0
+ IL_05b3: ldc.i4 0x1
+ IL_05b8: add
+ IL_05b9: call void ?Function1_20@@YAXH@Z(int32)
+ IL_05be: ldloc.0
+ IL_05bf: ldc.i4 0x1
+ IL_05c4: add
+ IL_05c5: call void ?Function1_21@@YAXH@Z(int32)
+ IL_05ca: ldloc.0
+ IL_05cb: ldc.i4 0x1
+ IL_05d0: add
+ IL_05d1: call void ?Function1_22@@YAXH@Z(int32)
+ IL_05d6: ldloc.0
+ IL_05d7: ldc.i4 0x1
+ IL_05dc: add
+ IL_05dd: call void ?Function1_23@@YAXH@Z(int32)
+ IL_05e2: ldloc.0
+ IL_05e3: ldc.i4 0x1
+ IL_05e8: add
+ IL_05e9: call void ?Function1_24@@YAXH@Z(int32)
+ IL_05ee: ldloc.0
+ IL_05ef: ldc.i4 0x1
+ IL_05f4: add
+ IL_05f5: call void ?Function1_25@@YAXH@Z(int32)
+ IL_05fa: ldloc.0
+ IL_05fb: ldc.i4 0x1
+ IL_0600: add
+ IL_0601: call void ?Function1_26@@YAXH@Z(int32)
+ IL_0606: ldloc.0
+ IL_0607: ldc.i4 0x1
+ IL_060c: add
+ IL_060d: call void ?Function1_27@@YAXH@Z(int32)
+ IL_0612: ldloc.0
+ IL_0613: ldc.i4 0x1
+ IL_0618: add
+ IL_0619: call void ?Function1_28@@YAXH@Z(int32)
+ IL_061e: ldloc.0
+ IL_061f: ldc.i4 0x1
+ IL_0624: add
+ IL_0625: call void ?Function1_29@@YAXH@Z(int32)
+ IL_062a: ldloc.0
+ IL_062b: ldc.i4 0x1
+ IL_0630: add
+ IL_0631: call void ?Function1_30@@YAXH@Z(int32)
+ IL_0636: ldloc.0
+ IL_0637: ldc.i4 0x1
+ IL_063c: add
+ IL_063d: call void ?Function1_31@@YAXH@Z(int32)
+ IL_0642: ldloc.0
+ IL_0643: ldc.i4 0x1
+ IL_0648: add
+ IL_0649: call void ?Function1_32@@YAXH@Z(int32)
+ IL_064e: ldloc.0
+ IL_064f: ldc.i4 0x1
+ IL_0654: add
+ IL_0655: call void ?Function1_33@@YAXH@Z(int32)
+ IL_065a: ldloc.0
+ IL_065b: ldc.i4 0x1
+ IL_0660: add
+ IL_0661: call void ?Function1_34@@YAXH@Z(int32)
+ IL_0666: ldloc.0
+ IL_0667: ldc.i4 0x1
+ IL_066c: add
+ IL_066d: call void ?Function1_35@@YAXH@Z(int32)
+ IL_0672: ldloc.0
+ IL_0673: ldc.i4 0x1
+ IL_0678: add
+ IL_0679: call void ?Function1_36@@YAXH@Z(int32)
+ IL_067e: ldloc.0
+ IL_067f: ldc.i4 0x1
+ IL_0684: add
+ IL_0685: call void ?Function1_37@@YAXH@Z(int32)
+ IL_068a: ldloc.0
+ IL_068b: ldc.i4 0x1
+ IL_0690: add
+ IL_0691: call void ?Function1_38@@YAXH@Z(int32)
+ IL_0696: ldloc.0
+ IL_0697: ldc.i4 0x1
+ IL_069c: add
+ IL_069d: call void ?Function1_39@@YAXH@Z(int32)
+ IL_06a2: ldloc.0
+ IL_06a3: ldc.i4 0x1
+ IL_06a8: add
+ IL_06a9: call void ?Function1_40@@YAXH@Z(int32)
+ IL_06ae: ldloc.0
+ IL_06af: ldc.i4 0x1
+ IL_06b4: add
+ IL_06b5: call void ?Function1_41@@YAXH@Z(int32)
+ IL_06ba: ldloc.0
+ IL_06bb: ldc.i4 0x1
+ IL_06c0: add
+ IL_06c1: call void ?Function1_42@@YAXH@Z(int32)
+ IL_06c6: ldloc.0
+ IL_06c7: ldc.i4 0x1
+ IL_06cc: add
+ IL_06cd: call void ?Function1_43@@YAXH@Z(int32)
+ IL_06d2: ldloc.0
+ IL_06d3: ldc.i4 0x1
+ IL_06d8: add
+ IL_06d9: call void ?Function1_44@@YAXH@Z(int32)
+ IL_06de: ldloc.0
+ IL_06df: ldc.i4 0x1
+ IL_06e4: add
+ IL_06e5: call void ?Function1_45@@YAXH@Z(int32)
+ IL_06ea: ldloc.0
+ IL_06eb: ldc.i4 0x1
+ IL_06f0: add
+ IL_06f1: call void ?Function1_46@@YAXH@Z(int32)
+ IL_06f6: ldloc.0
+ IL_06f7: ldc.i4 0x1
+ IL_06fc: add
+ IL_06fd: call void ?Function1_47@@YAXH@Z(int32)
+ IL_0702: ldloc.0
+ IL_0703: ldc.i4 0x1
+ IL_0708: add
+ IL_0709: call void ?Function1_48@@YAXH@Z(int32)
+ IL_070e: ldloc.0
+ IL_070f: ldc.i4 0x1
+ IL_0714: add
+ IL_0715: call void ?Function1_49@@YAXH@Z(int32)
+ IL_071a: ldloc.0
+ IL_071b: ldc.i4 0x1
+ IL_0720: add
+ IL_0721: call void ?Function1_50@@YAXH@Z(int32)
+ IL_0726: ldloc.0
+ IL_0727: ldc.i4 0x1
+ IL_072c: add
+ IL_072d: call void ?Function1_51@@YAXH@Z(int32)
+ IL_0732: ldloc.0
+ IL_0733: ldc.i4 0x1
+ IL_0738: add
+ IL_0739: call void ?Function1_52@@YAXH@Z(int32)
+ IL_073e: ldloc.0
+ IL_073f: ldc.i4 0x1
+ IL_0744: add
+ IL_0745: call void ?Function1_53@@YAXH@Z(int32)
+ IL_074a: ldloc.0
+ IL_074b: ldc.i4 0x1
+ IL_0750: add
+ IL_0751: call void ?Function1_54@@YAXH@Z(int32)
+ IL_0756: ldloc.0
+ IL_0757: ldc.i4 0x1
+ IL_075c: add
+ IL_075d: call void ?Function1_55@@YAXH@Z(int32)
+ IL_0762: ldloc.0
+ IL_0763: ldc.i4 0x1
+ IL_0768: add
+ IL_0769: call void ?Function1_56@@YAXH@Z(int32)
+ IL_076e: ldloc.0
+ IL_076f: ldc.i4 0x1
+ IL_0774: add
+ IL_0775: call void ?Function1_57@@YAXH@Z(int32)
+ IL_077a: ldloc.0
+ IL_077b: ldc.i4 0x1
+ IL_0780: add
+ IL_0781: call void ?Function1_58@@YAXH@Z(int32)
+ IL_0786: ldloc.0
+ IL_0787: ldc.i4 0x1
+ IL_078c: add
+ IL_078d: call void ?Function1_59@@YAXH@Z(int32)
+ IL_0792: ldloc.0
+ IL_0793: ldc.i4 0x1
+ IL_0798: add
+ IL_0799: call void ?Function1_60@@YAXH@Z(int32)
+ IL_079e: ldloc.0
+ IL_079f: ldc.i4 0x1
+ IL_07a4: add
+ IL_07a5: call void ?Function1_61@@YAXH@Z(int32)
+ IL_07aa: ldloc.0
+ IL_07ab: ldc.i4 0x1
+ IL_07b0: add
+ IL_07b1: call void ?Function1_62@@YAXH@Z(int32)
+ IL_07b6: ldloc.0
+ IL_07b7: ldc.i4 0x1
+ IL_07bc: add
+ IL_07bd: call void ?Function1_63@@YAXH@Z(int32)
+ IL_07c2: ldloc.0
+ IL_07c3: ldc.i4 0x1
+ IL_07c8: add
+ IL_07c9: call void ?Function1_64@@YAXH@Z(int32)
+ IL_07ce: ldloc.0
+ IL_07cf: ldc.i4 0x1
+ IL_07d4: add
+ IL_07d5: call void ?Function1_65@@YAXH@Z(int32)
+ IL_07da: ldloc.0
+ IL_07db: ldc.i4 0x1
+ IL_07e0: add
+ IL_07e1: call void ?Function1_66@@YAXH@Z(int32)
+ IL_07e6: ldloc.0
+ IL_07e7: ldc.i4 0x1
+ IL_07ec: add
+ IL_07ed: call void ?Function1_67@@YAXH@Z(int32)
+ IL_07f2: ldloc.0
+ IL_07f3: ldc.i4 0x1
+ IL_07f8: add
+ IL_07f9: call void ?Function1_68@@YAXH@Z(int32)
+ IL_07fe: ldloc.0
+ IL_07ff: ldc.i4 0x1
+ IL_0804: add
+ IL_0805: call void ?Function1_69@@YAXH@Z(int32)
+ IL_080a: ldloc.0
+ IL_080b: ldc.i4 0x1
+ IL_0810: add
+ IL_0811: call void ?Function1_70@@YAXH@Z(int32)
+ IL_0816: ldloc.0
+ IL_0817: ldc.i4 0x1
+ IL_081c: add
+ IL_081d: call void ?Function1_71@@YAXH@Z(int32)
+ IL_0822: ldloc.0
+ IL_0823: ldc.i4 0x1
+ IL_0828: add
+ IL_0829: call void ?Function1_72@@YAXH@Z(int32)
+ IL_082e: ldloc.0
+ IL_082f: ldc.i4 0x1
+ IL_0834: add
+ IL_0835: call void ?Function1_73@@YAXH@Z(int32)
+ IL_083a: ldloc.0
+ IL_083b: ldc.i4 0x1
+ IL_0840: add
+ IL_0841: call void ?Function1_74@@YAXH@Z(int32)
+ IL_0846: ldloc.0
+ IL_0847: ldc.i4 0x1
+ IL_084c: add
+ IL_084d: call void ?Function1_75@@YAXH@Z(int32)
+ IL_0852: ldloc.0
+ IL_0853: ldc.i4 0x1
+ IL_0858: add
+ IL_0859: call void ?Function1_76@@YAXH@Z(int32)
+ IL_085e: ldloc.0
+ IL_085f: ldc.i4 0x1
+ IL_0864: add
+ IL_0865: call void ?Function1_77@@YAXH@Z(int32)
+ IL_086a: ldloc.0
+ IL_086b: ldc.i4 0x1
+ IL_0870: add
+ IL_0871: call void ?Function1_78@@YAXH@Z(int32)
+ IL_0876: ldloc.0
+ IL_0877: ldc.i4 0x1
+ IL_087c: add
+ IL_087d: call void ?Function1_79@@YAXH@Z(int32)
+ IL_0882: ldloc.0
+ IL_0883: ldc.i4 0x1
+ IL_0888: add
+ IL_0889: call void ?Function1_80@@YAXH@Z(int32)
+ IL_088e: ldloc.0
+ IL_088f: ldc.i4 0x1
+ IL_0894: add
+ IL_0895: call void ?Function1_81@@YAXH@Z(int32)
+ IL_089a: ldloc.0
+ IL_089b: ldc.i4 0x1
+ IL_08a0: add
+ IL_08a1: call void ?Function1_82@@YAXH@Z(int32)
+ IL_08a6: ldloc.0
+ IL_08a7: ldc.i4 0x1
+ IL_08ac: add
+ IL_08ad: call void ?Function1_83@@YAXH@Z(int32)
+ IL_08b2: ldloc.0
+ IL_08b3: ldc.i4 0x1
+ IL_08b8: add
+ IL_08b9: call void ?Function1_84@@YAXH@Z(int32)
+ IL_08be: ldloc.0
+ IL_08bf: ldc.i4 0x1
+ IL_08c4: add
+ IL_08c5: call void ?Function1_85@@YAXH@Z(int32)
+ IL_08ca: ldloc.0
+ IL_08cb: ldc.i4 0x1
+ IL_08d0: add
+ IL_08d1: call void ?Function1_86@@YAXH@Z(int32)
+ IL_08d6: ldloc.0
+ IL_08d7: ldc.i4 0x1
+ IL_08dc: add
+ IL_08dd: call void ?Function1_87@@YAXH@Z(int32)
+ IL_08e2: ldloc.0
+ IL_08e3: ldc.i4 0x1
+ IL_08e8: add
+ IL_08e9: call void ?Function1_88@@YAXH@Z(int32)
+ IL_08ee: ldloc.0
+ IL_08ef: ldc.i4 0x1
+ IL_08f4: add
+ IL_08f5: call void ?Function1_89@@YAXH@Z(int32)
+ IL_08fa: ldloc.0
+ IL_08fb: ldc.i4 0x1
+ IL_0900: add
+ IL_0901: call void ?Function1_90@@YAXH@Z(int32)
+ IL_0906: ldloc.0
+ IL_0907: ldc.i4 0x1
+ IL_090c: add
+ IL_090d: call void ?Function1_91@@YAXH@Z(int32)
+ IL_0912: ldloc.0
+ IL_0913: ldc.i4 0x1
+ IL_0918: add
+ IL_0919: call void ?Function1_92@@YAXH@Z(int32)
+ IL_091e: ldloc.0
+ IL_091f: ldc.i4 0x1
+ IL_0924: add
+ IL_0925: call void ?Function1_93@@YAXH@Z(int32)
+ IL_092a: ldloc.0
+ IL_092b: ldc.i4 0x1
+ IL_0930: add
+ IL_0931: call void ?Function1_94@@YAXH@Z(int32)
+ IL_0936: ldloc.0
+ IL_0937: ldc.i4 0x1
+ IL_093c: add
+ IL_093d: call void ?Function1_95@@YAXH@Z(int32)
+ IL_0942: ldloc.0
+ IL_0943: ldc.i4 0x1
+ IL_0948: add
+ IL_0949: call void ?Function1_96@@YAXH@Z(int32)
+ IL_094e: ldloc.0
+ IL_094f: ldc.i4 0x1
+ IL_0954: add
+ IL_0955: call void ?Function1_97@@YAXH@Z(int32)
+ IL_095a: ldloc.0
+ IL_095b: ldc.i4 0x1
+ IL_0960: add
+ IL_0961: call void ?Function1_98@@YAXH@Z(int32)
+ IL_0966: ldloc.0
+ IL_0967: ldc.i4 0x1
+ IL_096c: add
+ IL_096d: call void ?Function1_99@@YAXH@Z(int32)
+ IL_0972: ldloc.0
+ IL_0973: ldc.i4 0x1
+ IL_0978: add
+ IL_0979: call void ?Function1_100@@YAXH@Z(int32)
+ IL_097e: ldloc.0
+ IL_097f: ldc.i4 0x1
+ IL_0984: add
+ IL_0985: call void ?Function1_1@@YAXH@Z(int32)
+ IL_098a: ldloc.0
+ IL_098b: ldc.i4 0x1
+ IL_0990: add
+ IL_0991: call void ?Function1_2@@YAXH@Z(int32)
+ IL_0996: ldloc.0
+ IL_0997: ldc.i4 0x1
+ IL_099c: add
+ IL_099d: call void ?Function1_3@@YAXH@Z(int32)
+ IL_09a2: ldloc.0
+ IL_09a3: ldc.i4 0x1
+ IL_09a8: add
+ IL_09a9: call void ?Function1_4@@YAXH@Z(int32)
+ IL_09ae: ldloc.0
+ IL_09af: ldc.i4 0x1
+ IL_09b4: add
+ IL_09b5: call void ?Function1_5@@YAXH@Z(int32)
+ IL_09ba: ldloc.0
+ IL_09bb: ldc.i4 0x1
+ IL_09c0: add
+ IL_09c1: call void ?Function1_6@@YAXH@Z(int32)
+ IL_09c6: ldloc.0
+ IL_09c7: ldc.i4 0x1
+ IL_09cc: add
+ IL_09cd: call void ?Function1_7@@YAXH@Z(int32)
+ IL_09d2: ldloc.0
+ IL_09d3: ldc.i4 0x1
+ IL_09d8: add
+ IL_09d9: call void ?Function1_8@@YAXH@Z(int32)
+ IL_09de: ldloc.0
+ IL_09df: ldc.i4 0x1
+ IL_09e4: add
+ IL_09e5: call void ?Function1_9@@YAXH@Z(int32)
+ IL_09ea: ldloc.0
+ IL_09eb: ldc.i4 0x1
+ IL_09f0: add
+ IL_09f1: call void ?Function1_10@@YAXH@Z(int32)
+ IL_09f6: ldloc.0
+ IL_09f7: ldc.i4 0x1
+ IL_09fc: add
+ IL_09fd: call void ?Function1_11@@YAXH@Z(int32)
+ IL_0a02: ldloc.0
+ IL_0a03: ldc.i4 0x1
+ IL_0a08: add
+ IL_0a09: call void ?Function1_12@@YAXH@Z(int32)
+ IL_0a0e: ldloc.0
+ IL_0a0f: ldc.i4 0x1
+ IL_0a14: add
+ IL_0a15: call void ?Function1_13@@YAXH@Z(int32)
+ IL_0a1a: ldloc.0
+ IL_0a1b: ldc.i4 0x1
+ IL_0a20: add
+ IL_0a21: call void ?Function1_14@@YAXH@Z(int32)
+ IL_0a26: ldloc.0
+ IL_0a27: ldc.i4 0x1
+ IL_0a2c: add
+ IL_0a2d: call void ?Function1_15@@YAXH@Z(int32)
+ IL_0a32: ldloc.0
+ IL_0a33: ldc.i4 0x1
+ IL_0a38: add
+ IL_0a39: call void ?Function1_16@@YAXH@Z(int32)
+ IL_0a3e: ldloc.0
+ IL_0a3f: ldc.i4 0x1
+ IL_0a44: add
+ IL_0a45: call void ?Function1_17@@YAXH@Z(int32)
+ IL_0a4a: ldloc.0
+ IL_0a4b: ldc.i4 0x1
+ IL_0a50: add
+ IL_0a51: call void ?Function1_18@@YAXH@Z(int32)
+ IL_0a56: ldloc.0
+ IL_0a57: ldc.i4 0x1
+ IL_0a5c: add
+ IL_0a5d: call void ?Function1_19@@YAXH@Z(int32)
+ IL_0a62: ldloc.0
+ IL_0a63: ldc.i4 0x1
+ IL_0a68: add
+ IL_0a69: call void ?Function1_20@@YAXH@Z(int32)
+ IL_0a6e: ldloc.0
+ IL_0a6f: ldc.i4 0x1
+ IL_0a74: add
+ IL_0a75: call void ?Function1_21@@YAXH@Z(int32)
+ IL_0a7a: ldloc.0
+ IL_0a7b: ldc.i4 0x1
+ IL_0a80: add
+ IL_0a81: call void ?Function1_22@@YAXH@Z(int32)
+ IL_0a86: ldloc.0
+ IL_0a87: ldc.i4 0x1
+ IL_0a8c: add
+ IL_0a8d: call void ?Function1_23@@YAXH@Z(int32)
+ IL_0a92: ldloc.0
+ IL_0a93: ldc.i4 0x1
+ IL_0a98: add
+ IL_0a99: call void ?Function1_24@@YAXH@Z(int32)
+ IL_0a9e: ldloc.0
+ IL_0a9f: ldc.i4 0x1
+ IL_0aa4: add
+ IL_0aa5: call void ?Function1_25@@YAXH@Z(int32)
+ IL_0aaa: ldloc.0
+ IL_0aab: ldc.i4 0x1
+ IL_0ab0: add
+ IL_0ab1: call void ?Function1_26@@YAXH@Z(int32)
+ IL_0ab6: ldloc.0
+ IL_0ab7: ldc.i4 0x1
+ IL_0abc: add
+ IL_0abd: call void ?Function1_27@@YAXH@Z(int32)
+ IL_0ac2: ldloc.0
+ IL_0ac3: ldc.i4 0x1
+ IL_0ac8: add
+ IL_0ac9: call void ?Function1_28@@YAXH@Z(int32)
+ IL_0ace: ldloc.0
+ IL_0acf: ldc.i4 0x1
+ IL_0ad4: add
+ IL_0ad5: call void ?Function1_29@@YAXH@Z(int32)
+ IL_0ada: ldloc.0
+ IL_0adb: ldc.i4 0x1
+ IL_0ae0: add
+ IL_0ae1: call void ?Function1_30@@YAXH@Z(int32)
+ IL_0ae6: ldloc.0
+ IL_0ae7: ldc.i4 0x1
+ IL_0aec: add
+ IL_0aed: call void ?Function1_31@@YAXH@Z(int32)
+ IL_0af2: ldloc.0
+ IL_0af3: ldc.i4 0x1
+ IL_0af8: add
+ IL_0af9: call void ?Function1_32@@YAXH@Z(int32)
+ IL_0afe: ldloc.0
+ IL_0aff: ldc.i4 0x1
+ IL_0b04: add
+ IL_0b05: call void ?Function1_33@@YAXH@Z(int32)
+ IL_0b0a: ldloc.0
+ IL_0b0b: ldc.i4 0x1
+ IL_0b10: add
+ IL_0b11: call void ?Function1_34@@YAXH@Z(int32)
+ IL_0b16: ldloc.0
+ IL_0b17: ldc.i4 0x1
+ IL_0b1c: add
+ IL_0b1d: call void ?Function1_35@@YAXH@Z(int32)
+ IL_0b22: ldloc.0
+ IL_0b23: ldc.i4 0x1
+ IL_0b28: add
+ IL_0b29: call void ?Function1_36@@YAXH@Z(int32)
+ IL_0b2e: ldloc.0
+ IL_0b2f: ldc.i4 0x1
+ IL_0b34: add
+ IL_0b35: call void ?Function1_37@@YAXH@Z(int32)
+ IL_0b3a: ldloc.0
+ IL_0b3b: ldc.i4 0x1
+ IL_0b40: add
+ IL_0b41: call void ?Function1_38@@YAXH@Z(int32)
+ IL_0b46: ldloc.0
+ IL_0b47: ldc.i4 0x1
+ IL_0b4c: add
+ IL_0b4d: call void ?Function1_39@@YAXH@Z(int32)
+ IL_0b52: ldloc.0
+ IL_0b53: ldc.i4 0x1
+ IL_0b58: add
+ IL_0b59: call void ?Function1_40@@YAXH@Z(int32)
+ IL_0b5e: ldloc.0
+ IL_0b5f: ldc.i4 0x1
+ IL_0b64: add
+ IL_0b65: call void ?Function1_41@@YAXH@Z(int32)
+ IL_0b6a: ldloc.0
+ IL_0b6b: ldc.i4 0x1
+ IL_0b70: add
+ IL_0b71: call void ?Function1_42@@YAXH@Z(int32)
+ IL_0b76: ldloc.0
+ IL_0b77: ldc.i4 0x1
+ IL_0b7c: add
+ IL_0b7d: call void ?Function1_43@@YAXH@Z(int32)
+ IL_0b82: ldloc.0
+ IL_0b83: ldc.i4 0x1
+ IL_0b88: add
+ IL_0b89: call void ?Function1_44@@YAXH@Z(int32)
+ IL_0b8e: ldloc.0
+ IL_0b8f: ldc.i4 0x1
+ IL_0b94: add
+ IL_0b95: call void ?Function1_45@@YAXH@Z(int32)
+ IL_0b9a: ldloc.0
+ IL_0b9b: ldc.i4 0x1
+ IL_0ba0: add
+ IL_0ba1: call void ?Function1_46@@YAXH@Z(int32)
+ IL_0ba6: ldloc.0
+ IL_0ba7: ldc.i4 0x1
+ IL_0bac: add
+ IL_0bad: call void ?Function1_47@@YAXH@Z(int32)
+ IL_0bb2: ldloc.0
+ IL_0bb3: ldc.i4 0x1
+ IL_0bb8: add
+ IL_0bb9: call void ?Function1_48@@YAXH@Z(int32)
+ IL_0bbe: ldloc.0
+ IL_0bbf: ldc.i4 0x1
+ IL_0bc4: add
+ IL_0bc5: call void ?Function1_49@@YAXH@Z(int32)
+ IL_0bca: ldloc.0
+ IL_0bcb: ldc.i4 0x1
+ IL_0bd0: add
+ IL_0bd1: call void ?Function1_50@@YAXH@Z(int32)
+ IL_0bd6: ldloc.0
+ IL_0bd7: ldc.i4 0x1
+ IL_0bdc: add
+ IL_0bdd: call void ?Function1_51@@YAXH@Z(int32)
+ IL_0be2: ldloc.0
+ IL_0be3: ldc.i4 0x1
+ IL_0be8: add
+ IL_0be9: call void ?Function1_52@@YAXH@Z(int32)
+ IL_0bee: ldloc.0
+ IL_0bef: ldc.i4 0x1
+ IL_0bf4: add
+ IL_0bf5: call void ?Function1_53@@YAXH@Z(int32)
+ IL_0bfa: ldloc.0
+ IL_0bfb: ldc.i4 0x1
+ IL_0c00: add
+ IL_0c01: call void ?Function1_54@@YAXH@Z(int32)
+ IL_0c06: ldloc.0
+ IL_0c07: ldc.i4 0x1
+ IL_0c0c: add
+ IL_0c0d: call void ?Function1_55@@YAXH@Z(int32)
+ IL_0c12: ldloc.0
+ IL_0c13: ldc.i4 0x1
+ IL_0c18: add
+ IL_0c19: call void ?Function1_56@@YAXH@Z(int32)
+ IL_0c1e: ldloc.0
+ IL_0c1f: ldc.i4 0x1
+ IL_0c24: add
+ IL_0c25: call void ?Function1_57@@YAXH@Z(int32)
+ IL_0c2a: ldloc.0
+ IL_0c2b: ldc.i4 0x1
+ IL_0c30: add
+ IL_0c31: call void ?Function1_58@@YAXH@Z(int32)
+ IL_0c36: ldloc.0
+ IL_0c37: ldc.i4 0x1
+ IL_0c3c: add
+ IL_0c3d: call void ?Function1_59@@YAXH@Z(int32)
+ IL_0c42: ldloc.0
+ IL_0c43: ldc.i4 0x1
+ IL_0c48: add
+ IL_0c49: call void ?Function1_60@@YAXH@Z(int32)
+ IL_0c4e: ldloc.0
+ IL_0c4f: ldc.i4 0x1
+ IL_0c54: add
+ IL_0c55: call void ?Function1_61@@YAXH@Z(int32)
+ IL_0c5a: ldloc.0
+ IL_0c5b: ldc.i4 0x1
+ IL_0c60: add
+ IL_0c61: call void ?Function1_62@@YAXH@Z(int32)
+ IL_0c66: ldloc.0
+ IL_0c67: ldc.i4 0x1
+ IL_0c6c: add
+ IL_0c6d: call void ?Function1_63@@YAXH@Z(int32)
+ IL_0c72: ldloc.0
+ IL_0c73: ldc.i4 0x1
+ IL_0c78: add
+ IL_0c79: call void ?Function1_64@@YAXH@Z(int32)
+ IL_0c7e: ldloc.0
+ IL_0c7f: ldc.i4 0x1
+ IL_0c84: add
+ IL_0c85: call void ?Function1_65@@YAXH@Z(int32)
+ IL_0c8a: ldloc.0
+ IL_0c8b: ldc.i4 0x1
+ IL_0c90: add
+ IL_0c91: call void ?Function1_66@@YAXH@Z(int32)
+ IL_0c96: ldloc.0
+ IL_0c97: ldc.i4 0x1
+ IL_0c9c: add
+ IL_0c9d: call void ?Function1_67@@YAXH@Z(int32)
+ IL_0ca2: ldloc.0
+ IL_0ca3: ldc.i4 0x1
+ IL_0ca8: add
+ IL_0ca9: call void ?Function1_68@@YAXH@Z(int32)
+ IL_0cae: ldloc.0
+ IL_0caf: ldc.i4 0x1
+ IL_0cb4: add
+ IL_0cb5: call void ?Function1_69@@YAXH@Z(int32)
+ IL_0cba: ldloc.0
+ IL_0cbb: ldc.i4 0x1
+ IL_0cc0: add
+ IL_0cc1: call void ?Function1_70@@YAXH@Z(int32)
+ IL_0cc6: ldloc.0
+ IL_0cc7: ldc.i4 0x1
+ IL_0ccc: add
+ IL_0ccd: call void ?Function1_71@@YAXH@Z(int32)
+ IL_0cd2: ldloc.0
+ IL_0cd3: ldc.i4 0x1
+ IL_0cd8: add
+ IL_0cd9: call void ?Function1_72@@YAXH@Z(int32)
+ IL_0cde: ldloc.0
+ IL_0cdf: ldc.i4 0x1
+ IL_0ce4: add
+ IL_0ce5: call void ?Function1_73@@YAXH@Z(int32)
+ IL_0cea: ldloc.0
+ IL_0ceb: ldc.i4 0x1
+ IL_0cf0: add
+ IL_0cf1: call void ?Function1_74@@YAXH@Z(int32)
+ IL_0cf6: ldloc.0
+ IL_0cf7: ldc.i4 0x1
+ IL_0cfc: add
+ IL_0cfd: call void ?Function1_75@@YAXH@Z(int32)
+ IL_0d02: ldloc.0
+ IL_0d03: ldc.i4 0x1
+ IL_0d08: add
+ IL_0d09: call void ?Function1_76@@YAXH@Z(int32)
+ IL_0d0e: ldloc.0
+ IL_0d0f: ldc.i4 0x1
+ IL_0d14: add
+ IL_0d15: call void ?Function1_77@@YAXH@Z(int32)
+ IL_0d1a: ldloc.0
+ IL_0d1b: ldc.i4 0x1
+ IL_0d20: add
+ IL_0d21: call void ?Function1_78@@YAXH@Z(int32)
+ IL_0d26: ldloc.0
+ IL_0d27: ldc.i4 0x1
+ IL_0d2c: add
+ IL_0d2d: call void ?Function1_79@@YAXH@Z(int32)
+ IL_0d32: ldloc.0
+ IL_0d33: ldc.i4 0x1
+ IL_0d38: add
+ IL_0d39: call void ?Function1_80@@YAXH@Z(int32)
+ IL_0d3e: ldloc.0
+ IL_0d3f: ldc.i4 0x1
+ IL_0d44: add
+ IL_0d45: call void ?Function1_81@@YAXH@Z(int32)
+ IL_0d4a: ldloc.0
+ IL_0d4b: ldc.i4 0x1
+ IL_0d50: add
+ IL_0d51: call void ?Function1_82@@YAXH@Z(int32)
+ IL_0d56: ldloc.0
+ IL_0d57: ldc.i4 0x1
+ IL_0d5c: add
+ IL_0d5d: call void ?Function1_83@@YAXH@Z(int32)
+ IL_0d62: ldloc.0
+ IL_0d63: ldc.i4 0x1
+ IL_0d68: add
+ IL_0d69: call void ?Function1_84@@YAXH@Z(int32)
+ IL_0d6e: ldloc.0
+ IL_0d6f: ldc.i4 0x1
+ IL_0d74: add
+ IL_0d75: call void ?Function1_85@@YAXH@Z(int32)
+ IL_0d7a: ldloc.0
+ IL_0d7b: ldc.i4 0x1
+ IL_0d80: add
+ IL_0d81: call void ?Function1_86@@YAXH@Z(int32)
+ IL_0d86: ldloc.0
+ IL_0d87: ldc.i4 0x1
+ IL_0d8c: add
+ IL_0d8d: call void ?Function1_87@@YAXH@Z(int32)
+ IL_0d92: ldloc.0
+ IL_0d93: ldc.i4 0x1
+ IL_0d98: add
+ IL_0d99: call void ?Function1_88@@YAXH@Z(int32)
+ IL_0d9e: ldloc.0
+ IL_0d9f: ldc.i4 0x1
+ IL_0da4: add
+ IL_0da5: call void ?Function1_89@@YAXH@Z(int32)
+ IL_0daa: ldloc.0
+ IL_0dab: ldc.i4 0x1
+ IL_0db0: add
+ IL_0db1: call void ?Function1_90@@YAXH@Z(int32)
+ IL_0db6: ldloc.0
+ IL_0db7: ldc.i4 0x1
+ IL_0dbc: add
+ IL_0dbd: call void ?Function1_91@@YAXH@Z(int32)
+ IL_0dc2: ldloc.0
+ IL_0dc3: ldc.i4 0x1
+ IL_0dc8: add
+ IL_0dc9: call void ?Function1_92@@YAXH@Z(int32)
+ IL_0dce: ldloc.0
+ IL_0dcf: ldc.i4 0x1
+ IL_0dd4: add
+ IL_0dd5: call void ?Function1_93@@YAXH@Z(int32)
+ IL_0dda: ldloc.0
+ IL_0ddb: ldc.i4 0x1
+ IL_0de0: add
+ IL_0de1: call void ?Function1_94@@YAXH@Z(int32)
+ IL_0de6: ldloc.0
+ IL_0de7: ldc.i4 0x1
+ IL_0dec: add
+ IL_0ded: call void ?Function1_95@@YAXH@Z(int32)
+ IL_0df2: ldloc.0
+ IL_0df3: ldc.i4 0x1
+ IL_0df8: add
+ IL_0df9: call void ?Function1_96@@YAXH@Z(int32)
+ IL_0dfe: ldloc.0
+ IL_0dff: ldc.i4 0x1
+ IL_0e04: add
+ IL_0e05: call void ?Function1_97@@YAXH@Z(int32)
+ IL_0e0a: ldloc.0
+ IL_0e0b: ldc.i4 0x1
+ IL_0e10: add
+ IL_0e11: call void ?Function1_98@@YAXH@Z(int32)
+ IL_0e16: ldloc.0
+ IL_0e17: ldc.i4 0x1
+ IL_0e1c: add
+ IL_0e1d: call void ?Function1_99@@YAXH@Z(int32)
+ IL_0e22: ldloc.0
+ IL_0e23: ldc.i4 0x1
+ IL_0e28: add
+ IL_0e29: call void ?Function1_100@@YAXH@Z(int32)
+ IL_0e2e: br IL_000b
+
+ IL_0e33: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0e38: ldstr "Mutualrecur test passed"
+ IL_0e3d:
+ IL_0e42: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_0e47: ldc.i4 0x64
+ IL_0e4c: ret
+}
diff --git a/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.ilproj b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.ilproj
new file mode 100644
index 0000000000..93b3b1329c
--- /dev/null
+++ b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/MutualRecur-TailCall.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="MutualRecur-TailCall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/app.config b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/app.config
index 6f7bbd9d2b..6f7bbd9d2b 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/app.config
+++ b/tests/src/JIT/Directed/IL/mutualrecur-tailcall/app.config
diff --git a/tests/src/JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.il b/tests/src/JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.il
new file mode 100644
index 0000000000..43edc53a63
--- /dev/null
+++ b/tests/src/JIT/Directed/Misc/function_pointer/MutualThdRecur-fptr.il
@@ -0,0 +1,3055 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly mutualthdrecurfptr
+{
+}
+
+.class public auto ansi Thread_EA
+{
+ .method public static void Dispatch(method explicit instance void *(int32), int32)
+ {
+ .maxstack 8
+ ldarg 1
+ ldarg 0
+ calli void (int32)
+ ret
+ }
+
+ .method public instance void Run() il managed
+ {
+ .maxstack 3
+ .locals (int32 i)
+
+ IL_0000: ldc.i4 0x1
+ IL_0005: stloc.0
+ ldftn void ?Function1_1@@YAXH@Z(int32)
+ IL_0006: ldloc.0
+ IL_0007: ldc.i4 0x1
+ IL_000c: add
+ call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0019: ldftn void ?Function1_2@@YAXH@Z(int32)
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x1
+ IL_0018: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0025: ldftn void ?Function1_3@@YAXH@Z(int32)
+ IL_001e: ldloc.0
+ IL_001f: ldc.i4 0x1
+ IL_0024: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0031: ldftn void ?Function1_4@@YAXH@Z(int32)
+ IL_002a: ldloc.0
+ IL_002b: ldc.i4 0x1
+ IL_0030: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ldftn void ?Function1_5@@YAXH@Z(int32)
+ IL_0036: ldloc.0
+ IL_0037: ldc.i4 0x1
+ IL_003c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0049: ldftn void ?Function1_6@@YAXH@Z(int32)
+ IL_0042: ldloc.0
+ IL_0043: ldc.i4 0x1
+ IL_0048: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0055: ldftn void ?Function1_7@@YAXH@Z(int32)
+ IL_004e: ldloc.0
+ IL_004f: ldc.i4 0x1
+ IL_0054: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0061: ldftn void ?Function1_8@@YAXH@Z(int32)
+ IL_005a: ldloc.0
+ IL_005b: ldc.i4 0x1
+ IL_0060: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_006d: ldftn void ?Function1_9@@YAXH@Z(int32)
+ IL_0066: ldloc.0
+ IL_0067: ldc.i4 0x1
+ IL_006c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0079: ldftn void ?Function1_10@@YAXH@Z(int32)
+ IL_0072: ldloc.0
+ IL_0073: ldc.i4 0x1
+ IL_0078: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0085: ldftn void ?Function1_11@@YAXH@Z(int32)
+ IL_007e: ldloc.0
+ IL_007f: ldc.i4 0x1
+ IL_0084: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0091: ldftn void ?Function1_12@@YAXH@Z(int32)
+ IL_008a: ldloc.0
+ IL_008b: ldc.i4 0x1
+ IL_0090: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_009d: ldftn void ?Function1_13@@YAXH@Z(int32)
+ IL_0096: ldloc.0
+ IL_0097: ldc.i4 0x1
+ IL_009c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00a9: ldftn void ?Function1_14@@YAXH@Z(int32)
+ IL_00a2: ldloc.0
+ IL_00a3: ldc.i4 0x1
+ IL_00a8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00b5: ldftn void ?Function1_15@@YAXH@Z(int32)
+ IL_00ae: ldloc.0
+ IL_00af: ldc.i4 0x1
+ IL_00b4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00c1: ldftn void ?Function1_16@@YAXH@Z(int32)
+ IL_00ba: ldloc.0
+ IL_00bb: ldc.i4 0x1
+ IL_00c0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00cd: ldftn void ?Function1_17@@YAXH@Z(int32)
+ IL_00c6: ldloc.0
+ IL_00c7: ldc.i4 0x1
+ IL_00cc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00d9: ldftn void ?Function1_18@@YAXH@Z(int32)
+ IL_00d2: ldloc.0
+ IL_00d3: ldc.i4 0x1
+ IL_00d8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00e5: ldftn void ?Function1_19@@YAXH@Z(int32)
+ IL_00de: ldloc.0
+ IL_00df: ldc.i4 0x1
+ IL_00e4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00f1: ldftn void ?Function1_20@@YAXH@Z(int32)
+ IL_00ea: ldloc.0
+ IL_00eb: ldc.i4 0x1
+ IL_00f0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_00fd: ldftn void ?Function1_21@@YAXH@Z(int32)
+ IL_00f6: ldloc.0
+ IL_00f7: ldc.i4 0x1
+ IL_00fc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0109: ldftn void ?Function1_22@@YAXH@Z(int32)
+ IL_0102: ldloc.0
+ IL_0103: ldc.i4 0x1
+ IL_0108: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0115: ldftn void ?Function1_23@@YAXH@Z(int32)
+ IL_010e: ldloc.0
+ IL_010f: ldc.i4 0x1
+ IL_0114: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0121: ldftn void ?Function1_24@@YAXH@Z(int32)
+ IL_011a: ldloc.0
+ IL_011b: ldc.i4 0x1
+ IL_0120: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_012d: ldftn void ?Function1_25@@YAXH@Z(int32)
+ IL_0126: ldloc.0
+ IL_0127: ldc.i4 0x1
+ IL_012c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0139: ldftn void ?Function1_26@@YAXH@Z(int32)
+ IL_0132: ldloc.0
+ IL_0133: ldc.i4 0x1
+ IL_0138: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0145: ldftn void ?Function1_27@@YAXH@Z(int32)
+ IL_013e: ldloc.0
+ IL_013f: ldc.i4 0x1
+ IL_0144: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0151: ldftn void ?Function1_28@@YAXH@Z(int32)
+ IL_014a: ldloc.0
+ IL_014b: ldc.i4 0x1
+ IL_0150: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_015d: ldftn void ?Function1_29@@YAXH@Z(int32)
+ IL_0156: ldloc.0
+ IL_0157: ldc.i4 0x1
+ IL_015c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0169: ldftn void ?Function1_30@@YAXH@Z(int32)
+ IL_0162: ldloc.0
+ IL_0163: ldc.i4 0x1
+ IL_0168: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0175: ldftn void ?Function1_31@@YAXH@Z(int32)
+ IL_016e: ldloc.0
+ IL_016f: ldc.i4 0x1
+ IL_0174: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0181: ldftn void ?Function1_32@@YAXH@Z(int32)
+ IL_017a: ldloc.0
+ IL_017b: ldc.i4 0x1
+ IL_0180: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_018d: ldftn void ?Function1_33@@YAXH@Z(int32)
+ IL_0186: ldloc.0
+ IL_0187: ldc.i4 0x1
+ IL_018c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0199: ldftn void ?Function1_34@@YAXH@Z(int32)
+ IL_0192: ldloc.0
+ IL_0193: ldc.i4 0x1
+ IL_0198: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01a5: ldftn void ?Function1_35@@YAXH@Z(int32)
+ IL_019e: ldloc.0
+ IL_019f: ldc.i4 0x1
+ IL_01a4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01b1: ldftn void ?Function1_36@@YAXH@Z(int32)
+ IL_01aa: ldloc.0
+ IL_01ab: ldc.i4 0x1
+ IL_01b0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01bd: ldftn void ?Function1_37@@YAXH@Z(int32)
+ IL_01b6: ldloc.0
+ IL_01b7: ldc.i4 0x1
+ IL_01bc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01c9: ldftn void ?Function1_38@@YAXH@Z(int32)
+ IL_01c2: ldloc.0
+ IL_01c3: ldc.i4 0x1
+ IL_01c8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01d5: ldftn void ?Function1_39@@YAXH@Z(int32)
+ IL_01ce: ldloc.0
+ IL_01cf: ldc.i4 0x1
+ IL_01d4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01e1: ldftn void ?Function1_40@@YAXH@Z(int32)
+ IL_01da: ldloc.0
+ IL_01db: ldc.i4 0x1
+ IL_01e0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01ed: ldftn void ?Function1_41@@YAXH@Z(int32)
+ IL_01e6: ldloc.0
+ IL_01e7: ldc.i4 0x1
+ IL_01ec: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_01f9: ldftn void ?Function1_42@@YAXH@Z(int32)
+ IL_01f2: ldloc.0
+ IL_01f3: ldc.i4 0x1
+ IL_01f8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0205: ldftn void ?Function1_43@@YAXH@Z(int32)
+ IL_01fe: ldloc.0
+ IL_01ff: ldc.i4 0x1
+ IL_0204: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0211: ldftn void ?Function1_44@@YAXH@Z(int32)
+ IL_020a: ldloc.0
+ IL_020b: ldc.i4 0x1
+ IL_0210: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_021d: ldftn void ?Function1_45@@YAXH@Z(int32)
+ IL_0216: ldloc.0
+ IL_0217: ldc.i4 0x1
+ IL_021c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0229: ldftn void ?Function1_46@@YAXH@Z(int32)
+ IL_0222: ldloc.0
+ IL_0223: ldc.i4 0x1
+ IL_0228: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0235: ldftn void ?Function1_47@@YAXH@Z(int32)
+ IL_022e: ldloc.0
+ IL_022f: ldc.i4 0x1
+ IL_0234: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0241: ldftn void ?Function1_48@@YAXH@Z(int32)
+ IL_023a: ldloc.0
+ IL_023b: ldc.i4 0x1
+ IL_0240: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_024d: ldftn void ?Function1_49@@YAXH@Z(int32)
+ IL_0246: ldloc.0
+ IL_0247: ldc.i4 0x1
+ IL_024c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0259: ldftn void ?Function1_50@@YAXH@Z(int32)
+ IL_0252: ldloc.0
+ IL_0253: ldc.i4 0x1
+ IL_0258: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0265: ldftn void ?Function1_51@@YAXH@Z(int32)
+ IL_025e: ldloc.0
+ IL_025f: ldc.i4 0x1
+ IL_0264: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0271: ldftn void ?Function1_52@@YAXH@Z(int32)
+ IL_026a: ldloc.0
+ IL_026b: ldc.i4 0x1
+ IL_0270: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_027d: ldftn void ?Function1_53@@YAXH@Z(int32)
+ IL_0276: ldloc.0
+ IL_0277: ldc.i4 0x1
+ IL_027c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0289: ldftn void ?Function1_54@@YAXH@Z(int32)
+ IL_0282: ldloc.0
+ IL_0283: ldc.i4 0x1
+ IL_0288: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0295: ldftn void ?Function1_55@@YAXH@Z(int32)
+ IL_028e: ldloc.0
+ IL_028f: ldc.i4 0x1
+ IL_0294: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02a1: ldftn void ?Function1_56@@YAXH@Z(int32)
+ IL_029a: ldloc.0
+ IL_029b: ldc.i4 0x1
+ IL_02a0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02ad: ldftn void ?Function1_57@@YAXH@Z(int32)
+ IL_02a6: ldloc.0
+ IL_02a7: ldc.i4 0x1
+ IL_02ac: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02b9: ldftn void ?Function1_58@@YAXH@Z(int32)
+ IL_02b2: ldloc.0
+ IL_02b3: ldc.i4 0x1
+ IL_02b8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02c5: ldftn void ?Function1_59@@YAXH@Z(int32)
+ IL_02be: ldloc.0
+ IL_02bf: ldc.i4 0x1
+ IL_02c4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02d1: ldftn void ?Function1_60@@YAXH@Z(int32)
+ IL_02ca: ldloc.0
+ IL_02cb: ldc.i4 0x1
+ IL_02d0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02dd: ldftn void ?Function1_61@@YAXH@Z(int32)
+ IL_02d6: ldloc.0
+ IL_02d7: ldc.i4 0x1
+ IL_02dc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02e9: ldftn void ?Function1_62@@YAXH@Z(int32)
+ IL_02e2: ldloc.0
+ IL_02e3: ldc.i4 0x1
+ IL_02e8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_02f5: ldftn void ?Function1_63@@YAXH@Z(int32)
+ IL_02ee: ldloc.0
+ IL_02ef: ldc.i4 0x1
+ IL_02f4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0301: ldftn void ?Function1_64@@YAXH@Z(int32)
+ IL_02fa: ldloc.0
+ IL_02fb: ldc.i4 0x1
+ IL_0300: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_030d: ldftn void ?Function1_65@@YAXH@Z(int32)
+ IL_0306: ldloc.0
+ IL_0307: ldc.i4 0x1
+ IL_030c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0319: ldftn void ?Function1_66@@YAXH@Z(int32)
+ IL_0312: ldloc.0
+ IL_0313: ldc.i4 0x1
+ IL_0318: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0325: ldftn void ?Function1_67@@YAXH@Z(int32)
+ IL_031e: ldloc.0
+ IL_031f: ldc.i4 0x1
+ IL_0324: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0331: ldftn void ?Function1_68@@YAXH@Z(int32)
+ IL_032a: ldloc.0
+ IL_032b: ldc.i4 0x1
+ IL_0330: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_033d: ldftn void ?Function1_69@@YAXH@Z(int32)
+ IL_0336: ldloc.0
+ IL_0337: ldc.i4 0x1
+ IL_033c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0349: ldftn void ?Function1_70@@YAXH@Z(int32)
+ IL_0342: ldloc.0
+ IL_0343: ldc.i4 0x1
+ IL_0348: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0355: ldftn void ?Function1_1@@YAXH@Z(int32)
+ IL_034e: ldloc.0
+ IL_034f: ldc.i4 0x1
+ IL_0354: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0361: ldftn void ?Function1_2@@YAXH@Z(int32)
+ IL_035a: ldloc.0
+ IL_035b: ldc.i4 0x1
+ IL_0360: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_036d: ldftn void ?Function1_3@@YAXH@Z(int32)
+ IL_0366: ldloc.0
+ IL_0367: ldc.i4 0x1
+ IL_036c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0379: ldftn void ?Function1_4@@YAXH@Z(int32)
+ IL_0372: ldloc.0
+ IL_0373: ldc.i4 0x1
+ IL_0378: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0385: ldftn void ?Function1_5@@YAXH@Z(int32)
+ IL_037e: ldloc.0
+ IL_037f: ldc.i4 0x1
+ IL_0384: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0391: ldftn void ?Function1_6@@YAXH@Z(int32)
+ IL_038a: ldloc.0
+ IL_038b: ldc.i4 0x1
+ IL_0390: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_039d: ldftn void ?Function1_7@@YAXH@Z(int32)
+ IL_0396: ldloc.0
+ IL_0397: ldc.i4 0x1
+ IL_039c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03a9: ldftn void ?Function1_8@@YAXH@Z(int32)
+ IL_03a2: ldloc.0
+ IL_03a3: ldc.i4 0x1
+ IL_03a8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03b5: ldftn void ?Function1_9@@YAXH@Z(int32)
+ IL_03ae: ldloc.0
+ IL_03af: ldc.i4 0x1
+ IL_03b4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03c1: ldftn void ?Function1_10@@YAXH@Z(int32)
+ IL_03ba: ldloc.0
+ IL_03bb: ldc.i4 0x1
+ IL_03c0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03cd: ldftn void ?Function1_11@@YAXH@Z(int32)
+ IL_03c6: ldloc.0
+ IL_03c7: ldc.i4 0x1
+ IL_03cc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03d9: ldftn void ?Function1_12@@YAXH@Z(int32)
+ IL_03d2: ldloc.0
+ IL_03d3: ldc.i4 0x1
+ IL_03d8: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03e5: ldftn void ?Function1_13@@YAXH@Z(int32)
+ IL_03de: ldloc.0
+ IL_03df: ldc.i4 0x1
+ IL_03e4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03f1: ldftn void ?Function1_14@@YAXH@Z(int32)
+ IL_03ea: ldloc.0
+ IL_03eb: ldc.i4 0x1
+ IL_03f0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_03fd: ldftn void ?Function1_15@@YAXH@Z(int32)
+ IL_03f6: ldloc.0
+ IL_03f7: ldc.i4 0x1
+ IL_03fc: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0409: ldftn void ?Function1_16@@YAXH@Z(int32)
+ IL_0402: ldloc.0
+ IL_0403: ldc.i4 0x1
+ IL_0408: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0415: ldftn void ?Function1_17@@YAXH@Z(int32)
+ IL_040e: ldloc.0
+ IL_040f: ldc.i4 0x1
+ IL_0414: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0421: ldftn void ?Function1_18@@YAXH@Z(int32)
+ IL_041a: ldloc.0
+ IL_041b: ldc.i4 0x1
+ IL_0420: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_042d: ldftn void ?Function1_19@@YAXH@Z(int32)
+ IL_0426: ldloc.0
+ IL_0427: ldc.i4 0x1
+ IL_042c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0439: ldftn void ?Function1_20@@YAXH@Z(int32)
+ IL_0432: ldloc.0
+ IL_0433: ldc.i4 0x1
+ IL_0438: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0445: ldftn void ?Function1_21@@YAXH@Z(int32)
+ IL_043e: ldloc.0
+ IL_043f: ldc.i4 0x1
+ IL_0444: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0451: ldftn void ?Function1_22@@YAXH@Z(int32)
+ IL_044a: ldloc.0
+ IL_044b: ldc.i4 0x1
+ IL_0450: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_045d: ldftn void ?Function1_23@@YAXH@Z(int32)
+ IL_0456: ldloc.0
+ IL_0457: ldc.i4 0x1
+ IL_045c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0469: ldftn void ?Function1_24@@YAXH@Z(int32)
+ IL_0462: ldloc.0
+ IL_0463: ldc.i4 0x1
+ IL_0468: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0475: ldftn void ?Function1_25@@YAXH@Z(int32)
+ IL_046e: ldloc.0
+ IL_046f: ldc.i4 0x1
+ IL_0474: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0481: ldftn void ?Function1_26@@YAXH@Z(int32)
+ IL_047a: ldloc.0
+ IL_047b: ldc.i4 0x1
+ IL_0480: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_048d: ldftn void ?Function1_27@@YAXH@Z(int32)
+ IL_0486: ldloc.0
+ IL_0487: ldc.i4 0x1
+ IL_048c: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_0499: ldftn void ?Function1_28@@YAXH@Z(int32)
+ IL_0492: ldloc.0
+ IL_0493: ldc.i4 0x1
+ IL_0498: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_04a5: ldftn void ?Function1_29@@YAXH@Z(int32)
+ IL_049e: ldloc.0
+ IL_049f: ldc.i4 0x1
+ IL_04a4: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_04b1: ldftn void ?Function1_30@@YAXH@Z(int32)
+ IL_04aa: ldloc.0
+ IL_04ab: ldc.i4 0x1
+ IL_04b0: add
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_04b6: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_04bb: ldstr "on thread finished"
+ IL_04c0:
+
+ IL_04c5: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_04ca: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 1
+
+ IL_0000: ldarg.0
+
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class value sealed public explicit ansi $MultiByte$42
+{
+ .pack 1
+ .size 42
+}
+
+.class value sealed public explicit ansi $MultiByte$26
+{
+ .pack 1
+ .size 26
+}
+
+.class value sealed public explicit ansi $MultiByte$54
+{
+ .pack 1
+ .size 54
+}
+
+.class value sealed public explicit ansi $MultiByte$0
+{
+ .pack 1
+ .size 0
+}
+
+.method public static void ?Function1_1@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ret
+}
+
+.method public static void ?Function1_2@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_1@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+ call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_3@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_2@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_4@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_3@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_5@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_4@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_6@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_5@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_7@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_6@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_8@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_7@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_9@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_8@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_10@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_9@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_11@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_10@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_12@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_11@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_13@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_12@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_14@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_13@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_15@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_14@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_16@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_15@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_17@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_16@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_18@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_17@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_19@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_18@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_20@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_19@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_21@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_20@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_22@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_21@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_23@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_22@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_24@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_23@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_25@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_24@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_26@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_25@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_27@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_26@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_28@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_27@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_29@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_28@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_30@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_29@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_31@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_30@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_32@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_31@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_33@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_32@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_34@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_33@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_35@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_34@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_36@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_35@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_37@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_36@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_38@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+
+ IL_0038: ldftn void ?Function1_37@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_39@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_38@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_40@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_39@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_41@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_40@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_42@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_41@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_43@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_42@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_44@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_43@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_45@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_44@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_46@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_45@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_47@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_46@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_48@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_47@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_49@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_48@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_50@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_49@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_51@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_50@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_52@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_51@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_53@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_52@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_54@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_53@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_55@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_54@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_56@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_55@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_57@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_56@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_58@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_57@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_59@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_58@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_60@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_59@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_61@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_60@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_62@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_61@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_63@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_62@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_64@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_63@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_65@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_64@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_66@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_65@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_67@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_66@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_68@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_67@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_69@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_68@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_70@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0038: ldftn void ?Function1_69@@YAXH@Z(int32)
+ IL_0037: ldarg.0
+call void Thread_EA::Dispatch(method explicit instance void *(int32), int32)
+ IL_003d: ret
+}
+
+.method public static int32 main() il managed
+{
+ .maxstack 4
+ .entrypoint
+ .locals (class [mscorlib]System.Threading.Thread[] thrd,
+ class Thread_EA ThdObj,
+ int32 V_2)
+
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+call class [mscorlib]System.IO.TextWriter [mscorlib]System.IO.TextWriter::Synchronized(class [mscorlib]System.IO.TextWriter)
+call void [System.Console]System.Console::SetOut(class [mscorlib]System.IO.TextWriter)
+
+ IL_0000: ldc.i4 0xa
+ IL_0005: newarr [mscorlib]System.Threading.Thread
+ IL_000a: stloc.0
+ IL_000b: newobj instance void Thread_EA::.ctor()
+ IL_0010: stloc.1
+ IL_0011: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0016: ldstr "test started"
+ IL_001b:
+ IL_0020: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_0025: ldc.i4 0x0
+ IL_002a: stloc.2
+ IL_002b: br IL_0038
+
+ IL_0030: ldloc.2
+ IL_0031: ldc.i4 0x1
+ IL_0036: add
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4 0xa
+ IL_003e: bge IL_0064
+
+ IL_0043: ldloc.0
+ IL_0044: ldloc.2
+ IL_0045: ldloc.1
+ IL_0046: ldftn instance void Thread_EA::Run()
+ IL_004c: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
+ IL_0051: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0056: stelem.ref
+ IL_0057: ldloc.0
+ IL_0058: ldloc.2
+ IL_0059: ldelem.ref
+ IL_005a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005f: br IL_0030
+
+ IL_0064: ldc.i4 0x0
+ IL_0069: stloc.2
+ IL_006a: br IL_0077
+
+ IL_006f: ldloc.2
+ IL_0070: ldc.i4 0x1
+ IL_0075: add
+ IL_0076: stloc.2
+ IL_0077: ldloc.2
+ IL_0078: ldc.i4 0xa
+ IL_007d: bge IL_008f
+
+ IL_0082: ldloc.0
+ IL_0083: ldloc.2
+ IL_0084: ldelem.ref
+ IL_0085: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_008a: br IL_006f
+
+ IL_008f: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0094: ldstr "mutualthdrecur-fptr done"
+ IL_0099:
+ IL_009e: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_00a3: ldc.i4 0x64
+ IL_00a8: ret
+}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.il
new file mode 100644
index 0000000000..515626378d
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.il
@@ -0,0 +1,138 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'cpobj' {}
+
+.class public _cpobj {
+
+.field public static value class valClass Instance1
+.field public static value class valClass Instance2
+
+.method public static int32 main() {
+.entrypoint
+.locals (class [mscorlib]System.IO.TextWriter)
+.maxstack 2
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ stloc 0
+
+ ldsflda value class valClass _cpobj::Instance1
+ ldc.i4 0x89ABCDEF
+ unaligned. 0x2
+ stfld int32 valClass::Field
+ ldc.i4 0x01234567
+ stsfld int32 valClass::SField
+ ldsflda value class valClass _cpobj::Instance1
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0x89ABCDEF
+ ceq
+ brfalse Init1Failure
+ ldsfld int32 valClass::SField
+ ldc.i4 0x01234567
+ ceq
+ brtrue InitInstance2
+Init1Failure:
+ ldloc 0
+ ldstr "Initialization failure in instance 1"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+InitInstance2:
+ ldsflda value class valClass _cpobj::Instance2
+ ldc.i4 0xABABABAB
+ unaligned. 0x2
+ stfld int32 valClass::Field
+ ldsflda value class valClass _cpobj::Instance2
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0xABABABAB
+ ceq
+ brfalse Init2Failure
+ ldsfld int32 valClass::SField
+ ldc.i4 0x01234567
+ ceq
+ brtrue CheckInst1Field
+Init2Failure:
+ ldloc 0
+ ldstr "Initialization failure in instance 2"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+CheckInst1Field:
+ ldsflda value class valClass _cpobj::Instance1
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0x89ABCDEF
+ ceq
+ brtrue cpobjTests
+ ldloc 0
+ ldstr "Initialization failure in instance 1"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+cpobjTests:
+ ldsflda value class valClass _cpobj::Instance2
+ ldsflda value class valClass _cpobj::Instance1
+ cpobj valClass
+ ldsflda value class valClass _cpobj::Instance1
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0x89ABCDEF
+ ceq
+ brfalse cpobjFailure
+ ldsflda value class valClass _cpobj::Instance2
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0x89ABCDEF
+ ceq
+ brfalse cpobjFailure
+ ldsfld int32 valClass::SField
+ ldc.i4 0x01234567
+ ceq
+ brtrue pass
+
+cpobjFailure:
+ ldloc 0
+ ldstr "_cpobj failed. inst1 fields != inst2 fields"
+
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+pass:
+ ldloc 0
+ ldstr "_cpobj tests PASS"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x64
+ br end
+fail:
+ ldloc 0
+ ldstr "!!! FAILURE !!! CPOBJ TEST(S) HAVE FAILED !!! FAILURE !!!"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x0
+ br end
+end:
+ ret
+}
+
+
+}
+.class public value sealed valClass {
+.field public int32 Field
+.field public static int32 SField
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.ilproj b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.ilproj
index 1f3ea146a3..d1c66d00f7 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.ilproj
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/cpobj.ilproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -11,7 +11,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
</PropertyGroup>
@@ -26,10 +26,9 @@
</CodeAnalysisDependentAssemblyPaths>
</ItemGroup>
<PropertyGroup>
-
</PropertyGroup>
<ItemGroup>
- <Compile Include="b28949a.il" />
+ <Compile Include="cpobj.il" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
@@ -40,4 +39,4 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
<PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
</PropertyGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.il
new file mode 100644
index 0000000000..93c39c6917
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.il
@@ -0,0 +1,129 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'ldobj' {
+ .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
+ }
+
+
+.class public _ldobj {
+
+.method public static int32 main() {
+.entrypoint
+.locals (class [mscorlib]System.IO.TextWriter,value class valClass,value class valClass)
+.maxstack 2
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ stloc 0
+
+ ldloca 1
+ ldc.i4 0xFAFAFAFA
+ unaligned. 0x2
+ stfld int32 valClass::Field
+ ldc.i4 0xDBDBDBDB
+ stsfld int32 valClass::SField
+
+ ldloca 2
+ ldc.i4 0x00000000
+ unaligned. 0x2
+ stfld int32 valClass::Field
+
+ ldloca 1
+ ldfld int32 valClass::Field
+ ldc.i4 0xFAFAFAFA
+ ceq
+ brfalse failInit
+ ldsfld int32 valClass::SField
+ ldc.i4 0xDBDBDBDB
+ ceq
+ brfalse failInit
+ ldloca 2
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0x00000000
+ ceq
+ brtrue ldlocaTest
+failInit:
+ ldloc 0
+ ldstr "one _or both val classes failed initialization."
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+ldlocaTest:
+ ldloca 1
+ unaligned. 0x2
+ ldobj valClass
+
+ ldloca 2
+ call void _ldobj::changeData(value class valClass,value class valClass*)
+
+ ldloca 1
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0xFAFAFAFA
+ ceq
+ brfalse failTest
+ ldloca 2
+ unaligned. 0x2
+ ldfld int32 valClass::Field
+ ldc.i4 0xBBBBBBBB
+ ceq
+ brfalse failTest
+ ldsfld int32 valClass::SField
+ ldc.i4 0xDDDDDDDD
+ ceq
+ brtrue pass
+failTest:
+ ldloc 0
+ ldstr "failure after initialization."
+
+
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+pass:
+ ldloc 0
+ ldstr "_ldobj tests PASS"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x64
+ br end
+fail:
+ ldloc 0
+ ldstr "!!! FAILURE !!! LDOBJ TEST(S) FAILED !!! FAILURE !!!"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x0
+ br end
+end:
+ ret
+}
+
+.method public static void changeData(value class valClass,value class valClass*) {
+.maxstack 2
+ ldarga 0
+ ldc.i4 0xBBBBBBBB
+ unaligned. 0x2
+ stfld int32 valClass::Field
+ ldc.i4 0xDDDDDDDD
+ stsfld int32 valClass::SField
+ ldarg 1
+ ldarga 0
+ cpobj valClass
+ ret
+}
+
+}
+.class public value sealed valClass {
+.field public int32 Field
+.field public static int32 SField
+}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.ilproj b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.ilproj
new file mode 100644
index 0000000000..d36bc0742f
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/ldobj.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldobj.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il b/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il
new file mode 100644
index 0000000000..19dde84c06
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.il
@@ -0,0 +1,145 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'localloc' {
+ .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
+ }
+
+
+
+.class _localloc {
+
+.method void .ctor() {
+
+.maxstack 10
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+}
+
+.method static int32 main(class [mscorlib]System.String[]) {
+.locals (class [mscorlib]System.IO.TextWriter,int32*,int32,class [mscorlib]System.Text.StringBuilder,int32,class [mscorlib]System.String)
+.entrypoint
+//INITIALIZATION
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ stloc 0
+ ldc.i4 0x0
+ stloc 2
+ newobj instance void [mscorlib]System.Text.StringBuilder::.ctor()
+ stloc 3
+
+TryStart:
+//Initialize 256 bytes of memory _and store ptr as loc1
+ ldc.i4 0xFF
+ localloc
+ stloc 1
+
+//Loop through _and fill up all 256 bytes.
+//stick a zero in byte zero, a 1 in byte 1, etc.
+LOOP0:
+ //exit loop if memory is full.
+ ldloc 2
+ ldc.i4 0xFF
+ bgt END0
+
+ //advance to next available mem location
+ ldloc 1
+ ldloc 2
+ add
+
+ //store value of loop counter (loc 2) at the calculated location.
+ ldloc 2
+ conv.i1
+ unaligned. 0x2
+ stind.i1
+
+ //increment out loop counter
+ ldc.i4 0x1
+ ldloc 2
+ add
+ stloc 2
+
+ //loop
+ br LOOP0
+
+END0:
+
+//Loop through _and test all bytes for correctness.
+ //move loop counter back to zero
+ ldc.i4 0x0
+ stloc 2
+
+LOOP1:
+ //If we have moved through all of our memory, PASS
+ ldloc 2
+ ldc.i4 0xFF
+ bgt EXITWITHPASS
+
+ //advance to next mem location
+ ldloc 1
+ ldloc 2
+ add
+
+ //load value at the calculated location.
+ unaligned. 0x2
+ ldind.i1
+
+ //load loop counter _and compare value retrieved from mem.
+ ldloc 2
+ conv.i1
+
+ //if the values are _not equal, imediatly fail.
+ bne.un EXITWITHFAIL
+
+ //increment our loop counter
+ ldc.i4 0x1
+ ldloc 2
+ add
+ stloc 2
+
+ //loop
+ br LOOP1
+
+END1:
+ EXITWITHPASS:
+ leave Pass
+ EXITWITHFAIL:
+ leave Fail
+
+TryEnd:
+ br Pass
+
+Filter:
+ pop
+ ldc.i4 0x1
+ endfilter
+
+Handler:
+ pop
+ leave EndHandler
+EndHandler:
+ br Fail
+
+Pass:
+ ldloc 0
+ ldstr "LOCALLOC Tests PASS"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x64
+ br End
+
+Fail:
+ ldloc 0
+ ldstr "!!!! FAILURE !!!! -- LOCALLOC Tests FAIL -- !!!! FAILURE !!!!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x0
+ br End
+
+End:
+ ret
+.try TryStart to TryEnd filter Filter handler Handler to EndHandler
+}
+}
diff --git a/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.ilproj b/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.ilproj
new file mode 100644
index 0000000000..bfcdf71853
--- /dev/null
+++ b/tests/src/JIT/Directed/PREFIX/unaligned/2/localloc.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="localloc.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/RVAInit/extended.il b/tests/src/JIT/Directed/RVAInit/extended.il
new file mode 100644
index 0000000000..f97a86b9eb
--- /dev/null
+++ b/tests/src/JIT/Directed/RVAInit/extended.il
@@ -0,0 +1,227 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly extended
+{
+}
+.module extended.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+
+.file alignment 512
+
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .field private static unsigned int8 buffer at D_1
+
+ .class explicit ansi sealed nested private '__StaticArrayInitTypeSize=1024'
+ extends [mscorlib]System.ValueType
+ {
+ .pack 1
+ .size 1024
+ }
+
+ .field private static valuetype JitTest.Test/'__StaticArrayInitTypeSize=1024' buffer2 at D_1
+
+ .method public hidebysig static void
+ fillmem(unsigned int8& a) cil managed
+ {
+ .maxstack 2
+ .locals (unsigned int8& pinned V_0,
+ int32 V_1)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: conv.i
+ IL_0004: ldc.i4 0x3ff
+ IL_0009: add
+ IL_000a: ldind.u1
+ IL_000b: ldc.i4.s 123
+ IL_000d: beq.s IL_0015
+
+ IL_000f: newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ IL_0014: throw
+
+ IL_0015: ldc.i4.0
+ IL_0016: stloc.1
+ IL_0017: br.s IL_0024
+
+ IL_0019: ldloc.0
+ IL_001a: conv.i
+ IL_001b: ldloc.1
+ IL_001c: add
+ IL_001d: ldloc.1
+ IL_001e: conv.u1
+ IL_001f: stind.i1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: add
+ IL_0023: stloc.1
+ IL_0024: ldloc.1
+ IL_0025: ldc.i4 0x400
+ IL_002a: blt.s IL_0019
+
+ IL_002c: ldc.i4.0
+ IL_002d: conv.u
+ IL_002e: stloc.0
+ IL_002f: ret
+ }
+
+ .method public hidebysig static void
+ chekmem(unsigned int8& a) cil managed
+ {
+ .maxstack 2
+ .locals (unsigned int8& pinned V_0,
+ int32 V_1)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.0
+ IL_0003: stloc.1
+ IL_0004: br.s IL_0019
+
+ IL_0006: ldloc.0
+ IL_0007: conv.i
+ IL_0008: ldloc.1
+ IL_0009: add
+ IL_000a: ldind.u1
+ IL_000b: ldloc.1
+ IL_000c: conv.u1
+ IL_000d: beq.s IL_0015
+
+ IL_000f: newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ IL_0014: throw
+
+ IL_0015: ldloc.1
+ IL_0016: ldc.i4.1
+ IL_0017: add
+ IL_0018: stloc.1
+ IL_0019: ldloc.1
+ IL_001a: ldc.i4 0x400
+ IL_001f: blt.s IL_0006
+
+ IL_0021: ldc.i4.0
+ IL_0022: conv.u
+ IL_0023: stloc.0
+ IL_0024: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldsfld unsigned int8 JitTest.Test::buffer
+ IL_0005: ldc.i4.s 11
+ IL_0007: beq.s IL_000f
+
+ IL_0009: newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ IL_000e: throw
+
+ IL_000f: ldsflda unsigned int8 JitTest.Test::buffer
+ IL_0014: call void JitTest.Test::fillmem(unsigned int8&)
+ IL_0019: ldsflda unsigned int8 JitTest.Test::buffer
+ IL_001e: call void JitTest.Test::chekmem(unsigned int8&)
+ IL_0023: ldstr "Passed => 100"
+ IL_0028: call void [System.Console]System.Console::WriteLine(string)
+ IL_002d: ldc.i4.s 100
+ IL_002f: stloc.0
+ IL_0030: br.s IL_0032
+
+ IL_0032: ldloc.0
+ IL_0033: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+.data D_1 = bytearray(
+ 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7B
+)
diff --git a/tests/src/JIT/Directed/RVAInit/extended.ilproj b/tests/src/JIT/Directed/RVAInit/extended.ilproj
new file mode 100644
index 0000000000..22cfed7531
--- /dev/null
+++ b/tests/src/JIT/Directed/RVAInit/extended.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="extended.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/RVAInit/overlap.il b/tests/src/JIT/Directed/RVAInit/overlap.il
new file mode 100644
index 0000000000..eb8a9efc0c
--- /dev/null
+++ b/tests/src/JIT/Directed/RVAInit/overlap.il
@@ -0,0 +1,247 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly overlap
+{
+}
+.module overlap.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+
+.file alignment 512
+
+.class private sequential ansi sealed beforefieldinit Test
+ extends [mscorlib]System.ValueType
+{
+ .field public unsigned int32 _uint
+ .field public float64 _double
+ .field public float32 _float
+ .field public unsigned int8 _byte
+ .field public int8 _sbyte
+ .field public int64 _long
+ .field public unsigned int64 _ulong
+ .field public int16 _short
+ .field public unsigned int16 _ushort
+ .field public int32 _int
+ .field public static valuetype Test test1 at D_1
+ .field public static valuetype Test test2 at D_1
+ .method private hidebysig static char hex(unsigned int8 v) cil managed
+ {
+ .maxstack 3
+ .locals (char V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4.s 9
+ IL_0003: bgt.s IL_000b
+
+ IL_0005: ldarg.0
+ IL_0006: ldc.i4.s 48
+ IL_0008: add
+ IL_0009: br.s IL_0012
+
+ IL_000b: ldarg.0
+ IL_000c: ldc.i4.s 10
+ IL_000e: sub
+ IL_000f: ldc.i4.s 65
+ IL_0011: add
+ IL_0012: conv.u2
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0016
+
+ IL_0016: ldloc.0
+ IL_0017: ret
+ }
+
+ .method private hidebysig static void DumpStruct(valuetype Test& test) cil managed
+ {
+ .maxstack 2
+ .locals (valuetype Test& pinned V_0,
+ unsigned int8* V_1,
+ int32 V_2)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldstr ".data D_1 = bytearray( "
+ IL_0007: call void [System.Console]System.Console::Write(string)
+ IL_000c: ldloc.0
+ IL_000d: conv.i
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.0
+ IL_0010: stloc.2
+ IL_0011: br.s IL_0051
+
+ IL_0013: ldloc.1
+ IL_0014: ldloc.2
+ IL_0015: add
+ IL_0016: ldind.u1
+ IL_0017: ldc.i4.4
+ IL_0018: shr
+ IL_0019: conv.u1
+ IL_001a: call char Test::hex(unsigned int8)
+ IL_001f: call void [System.Console]System.Console::Write(char)
+ IL_0024: ldloc.1
+ IL_0025: ldloc.2
+ IL_0026: add
+ IL_0027: ldind.u1
+ IL_0028: ldc.i4.s 15
+ IL_002a: and
+ IL_002b: conv.u1
+ IL_002c: call char Test::hex(unsigned int8)
+ IL_0031: call void [System.Console]System.Console::Write(char)
+ IL_0036: ldstr " "
+ IL_003b: call void [System.Console]System.Console::Write(string)
+ IL_0040: ldloc.2
+ IL_0041: ldc.i4.s 16
+ IL_0043: rem
+ IL_0044: ldc.i4.s 15
+ IL_0046: bne.un.s IL_004d
+
+ IL_0048: call void [System.Console]System.Console::WriteLine()
+ IL_004d: ldloc.2
+ IL_004e: ldc.i4.1
+ IL_004f: add
+ IL_0050: stloc.2
+ IL_0051: ldloc.2
+ IL_0052: sizeof Test
+ IL_0058: blt.s IL_0013
+
+ IL_005a: ldstr " )"
+ IL_005f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0064: ldc.i4.0
+ IL_0065: conv.u
+ IL_0066: stloc.0
+ IL_0067: ret
+ }
+
+ .method private hidebysig static void InitStruct(valuetype Test& test) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4 0xde
+ IL_0006: stfld unsigned int8 Test::_byte
+ IL_000b: ldarg.0
+ IL_000c: ldc.i4.s 111
+ IL_000e: stfld int8 Test::_sbyte
+ IL_0013: ldarg.0
+ IL_0014: ldc.i4 0x3039
+ IL_0019: stfld int16 Test::_short
+ IL_001e: ldarg.0
+ IL_001f: ldc.i4 0xc822
+ IL_0024: stfld unsigned int16 Test::_ushort
+ IL_0029: ldarg.0
+ IL_002a: ldc.i4 0x2134566
+ IL_002f: stfld int32 Test::_int
+ IL_0034: ldarg.0
+ IL_0035: ldc.i4 0x2134566
+ IL_003a: stfld unsigned int32 Test::_uint
+ IL_003f: ldarg.0
+ IL_0040: ldc.i4 0x2134566
+ IL_0045: conv.i8
+ IL_0046: stfld int64 Test::_long
+ IL_004b: ldarg.0
+ IL_004c: ldc.i4 0x2134566
+ IL_0051: conv.i8
+ IL_0052: stfld unsigned int64 Test::_ulong
+ IL_0057: ldarg.0
+ IL_0058: ldc.r4 70.000999
+ IL_005d: stfld float32 Test::_float
+ IL_0062: ldarg.0
+ IL_0063: ldc.r8 80.001999999999995
+ IL_006c: stfld float64 Test::_double
+ IL_0071: ret
+ }
+
+ .method private hidebysig static void VerifyStruct(valuetype Test& test) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldfld unsigned int8 Test::_byte
+ IL_0006: ldc.i4 0xde
+ IL_000b: bne.un.s IL_0087
+
+ IL_000d: ldarg.0
+ IL_000e: ldfld int8 Test::_sbyte
+ IL_0013: conv.i4
+ IL_0014: ldc.i4.s 111
+ IL_0016: bne.un.s IL_0087
+
+ IL_0018: ldarg.0
+ IL_0019: ldfld int16 Test::_short
+ IL_001e: ldc.i4 0x3039
+ IL_0023: bne.un.s IL_0087
+
+ IL_0025: ldarg.0
+ IL_0026: ldfld unsigned int16 Test::_ushort
+ IL_002b: conv.i4
+ IL_002c: ldc.i4 0xc822
+ IL_0031: bne.un.s IL_0087
+
+ IL_0033: ldarg.0
+ IL_0034: ldfld int32 Test::_int
+ IL_0039: ldc.i4 0x2134566
+ IL_003e: bne.un.s IL_0087
+
+ IL_0040: ldarg.0
+ IL_0041: ldfld unsigned int32 Test::_uint
+ IL_0046: ldc.i4 0x2134566
+ IL_004b: bne.un.s IL_0087
+
+ IL_004d: ldarg.0
+ IL_004e: ldfld int64 Test::_long
+ IL_0053: ldc.i4 0x2134566
+ IL_0058: conv.i8
+ IL_0059: bne.un.s IL_0087
+
+ IL_005b: ldarg.0
+ IL_005c: ldfld unsigned int64 Test::_ulong
+ IL_0061: ldc.i4 0x2134566
+ IL_0066: conv.i8
+ IL_0067: bne.un.s IL_0087
+
+ IL_0069: ldarg.0
+ IL_006a: ldfld float32 Test::_float
+ IL_006f: ldc.r4 70.000999
+ IL_0074: bne.un.s IL_0087
+
+ IL_0076: ldarg.0
+ IL_0077: ldfld float64 Test::_double
+ IL_007c: ldc.r8 80.001999999999995
+ IL_0085: beq.s IL_008d
+
+ IL_0087: newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ IL_008c: throw
+
+ IL_008d: ret
+ }
+
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals (int32 V_0)
+ IL_0000: ldsflda valuetype Test Test::test1
+ IL_0005: call void Test::DumpStruct(valuetype Test&)
+ IL_000a: ldsflda valuetype Test Test::test1
+ IL_000f: call void Test::InitStruct(valuetype Test&)
+ IL_0014: ldsflda valuetype Test Test::test2
+ IL_0019: call void Test::VerifyStruct(valuetype Test&)
+ IL_001e: ldc.i4.s 100
+ IL_0020: stloc.0
+ IL_0021: br.s IL_0023
+
+ IL_0023: ldloc.0
+ IL_0024: ret
+ }
+
+}
+.data D_1 = bytearray( 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ ) \ No newline at end of file
diff --git a/tests/src/JIT/Directed/RVAInit/overlap.ilproj b/tests/src/JIT/Directed/RVAInit/overlap.ilproj
new file mode 100644
index 0000000000..61ecb13b28
--- /dev/null
+++ b/tests/src/JIT/Directed/RVAInit/overlap.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="overlap.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.il b/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.il
new file mode 100644
index 0000000000..aae1a1d5e4
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.il
@@ -0,0 +1,79 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 MoveBetweenFilterAndHandler() {
+ .maxstack 2
+
+ .try {
+try_start:
+ ldstr "In try, throwing the first obj"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+
+filter_begin:
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s handler_begin
+ throw
+ ldc.i4.1
+ endfilter
+
+handler_begin:
+ pop
+ ldstr "In handler, should be unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done2
+
+handler_end:
+ } catch [mscorlib]System.Exception {
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done2
+ }
+
+done2:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 0x64
+ ret
+}
+
+
+.method static int32 Main() {
+.entrypoint
+.maxstack 20
+ .try
+ {
+ call int32 MoveBetweenFilterAndHandler()
+ leave FAIL
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ leave PASS
+ }
+
+PASS:
+ ldstr "PASS"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+
+FAIL:
+ ldstr "FAIL"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ ret
+}
diff --git a/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.ilproj b/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.ilproj
new file mode 100644
index 0000000000..9758bb3fd1
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/compiler/FilterToHandler.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="FilterToHandler.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/app.config b/tests/src/JIT/Directed/coverage/compiler/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/app.config
+++ b/tests/src/JIT/Directed/coverage/compiler/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally.il b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally.il
new file mode 100644
index 0000000000..b4c2d7816d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally.il
@@ -0,0 +1,27 @@
+.assembly extern mscorlib {}
+.assembly badendfinally {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static int32 f() noinlining
+{
+endfinally
+ldc.i4 100
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+ call int32 f()
+ leave.s FAIL
+}
+catch [mscorlib]System.InvalidProgramException
+{
+ leave.s PASS
+}
+PASS:
+ ldc.i4 100
+ ret
+FAIL:
+ ldc.i4 1
+ ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_d.ilproj
new file mode 100644
index 0000000000..b3c0d85a04
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_r.ilproj
new file mode 100644
index 0000000000..55c669004a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badendfinally_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld.il b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld.il
new file mode 100644
index 0000000000..7cd31d3deb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld.il
@@ -0,0 +1,31 @@
+
+.assembly extern mscorlib {}
+.assembly badldslfd {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class Test extends [mscorlib]System.Object
+{
+.field int32 i
+.method static int32 f()
+{
+ldsfld int32 Test::i
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+call int32 Test::f()
+leave.s FAIL
+}
+catch [mscorlib]System.Security.VerificationException
+{
+leave.s PASS
+}
+PASS:
+ldc.i4 100
+ret
+FAIL:
+ldc.i4 1
+ret
+}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_d.ilproj
new file mode 100644
index 0000000000..3e156056be
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badldsfld.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_r.ilproj
new file mode 100644
index 0000000000..983adef108
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badldsfld_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badldsfld.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall.il b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall.il
new file mode 100644
index 0000000000..efcc64e069
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall.il
@@ -0,0 +1,32 @@
+.assembly extern mscorlib {}
+.assembly badtailcall {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static int32 f()
+{
+ldc.i4 100
+ret
+}
+.method public static int32 f0()
+{
+ldc.i4 1
+tail. call int32 f()
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+call int32 f()
+leave.s FAIL
+}
+catch [mscorlib]System.Security.VerificationException
+{
+leave.s PASS
+}
+FAIL:
+ldc.i4 100
+ret
+PASS:
+ldc.i4 100
+ret
+}
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_d.ilproj
new file mode 100644
index 0000000000..2c0026ffdb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badtailcall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_r.ilproj
new file mode 100644
index 0000000000..04c902a2c2
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/badtailcall_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badtailcall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/bleref.il b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref.il
new file mode 100644
index 0000000000..3cbbd5104d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref.il
@@ -0,0 +1,46 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly bleref {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static int32 f()
+{
+ldnull
+ldnull
+ble OUT
+OUT:
+ldc.i4 100
+ret
+}
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .try
+ {
+ call int32 f()
+ leave.s FAIL
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ pop
+ leave.s PASS
+ }
+ FAIL:
+ ldstr "Should have caught System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ PASS:
+ ldstr "Caught System.Security.VerificationException as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+ } \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj
new file mode 100644
index 0000000000..4eec072fc8
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="bleref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj
new file mode 100644
index 0000000000..447818c919
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="bleref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1.il b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1.il
new file mode 100644
index 0000000000..61bc2b1381
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1.il
@@ -0,0 +1,129 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly byrefsubbyref1 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class a extends [mscorlib]System.Object
+{
+.field static class ctest S_1
+.method public static int32 byrefsubbyref(class ctest& V_1, class ctest& V_2)
+{
+ldarg 0
+ldarg 1
+sub
+ret
+}
+.method public static int32 byrefsubi4(class ctest& V_1, int32 V_2)
+{
+ldarg 0
+ldarg 1
+sub
+ret
+}
+.method public static int32 i4subbyref(int32, class ctest& V_2)
+{
+ldarg 0
+ldarg 1
+sub
+ret
+}
+.method public static int32 main() cil managed
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (class ctest V_1,
+ class ctest V_2,
+ int32 V_3)
+ IL_0004: newobj instance void ctest::.ctor()
+ IL_0009: stloc.0
+ IL_000a: newobj instance void ctest::.ctor()
+ dup
+ stsfld class ctest a::S_1
+ IL_000f: stloc.1
+
+ IL_0010:
+ ldloca V_2
+ ldloca V_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ dup
+ stloc.2
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ ldloca V_2
+ ldc.i4 1
+ call int32 a::byrefsubi4(class ctest&, int32)
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ ldc.i4 1
+ ldloca V_1
+ call int32 a::i4subbyref(int32, class ctest&)
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ newobj instance void ctest::.ctor()
+ stloc.0
+ ldloca V_1
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ newobj instance void ctest::.ctor()
+ stloc.0
+ ldloca V_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ newobj instance void ctest::.ctor()
+ stsfld class ctest a::S_1
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ newobj instance void ctest::.ctor()
+ stloc.0
+ ldloca V_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ newobj instance void ctest::.ctor()
+ stloc.0
+ ldloca V_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ ldsflda class ctest a::S_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ newobj instance void ctest::.ctor()
+ stloc.0
+ ldloca V_1
+ call int32 a::byrefsubbyref(class ctest&, class ctest&)
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ldc.i4 100
+ IL_0038: ret
+}
+}
+
+.class private auto ansi ctest
+ extends [mscorlib]System.Object
+{
+ .method public virtual instance int32 f() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.s 100
+ IL_0002: br.s IL_0004
+
+ IL_0004: ret
+ }
+
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_d.ilproj
new file mode 100644
index 0000000000..e0d21dc9da
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="byrefsubbyref1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_r.ilproj
new file mode 100644
index 0000000000..f3a39ac0a0
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/byrefsubbyref1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="byrefsubbyref1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/calli2.il b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2.il
new file mode 100644
index 0000000000..94e30842bb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2.il
@@ -0,0 +1,46 @@
+.assembly extern legacy library mscorlib {}
+.assembly legacy library calli2 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class private auto ansi beforefieldinit calli2
+ extends [mscorlib]System.Object
+{
+ .field private static int32 a
+ .field private static int32 b
+ .method public static int32 f1()
+ {
+ ldsfld int32 calli2::a
+ ret
+ }
+ .method public static int32 f2()
+ {
+ ldsfld int32 calli2::b
+ ret
+ }
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ int32 V_1)
+ IL_0000: ldftn int32 calli2::f1()
+ calli int32 ()
+ IL_0005: ldftn int32 calli2::f2()
+ calli int32 ()
+ IL_000a: beq.s IL_0013
+
+ IL_000c: ldftn int32 calli2::f1()
+ calli int32 ()
+ IL_0011: br.s IL_0018
+
+ IL_0013: ldftn int32 calli2::f2()
+ calli int32 ()
+ IL_0018: stloc.0
+ IL_0019: ldloc.0
+ IL_001a: stloc.1
+ IL_001b: br.s IL_001d
+
+ IL_001d: ldloc.1
+ ldc.i4 100
+ add
+ IL_001e: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_d.ilproj
new file mode 100644
index 0000000000..a973ac7244
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="calli2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_r.ilproj
new file mode 100644
index 0000000000..35fc6e4b9b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/calli2_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="calli2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal.il
new file mode 100644
index 0000000000..3754a45b52
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal.il
@@ -0,0 +1,37 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ceeillegal {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static void f()
+{
+.emitbyte 0xee
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+call void f()
+leave.s FAIL
+}
+catch [mscorlib]System.InvalidProgramException
+{
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+leave.s PASS
+}
+FAIL:
+ldstr "FAILED"
+call void [System.Console]System.Console::WriteLine(string)
+ldc.i4 1
+ret
+PASS:
+ldc.i4 100
+ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_d.ilproj
new file mode 100644
index 0000000000..00afbb6aac
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ceeillegal.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_r.ilproj
new file mode 100644
index 0000000000..c78654b78e
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ceeillegal_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ceeillegal.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1.il
new file mode 100644
index 0000000000..3711671688
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1.il
@@ -0,0 +1,59 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly legacy library ldelemnullarr1 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class private auto ansi beforefieldinit ldelemnullarr1
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static void f() cil managed
+ {
+ .maxstack 2
+ .locals init (int32[] V_0)
+ IL_0002: ldnull
+ IL_0003: ldc.i4.0
+ IL_0004: ldelem.ref
+ IL_0005: call void [System.Console]System.Console::WriteLine(int32)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 V_0)
+ .try
+ {
+ IL_0000: call void ldelemnullarr1::f()
+ IL_0005: leave.s IL_0021
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "Caught expected System.Security.VerificationException"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: ldstr "PASSED"
+ IL_0017: call void [System.Console]System.Console::WriteLine(string)
+ IL_001c: ldc.i4.s 100
+ IL_001e: stloc.0
+ IL_001f: leave.s IL_0039
+
+ }
+ IL_0021: ldstr "Should have caught System.Security.VerificationException"
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: ldstr "FAILED"
+ IL_0030: call void [System.Console]System.Console::WriteLine(string)
+ IL_0035: ldc.i4.1
+ IL_0036: stloc.0
+ IL_0037: br.s IL_0039
+
+ IL_0039: ldloc.0
+ IL_003a: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj
new file mode 100644
index 0000000000..9ae20599fc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldelemnullarr1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj
new file mode 100644
index 0000000000..3d17952af9
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldelemnullarr1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2.il
new file mode 100644
index 0000000000..d6f62c022b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2.il
@@ -0,0 +1,59 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly legacy library ldelemnullarr2 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class private auto ansi beforefieldinit ldelemnullarr2
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static void f() cil managed
+ {
+ .maxstack 2
+ .locals init (int32[] V_0)
+ IL_0002: ldnull
+ IL_0003: ldc.i4.0
+ IL_0004: ldelem.i4
+ IL_0005: call void [System.Console]System.Console::WriteLine(int32)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 V_0)
+ .try
+ {
+ IL_0000: call void ldelemnullarr2::f()
+ IL_0005: leave.s IL_0021
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "Caught expected System.NullReferenceException"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: ldstr "PASSED"
+ IL_0017: call void [System.Console]System.Console::WriteLine(string)
+ IL_001c: ldc.i4.s 100
+ IL_001e: stloc.0
+ IL_001f: leave.s IL_0039
+
+ }
+ IL_0021: ldstr "Should have caught System.NullReferenceException"
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: ldstr "FAILED"
+ IL_0030: call void [System.Console]System.Console::WriteLine(string)
+ IL_0035: ldc.i4.1
+ IL_0036: stloc.0
+ IL_0037: br.s IL_0039
+
+ IL_0039: ldloc.0
+ IL_003a: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_d.ilproj
new file mode 100644
index 0000000000..019922ca62
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldelemnullarr2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_r.ilproj
new file mode 100644
index 0000000000..145526abc6
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr2_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldelemnullarr2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4.il
new file mode 100644
index 0000000000..61c3c6396b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4.il
@@ -0,0 +1,44 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+
+.assembly legacy library ldfldr4 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class sealed private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .field private initonly float32 a
+ .field private initonly static float32 b
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (class Test V_0,
+ int32 V_1)
+ IL_0000: newobj instance void Test::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: ldfld float32 Test::a
+ IL_000c: call void [System.Console]System.Console::WriteLine(float32)
+ IL_0011: ldsfld float32 Test::b
+ IL_0016: call void [System.Console]System.Console::WriteLine(float32)
+ IL_001b: ldc.i4.s 100
+ IL_001d: stloc.1
+ IL_001e: br.s IL_0020
+
+ IL_0020: ldloc.1
+ IL_0021: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_d.ilproj
new file mode 100644
index 0000000000..b97b7ee554
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldr4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_r.ilproj
new file mode 100644
index 0000000000..e8c9f70ef2
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldr4_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldr4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt.il
new file mode 100644
index 0000000000..67bb00fa19
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt.il
@@ -0,0 +1,66 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly legacy library ldfldunboxedvt {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class public sequential ansi sealed beforefieldinit VT
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 a
+}
+
+.class private auto ansi beforefieldinit ldfldunboxedvt
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static void f() cil managed
+ {
+ .maxstack 5
+ .locals init (valuetype VT V_0)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj VT
+ IL_0008:
+ ldloc.s V_0
+ IL_000a: ldfld int32 VT::a
+ IL_000f: call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .try
+ {
+ call void ldfldunboxedvt::f()
+ leave.s PASS
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ ldstr "FAIL - Caught an unexpected NullReferenceException"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s FAIL
+
+ }
+ FAIL:
+ ldc.i4.s 1
+ ret
+ PASS:
+ ldstr "PASS"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_d.ilproj
new file mode 100644
index 0000000000..ee8131a781
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldunboxedvt.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_r.ilproj
new file mode 100644
index 0000000000..cdaa7f746b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldfldunboxedvt_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldunboxedvt.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect.il b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect.il
new file mode 100644
index 0000000000..059b99079c
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect.il
@@ -0,0 +1,73 @@
+.assembly extern mscorlib {}
+.assembly ldvirtftnsideeffect {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static class MyTest f(class MyTest)
+{
+ldarg.0
+ret
+}
+
+.method public static int32 main(class System.String[]) {
+.locals (int32, class MyTest)
+.entrypoint
+.maxstack 4
+ ldc.i4 0x77
+ stloc 0x0
+ newobj instance void MyTest::f1()
+ stloc 0x1
+ ldloc 0x1
+ ldloc 0x0
+ ldloc 0x1
+ call class MyTest f(class MyTest)
+ ldvirtftn instance int32 MyTest::f2(int32)
+ calli default int32 (class MyTest,int32)
+ ldc.i4 0xEE
+ bne.un FAIL
+
+PASS:
+ ldc.i4 100
+ br END
+FAIL:
+ ldc.i4 0x0
+END:
+ ret
+}
+
+.class public MyTest {
+.method public void f1() {
+.maxstack 4
+ ret
+}
+
+.method public int32 f2(int32) {
+.maxstack 2
+ ldarg 1
+ ldc.i4 0x2
+ mul
+ ret
+}
+
+}
+.class public TestInterface {
+.method public virtual int32 TestMethod(int32) {
+ret
+}
+
+}
+.class public TestImplementation extends TestInterface {
+
+.method public void TestImplementation() {
+.maxstack 10
+ ret
+}
+
+.method public virtual int32 TestMethod(int32) {
+.maxstack 10
+
+ ldarg 1
+ ldc.i4 0x2
+ mul
+ ret
+
+}
+
+}
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_d.ilproj
new file mode 100644
index 0000000000..1f02d5056b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldvirtftnsideeffect.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_r.ilproj
new file mode 100644
index 0000000000..b6ed465551
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/ldvirtftnsideeffect_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldvirtftnsideeffect.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr.il b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr.il
new file mode 100644
index 0000000000..830c8d9ca2
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr.il
@@ -0,0 +1,51 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly legacy library arrlen {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class private auto ansi beforefieldinit nonrefsdarr
+ extends [mscorlib]System.Object
+{
+ .method public static void f() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.1
+ IL_0003: ldlen
+ IL_0004: conv.i4
+ IL_0005: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0010: ret
+ }
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .try
+ {
+ call void nonrefsdarr::f()
+ leave.s FAIL
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ pop
+ leave.s PASS
+ }
+ FAIL:
+ ldstr "Should have caught System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ PASS:
+ ldstr "Caught System.Security.VerificationException as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj
new file mode 100644
index 0000000000..f55304d017
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonrefsdarr.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj
new file mode 100644
index 0000000000..6b2c56201d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonrefsdarr.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr.il b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr.il
new file mode 100644
index 0000000000..ae46fbc939
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr.il
@@ -0,0 +1,51 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly legacy library arrlen {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.class private auto ansi beforefieldinit nullsdarr
+ extends [mscorlib]System.Object
+{
+ .method public static void f() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldnull
+ IL_0003: ldlen
+ IL_0004: conv.i4
+ IL_0005: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0010: ret
+ }
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .try
+ {
+ call void nullsdarr::f()
+ leave.s FAIL
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ pop
+ leave.s PASS
+ }
+ FAIL:
+ ldstr "Should have caught System.NullReferenceException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ PASS:
+ ldstr "Caught System.NullReferenceException as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_d.ilproj
new file mode 100644
index 0000000000..6ce57679df
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nullsdarr.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_r.ilproj
new file mode 100644
index 0000000000..6b9feefecd
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/nullsdarr_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nullsdarr.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1.il b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1.il
new file mode 100644
index 0000000000..561df98c1a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1.il
@@ -0,0 +1,18 @@
+
+.assembly extern legacy library mscorlib {}
+.assembly refanytype1 {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static int32 f()
+{
+ldc.i4 100
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+call int32 f()
+mkrefany int32
+refanytype
+pop
+ldc.i4 100
+ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_d.ilproj
new file mode 100644
index 0000000000..db5d5cdb5a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refanytype1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_r.ilproj
new file mode 100644
index 0000000000..66ed199621
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/refanytype1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refanytype1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind.il b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind.il
new file mode 100644
index 0000000000..40ccff0de3
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind.il
@@ -0,0 +1,29 @@
+.assembly extern mscorlib {}
+.assembly volatilldind {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static void f()
+{
+.locals init (int32* V_0)
+ldloc V_0
+volatile. ldind.i4
+pop
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+call void f()
+leave FAIL
+}
+catch [mscorlib]System.NullReferenceException
+{
+leave PASS
+}
+FAIL:
+ldc.i4 1
+ret
+PASS:
+ldc.i4 100
+ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_d.ilproj
new file mode 100644
index 0000000000..e30f03010a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilldind.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_r.ilproj
new file mode 100644
index 0000000000..74c15aad76
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilldind_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilldind.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind.il b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind.il
new file mode 100644
index 0000000000..09b1f7f08a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind.il
@@ -0,0 +1,29 @@
+.assembly extern mscorlib {}
+.assembly volatilstind {.custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) }
+.method public static void f()
+{
+.locals init (int32* V_0)
+ldloc.0
+ldc.i4 1
+volatile. stind.i4
+ret
+}
+.method public static int32 Main()
+{
+.entrypoint
+.try
+{
+call void f()
+leave FAIL
+}
+catch [mscorlib]System.NullReferenceException
+{
+leave PASS
+}
+FAIL:
+ldc.i4 1
+ret
+PASS:
+ldc.i4 100
+ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_d.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_d.ilproj
new file mode 100644
index 0000000000..24f1c9013b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilstind.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_r.ilproj b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_r.ilproj
new file mode 100644
index 0000000000..0627835c85
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/importer/Desktop/volatilstind_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilstind.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il
new file mode 100644
index 0000000000..2f60e3c098
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il
@@ -0,0 +1,240 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ldflds {}
+.module ldfldstatic.exe
+.class private auto ansi beforefieldinit ldfldstatic
+ extends [mscorlib]System.Object
+{
+ .field public static char Achar
+ .field public static bool Abool
+ .field public static float32 Ar4
+ .field public static float64 Ar8
+ .field public static int8 Ai1
+ .field public static int16 Ai2
+ .field public static int32 Ai4
+ .field public static int64 Ai8
+ .field public static unsigned int8 Au1
+ .field public static unsigned int16 Au2
+ .field public static unsigned int32 Au4
+ .field public static unsigned int64 Au8
+ .field public static string Astring
+
+ .method public hidebysig static int32 Main()
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (bool V_0,
+ class ldfldstatic V_1,
+ int32 V_2)
+ ldstr "Testing ldfld on static fields"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: newobj instance void ldfldstatic::.ctor()
+ IL_0007: stloc.1
+ IL_0008: ldloc.1
+ ldfld char ldfldstatic::Achar
+ IL_000d: ldc.i4.s 65
+ IL_000f: beq.s IL_001d
+
+ IL_0011: ldc.i4.0
+ IL_0012: stloc.0
+ IL_0013: ldstr "Achar != 'A'"
+ IL_0018: call void [System.Console]System.Console::WriteLine(string)
+ IL_001d: ldloc.1
+ ldfld bool ldfldstatic::Abool
+ IL_0022: brtrue.s IL_0030
+
+ IL_0024: ldc.i4.0
+ IL_0025: stloc.0
+ IL_0026: ldstr "Abool != true"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldloc.1
+ ldfld float32 ldfldstatic::Ar4
+ IL_0035: ldc.r4 2.1234567
+ IL_003a: beq.s IL_0048
+
+ IL_003c: ldc.i4.0
+ IL_003d: stloc.0
+ IL_003e: ldstr "Ar4 != 2.123456789F"
+ IL_0043: call void [System.Console]System.Console::WriteLine(string)
+ IL_0048: ldloc.1
+ ldfld float64 ldfldstatic::Ar8
+ IL_004d: ldc.r8 -3.1234567890123457
+ IL_0056: beq.s IL_0064
+
+ IL_0058: ldc.i4.0
+ IL_0059: stloc.0
+ IL_005a: ldstr "Ar8 != -3.123456789012345678"
+ IL_005f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0064: ldloc.1
+ ldfld int8 ldfldstatic::Ai1
+ IL_0069: conv.i4
+ IL_006a: ldc.i4.m1
+ IL_006b: beq.s IL_0079
+
+ IL_006d: ldc.i4.0
+ IL_006e: stloc.0
+ IL_006f: ldstr "Ai1 != -1"
+ IL_0074: call void [System.Console]System.Console::WriteLine(string)
+ IL_0079: ldloc.1
+ ldfld int16 ldfldstatic::Ai2
+ IL_007e: ldc.i4 0xffffff01
+ IL_0083: beq.s IL_0091
+
+ IL_0085: ldc.i4.0
+ IL_0086: stloc.0
+ IL_0087: ldstr "Ai2 != -255"
+ IL_008c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0091: ldloc.1
+ ldfld int32 ldfldstatic::Ai4
+ IL_0096: ldc.i4 0xffed2979
+ IL_009b: beq.s IL_00a9
+
+ IL_009d: ldc.i4.0
+ IL_009e: stloc.0
+ IL_009f: ldstr "Ai4 != -1234567"
+ IL_00a4: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a9: ldloc.1
+ ldfld int64 ldfldstatic::Ai8
+ IL_00ae: ldc.i4 0xb669fd2e
+ IL_00b3: conv.i8
+ IL_00b4: beq.s IL_00c2
+
+ IL_00b6: ldc.i4.0
+ IL_00b7: stloc.0
+ IL_00b8: ldstr "Ai8 != -1234567890"
+ IL_00bd: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c2: ldloc.1
+ ldfld unsigned int8 ldfldstatic::Au1
+ IL_00c7: ldc.i4.1
+ IL_00c8: beq.s IL_00d6
+
+ IL_00ca: ldc.i4.0
+ IL_00cb: stloc.0
+ IL_00cc: ldstr "Au1 != 1"
+ IL_00d1: call void [System.Console]System.Console::WriteLine(string)
+ IL_00d6: ldloc.1
+ ldfld unsigned int16 ldfldstatic::Au2
+ IL_00db: conv.i4
+ IL_00dc: ldc.i4 0x80
+ IL_00e1: beq.s IL_00ef
+
+ IL_00e3: ldc.i4.0
+ IL_00e4: stloc.0
+ IL_00e5: ldstr "Au2 != 128"
+ IL_00ea: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ef: ldloc.1
+ ldfld int16 ldfldstatic::Ai2
+ IL_00f4: ldc.i4 0xffffff01
+ IL_00f9: beq.s IL_0107
+
+ IL_00fb: ldc.i4.0
+ IL_00fc: stloc.0
+ IL_00fd: ldstr "Ai2 != -255"
+ IL_0102: call void [System.Console]System.Console::WriteLine(string)
+ IL_0107: ldloc.1
+ ldfld unsigned int32 ldfldstatic::Au4
+ IL_010c: ldc.i4 0x12d687
+ IL_0111: beq.s IL_011f
+
+ IL_0113: ldc.i4.0
+ IL_0114: stloc.0
+ IL_0115: ldstr "Au4 != 1234567"
+ IL_011a: call void [System.Console]System.Console::WriteLine(string)
+ IL_011f: ldloc.1
+ ldfld unsigned int64 ldfldstatic::Au8
+ IL_0124: ldc.i4 0x499602d2
+ IL_0129: conv.i8
+ IL_012a: beq.s IL_0138
+
+ IL_012c: ldc.i4.0
+ IL_012d: stloc.0
+ IL_012e: ldstr "Au8 != 1234567890"
+ IL_0133: call void [System.Console]System.Console::WriteLine(string)
+ IL_0138: ldloc.1
+ ldfld string ldfldstatic::Astring
+ IL_013d: ldstr "testing ldfld on static"
+ IL_0142: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0147: brtrue.s IL_0162
+
+ IL_0149: ldc.i4.0
+ IL_014a: stloc.0
+ IL_014b: ldloc.1
+ ldfld string ldfldstatic::Astring
+ IL_0150: ldstr "testing ldfld on static"
+ IL_0155: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_015a: ldc.i4.0
+ IL_015b: ceq
+ IL_015d: call void [System.Console]System.Console::WriteLine(bool)
+ IL_0162: ldloc.0
+ IL_0163: brtrue.s IL_0173
+
+ IL_0165: ldstr "FAILED"
+ IL_016a: call void [System.Console]System.Console::WriteLine(string)
+ IL_016f: ldc.i4.1
+ IL_0170: stloc.2
+ IL_0171: br.s IL_0182
+
+ IL_0173: ldstr "PASSED"
+ IL_0178: call void [System.Console]System.Console::WriteLine(string)
+ IL_017d: ldc.i4.s 100
+ IL_017f: stloc.2
+ IL_0180: br.s IL_0182
+
+ IL_0182: ldloc.2
+ IL_0183: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor()
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.s 65
+ IL_0002: stsfld char ldfldstatic::Achar
+ IL_0007: ldc.i4.1
+ IL_0008: stsfld bool ldfldstatic::Abool
+ IL_000d: ldc.r4 2.1234567
+ IL_0012: stsfld float32 ldfldstatic::Ar4
+ IL_0017: ldc.r8 -3.1234567890123457
+ IL_0020: stsfld float64 ldfldstatic::Ar8
+ IL_0025: ldc.i4.m1
+ IL_0026: stsfld int8 ldfldstatic::Ai1
+ IL_002b: ldc.i4 0xffffff01
+ IL_0030: stsfld int16 ldfldstatic::Ai2
+ IL_0035: ldc.i4 0xffed2979
+ IL_003a: stsfld int32 ldfldstatic::Ai4
+ IL_003f: ldc.i4 0xb669fd2e
+ IL_0044: conv.i8
+ IL_0045: stsfld int64 ldfldstatic::Ai8
+ IL_004a: ldc.i4.1
+ IL_004b: stsfld unsigned int8 ldfldstatic::Au1
+ IL_0050: ldc.i4 0x80
+ IL_0055: stsfld unsigned int16 ldfldstatic::Au2
+ IL_005a: ldc.i4 0x12d687
+ IL_005f: stsfld unsigned int32 ldfldstatic::Au4
+ IL_0064: ldc.i4 0x499602d2
+ IL_0069: conv.i8
+ IL_006a: stsfld unsigned int64 ldfldstatic::Au8
+ IL_006f: ldstr "testing ldfld on static"
+ IL_0074: stsfld string ldfldstatic::Astring
+ IL_0079: ret
+ }
+
+.method public hidebysig specialname rtspecialname
+ instance void .ctor()
+{
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+}
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj
new file mode 100644
index 0000000000..c82dcd1a6b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldstatic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj
new file mode 100644
index 0000000000..48cdd23028
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldstatic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il
new file mode 100644
index 0000000000..73197f7f26
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il
@@ -0,0 +1,77 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly ovfldiv1 {}
+.class private auto ansi beforefieldinit ovfldiv1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4 1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0x8000000000000000
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.1
+ conv.i8
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0x7999999999999999
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0x8666666666666667
+ conv.u8
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj
new file mode 100644
index 0000000000..450d59a3ff
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj
new file mode 100644
index 0000000000..aaff4b0383
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il
new file mode 100644
index 0000000000..1244c0ab3a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il
@@ -0,0 +1,77 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly ovflrem1 {}
+.class private auto ansi beforefieldinit ovflrem1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4 1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.0
+ conv.i8
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0x7999999999999999
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0
+ conv.u8
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj
new file mode 100644
index 0000000000..5adc1c2109
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj
new file mode 100644
index 0000000000..94d82f9d70
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic1.il b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic1.il
new file mode 100644
index 0000000000..9633a2c5f6
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic1.il
@@ -0,0 +1,12077 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly o
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module o.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit IntrinsicTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 counter at RVAInt
+ .field private int32 instanceCounter
+ .field private static int64 counter64 at RVALong
+ .field private int64 instanceCounter64
+ .field private static int32 id_counter
+ .field private int32 id_instanceCounter
+ .field private static int64 id_counter64
+ .field private int64 id_instanceCounter64
+ .field private static int64 temp
+ .field private static int64 idmp
+ .field private static int64 idjunk
+ .method private hidebysig specialname rtspecialname
+ instance void .ctor() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldc.i4 0xcad
+ IL_000c: stfld int32 IntrinsicTest::instanceCounter
+ IL_0011: ldarg.0
+ IL_0012: ldc.i4 0xcad
+ IL_0017: conv.i8
+ IL_0018: stfld int64 IntrinsicTest::instanceCounter64
+ IL_001d: ldarg.0
+ IL_001e: ldc.i4 0xcad
+ IL_0023: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_0028: ldarg.0
+ IL_0029: ldc.i4 0xcad
+ IL_002e: conv.i8
+ IL_002f: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0034: ret
+ }
+
+ .method public hidebysig instance int32
+ GetValue() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::temp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::temp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance int32
+ id_GetValue() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::idmp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::idmp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig static bool MainTest() cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4,
+ int64 V_5,
+ int64 V_6,
+ int64 V_7,
+ int32 V_8,
+ int64 V_9,
+ int32 V_10,
+ int32 V_11,
+ int32 V_12,
+ int32 V_13,
+ int64 V_14,
+ int64 V_15,
+ int64 V_16,
+ int64 V_17,
+ int32 V_18,
+ int64 V_19,
+ bool V_20,
+ class IntrinsicTest V_21)
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stloc.0
+ IL_0006: ldc.i4 0x10e5
+ IL_000b: stloc.1
+ IL_000c: ldc.i4 0x10e5
+ IL_0011: stloc.2
+ IL_0012: ldc.i4 0x856
+ IL_0017: stloc.3
+ IL_0018: ldc.i4 0x6efa2
+ IL_001d: conv.i8
+ IL_001e: stloc.s V_4
+ IL_0020: ldc.i4 0x54635
+ IL_0025: conv.i8
+ IL_0026: stloc.s V_5
+ IL_0028: ldc.i4 0x54635
+ IL_002d: conv.i8
+ IL_002e: stloc.s V_6
+ IL_0030: ldc.i4 0x545dc
+ IL_0035: conv.i8
+ IL_0036: stloc.s V_7
+ IL_0038: ldc.i4 0x1103
+ IL_003d: stloc.s V_8
+ IL_003f: ldc.i4 0xa03d6
+ IL_0044: conv.i8
+ IL_0045: stloc.s V_9
+ IL_0047: ldc.i4 0xcad
+ IL_004c: stloc.s V_10
+ IL_004e: ldc.i4 0x10e5
+ IL_0053: stloc.s V_11
+ IL_0055: ldc.i4 0x10e5
+ IL_005a: stloc.s V_12
+ IL_005c: ldc.i4 0x856
+ IL_0061: stloc.s V_13
+ IL_0063: ldc.i4 0x6efa2
+ IL_0068: conv.i8
+ IL_0069: stloc.s V_14
+ IL_006b: ldc.i4 0x54635
+ IL_0070: conv.i8
+ IL_0071: stloc.s V_15
+ IL_0073: ldc.i4 0x54635
+ IL_0078: conv.i8
+ IL_0079: stloc.s V_16
+ IL_007b: ldc.i4 0x545dc
+ IL_0080: conv.i8
+ IL_0081: stloc.s V_17
+ IL_0083: ldc.i4 0x1103
+ IL_0088: stloc.s V_18
+ IL_008a: ldc.i4 0xa03d6
+ IL_008f: conv.i8
+ IL_0090: stloc.s V_19
+ IL_0092: ldc.i4.0
+ IL_0093: stloc.s V_20
+ IL_0095: newobj instance void IntrinsicTest::.ctor()
+ IL_009a: stloc.s V_21
+ IL_009c: ldsflda int64 IntrinsicTest::counter64
+ IL_00a1: ldsfld int64 IntrinsicTest::counter64
+ IL_00a6: ldloc.s V_4
+ IL_00a8: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_00ad: stloc.s V_4
+ IL_00af: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00b4: stloc.s V_14
+ IL_00b6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00bb: ldloc.s V_14
+ IL_00bd: bne.un.s IL_00cb
+
+ IL_00bf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00c4: stsfld int64 IntrinsicTest::id_counter64
+ IL_00c9: br.s IL_00d5
+
+ IL_00cb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00d0: stsfld int64 IntrinsicTest::idjunk
+ IL_00d5: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 0"
+ IL_00da: call void [System.Console]System.Console::WriteLine(string)
+ IL_00df: ldloc.0
+ IL_00e0: ldloc.s V_10
+ IL_00e2: beq.s IL_00fe
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s V_20
+ IL_00e7: ldstr "te0 check failed {0} {1}"
+ IL_00ec: ldloc.0
+ IL_00ed: box [mscorlib]System.Int32
+ IL_00f2: ldloc.s V_10
+ IL_00f4: box [mscorlib]System.Int32
+ IL_00f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_00fe: ldloc.1
+ IL_00ff: ldloc.s V_11
+ IL_0101: beq.s IL_011d
+
+ IL_0103: ldc.i4.1
+ IL_0104: stloc.s V_20
+ IL_0106: ldstr "te1 check failed {0} {1}"
+ IL_010b: ldloc.1
+ IL_010c: box [mscorlib]System.Int32
+ IL_0111: ldloc.s V_11
+ IL_0113: box [mscorlib]System.Int32
+ IL_0118: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_011d: ldloc.2
+ IL_011e: ldloc.s V_12
+ IL_0120: beq.s IL_013c
+
+ IL_0122: ldc.i4.1
+ IL_0123: stloc.s V_20
+ IL_0125: ldstr "te2 check failed {0} {1}"
+ IL_012a: ldloc.2
+ IL_012b: box [mscorlib]System.Int32
+ IL_0130: ldloc.s V_12
+ IL_0132: box [mscorlib]System.Int32
+ IL_0137: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_013c: ldloc.3
+ IL_013d: ldloc.s V_13
+ IL_013f: beq.s IL_015b
+
+ IL_0141: ldc.i4.1
+ IL_0142: stloc.s V_20
+ IL_0144: ldstr "te3 check failed {0} {1}"
+ IL_0149: ldloc.3
+ IL_014a: box [mscorlib]System.Int32
+ IL_014f: ldloc.s V_13
+ IL_0151: box [mscorlib]System.Int32
+ IL_0156: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_015b: ldloc.s V_4
+ IL_015d: ldloc.s V_14
+ IL_015f: beq.s IL_017c
+
+ IL_0161: ldc.i4.1
+ IL_0162: stloc.s V_20
+ IL_0164: ldstr "te064 check failed {0} {1}"
+ IL_0169: ldloc.s V_4
+ IL_016b: box [mscorlib]System.Int64
+ IL_0170: ldloc.s V_14
+ IL_0172: box [mscorlib]System.Int64
+ IL_0177: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_017c: ldloc.s V_5
+ IL_017e: ldloc.s V_15
+ IL_0180: beq.s IL_019d
+
+ IL_0182: ldc.i4.1
+ IL_0183: stloc.s V_20
+ IL_0185: ldstr "te164 check failed {0} {1}"
+ IL_018a: ldloc.s V_5
+ IL_018c: box [mscorlib]System.Int64
+ IL_0191: ldloc.s V_15
+ IL_0193: box [mscorlib]System.Int64
+ IL_0198: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_019d: ldloc.s V_6
+ IL_019f: ldloc.s V_16
+ IL_01a1: beq.s IL_01be
+
+ IL_01a3: ldc.i4.1
+ IL_01a4: stloc.s V_20
+ IL_01a6: ldstr "te264 check failed {0} {1}"
+ IL_01ab: ldloc.s V_6
+ IL_01ad: box [mscorlib]System.Int64
+ IL_01b2: ldloc.s V_16
+ IL_01b4: box [mscorlib]System.Int64
+ IL_01b9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01be: ldloc.s V_7
+ IL_01c0: ldloc.s V_17
+ IL_01c2: beq.s IL_01df
+
+ IL_01c4: ldc.i4.1
+ IL_01c5: stloc.s V_20
+ IL_01c7: ldstr "te364 check failed {0} {1}"
+ IL_01cc: ldloc.s V_7
+ IL_01ce: box [mscorlib]System.Int64
+ IL_01d3: ldloc.s V_17
+ IL_01d5: box [mscorlib]System.Int64
+ IL_01da: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01df: ldloc.s V_8
+ IL_01e1: ldloc.s V_18
+ IL_01e3: beq.s IL_0200
+
+ IL_01e5: ldc.i4.1
+ IL_01e6: stloc.s V_20
+ IL_01e8: ldstr "dummy check failed {0} {1}"
+ IL_01ed: ldloc.s V_8
+ IL_01ef: box [mscorlib]System.Int32
+ IL_01f4: ldloc.s V_18
+ IL_01f6: box [mscorlib]System.Int32
+ IL_01fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0200: ldloc.s V_9
+ IL_0202: ldloc.s V_19
+ IL_0204: beq.s IL_0221
+
+ IL_0206: ldc.i4.1
+ IL_0207: stloc.s V_20
+ IL_0209: ldstr "dummy64 check failed {0} {1}"
+ IL_020e: ldloc.s V_9
+ IL_0210: box [mscorlib]System.Int64
+ IL_0215: ldloc.s V_19
+ IL_0217: box [mscorlib]System.Int64
+ IL_021c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0221: ldsfld int32 IntrinsicTest::counter
+ IL_0226: ldsfld int32 IntrinsicTest::id_counter
+ IL_022b: beq.s IL_024e
+
+ IL_022d: ldstr "counter mismatch {0} {1}"
+ IL_0232: ldsfld int32 IntrinsicTest::counter
+ IL_0237: box [mscorlib]System.Int32
+ IL_023c: ldsfld int32 IntrinsicTest::id_counter
+ IL_0241: box [mscorlib]System.Int32
+ IL_0246: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_024b: ldc.i4.1
+ IL_024c: stloc.s V_20
+ IL_024e: ldsfld int64 IntrinsicTest::counter64
+ IL_0253: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0258: beq.s IL_027b
+
+ IL_025a: ldstr "counter64 mismatch {0} {1}"
+ IL_025f: ldsfld int64 IntrinsicTest::counter64
+ IL_0264: box [mscorlib]System.Int64
+ IL_0269: ldsfld int64 IntrinsicTest::id_counter64
+ IL_026e: box [mscorlib]System.Int64
+ IL_0273: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0278: ldc.i4.1
+ IL_0279: stloc.s V_20
+ IL_027b: ldloc.s V_21
+ IL_027d: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0282: ldloc.s V_21
+ IL_0284: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0289: beq.s IL_02b0
+
+ IL_028b: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0290: ldloc.s V_21
+ IL_0292: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0297: box [mscorlib]System.Int32
+ IL_029c: ldloc.s V_21
+ IL_029e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_02a3: box [mscorlib]System.Int32
+ IL_02a8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02ad: ldc.i4.1
+ IL_02ae: stloc.s V_20
+ IL_02b0: ldloc.s V_21
+ IL_02b2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02b7: ldloc.s V_21
+ IL_02b9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02be: beq.s IL_02e5
+
+ IL_02c0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_02c5: ldloc.s V_21
+ IL_02c7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02cc: box [mscorlib]System.Int64
+ IL_02d1: ldloc.s V_21
+ IL_02d3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02d8: box [mscorlib]System.Int64
+ IL_02dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02e2: ldc.i4.1
+ IL_02e3: stloc.s V_20
+ IL_02e5: ldsfld int64 IntrinsicTest::temp
+ IL_02ea: ldsfld int64 IntrinsicTest::idmp
+ IL_02ef: beq.s IL_0312
+
+ IL_02f1: ldstr "temp mismatch {0} {1}"
+ IL_02f6: ldsfld int64 IntrinsicTest::temp
+ IL_02fb: box [mscorlib]System.Int64
+ IL_0300: ldsfld int64 IntrinsicTest::idmp
+ IL_0305: box [mscorlib]System.Int64
+ IL_030a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_030f: ldc.i4.1
+ IL_0310: stloc.s V_20
+ IL_0312: ldsflda int64 IntrinsicTest::counter64
+ IL_0317: ldsfld int64 IntrinsicTest::counter64
+ IL_031c: ldloc.s V_4
+ IL_031e: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_0323: stsfld int64 IntrinsicTest::counter64
+ IL_0328: ldsfld int64 IntrinsicTest::id_counter64
+ IL_032d: stsfld int64 IntrinsicTest::id_counter64
+ IL_0332: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0337: ldloc.s V_14
+ IL_0339: bne.un.s IL_0347
+
+ IL_033b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0340: stsfld int64 IntrinsicTest::idjunk
+ IL_0345: br.s IL_0351
+
+ IL_0347: ldsfld int64 IntrinsicTest::id_counter64
+ IL_034c: stsfld int64 IntrinsicTest::idjunk
+ IL_0351: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 1"
+ IL_0356: call void [System.Console]System.Console::WriteLine(string)
+ IL_035b: ldloc.0
+ IL_035c: ldloc.s V_10
+ IL_035e: beq.s IL_037a
+
+ IL_0360: ldc.i4.1
+ IL_0361: stloc.s V_20
+ IL_0363: ldstr "te0 check failed {0} {1}"
+ IL_0368: ldloc.0
+ IL_0369: box [mscorlib]System.Int32
+ IL_036e: ldloc.s V_10
+ IL_0370: box [mscorlib]System.Int32
+ IL_0375: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_037a: ldloc.1
+ IL_037b: ldloc.s V_11
+ IL_037d: beq.s IL_0399
+
+ IL_037f: ldc.i4.1
+ IL_0380: stloc.s V_20
+ IL_0382: ldstr "te1 check failed {0} {1}"
+ IL_0387: ldloc.1
+ IL_0388: box [mscorlib]System.Int32
+ IL_038d: ldloc.s V_11
+ IL_038f: box [mscorlib]System.Int32
+ IL_0394: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0399: ldloc.2
+ IL_039a: ldloc.s V_12
+ IL_039c: beq.s IL_03b8
+
+ IL_039e: ldc.i4.1
+ IL_039f: stloc.s V_20
+ IL_03a1: ldstr "te2 check failed {0} {1}"
+ IL_03a6: ldloc.2
+ IL_03a7: box [mscorlib]System.Int32
+ IL_03ac: ldloc.s V_12
+ IL_03ae: box [mscorlib]System.Int32
+ IL_03b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03b8: ldloc.3
+ IL_03b9: ldloc.s V_13
+ IL_03bb: beq.s IL_03d7
+
+ IL_03bd: ldc.i4.1
+ IL_03be: stloc.s V_20
+ IL_03c0: ldstr "te3 check failed {0} {1}"
+ IL_03c5: ldloc.3
+ IL_03c6: box [mscorlib]System.Int32
+ IL_03cb: ldloc.s V_13
+ IL_03cd: box [mscorlib]System.Int32
+ IL_03d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03d7: ldloc.s V_4
+ IL_03d9: ldloc.s V_14
+ IL_03db: beq.s IL_03f8
+
+ IL_03dd: ldc.i4.1
+ IL_03de: stloc.s V_20
+ IL_03e0: ldstr "te064 check failed {0} {1}"
+ IL_03e5: ldloc.s V_4
+ IL_03e7: box [mscorlib]System.Int64
+ IL_03ec: ldloc.s V_14
+ IL_03ee: box [mscorlib]System.Int64
+ IL_03f3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03f8: ldloc.s V_5
+ IL_03fa: ldloc.s V_15
+ IL_03fc: beq.s IL_0419
+
+ IL_03fe: ldc.i4.1
+ IL_03ff: stloc.s V_20
+ IL_0401: ldstr "te164 check failed {0} {1}"
+ IL_0406: ldloc.s V_5
+ IL_0408: box [mscorlib]System.Int64
+ IL_040d: ldloc.s V_15
+ IL_040f: box [mscorlib]System.Int64
+ IL_0414: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0419: ldloc.s V_6
+ IL_041b: ldloc.s V_16
+ IL_041d: beq.s IL_043a
+
+ IL_041f: ldc.i4.1
+ IL_0420: stloc.s V_20
+ IL_0422: ldstr "te264 check failed {0} {1}"
+ IL_0427: ldloc.s V_6
+ IL_0429: box [mscorlib]System.Int64
+ IL_042e: ldloc.s V_16
+ IL_0430: box [mscorlib]System.Int64
+ IL_0435: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_043a: ldloc.s V_7
+ IL_043c: ldloc.s V_17
+ IL_043e: beq.s IL_045b
+
+ IL_0440: ldc.i4.1
+ IL_0441: stloc.s V_20
+ IL_0443: ldstr "te364 check failed {0} {1}"
+ IL_0448: ldloc.s V_7
+ IL_044a: box [mscorlib]System.Int64
+ IL_044f: ldloc.s V_17
+ IL_0451: box [mscorlib]System.Int64
+ IL_0456: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_045b: ldloc.s V_8
+ IL_045d: ldloc.s V_18
+ IL_045f: beq.s IL_047c
+
+ IL_0461: ldc.i4.1
+ IL_0462: stloc.s V_20
+ IL_0464: ldstr "dummy check failed {0} {1}"
+ IL_0469: ldloc.s V_8
+ IL_046b: box [mscorlib]System.Int32
+ IL_0470: ldloc.s V_18
+ IL_0472: box [mscorlib]System.Int32
+ IL_0477: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_047c: ldloc.s V_9
+ IL_047e: ldloc.s V_19
+ IL_0480: beq.s IL_049d
+
+ IL_0482: ldc.i4.1
+ IL_0483: stloc.s V_20
+ IL_0485: ldstr "dummy64 check failed {0} {1}"
+ IL_048a: ldloc.s V_9
+ IL_048c: box [mscorlib]System.Int64
+ IL_0491: ldloc.s V_19
+ IL_0493: box [mscorlib]System.Int64
+ IL_0498: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_049d: ldsfld int32 IntrinsicTest::counter
+ IL_04a2: ldsfld int32 IntrinsicTest::id_counter
+ IL_04a7: beq.s IL_04ca
+
+ IL_04a9: ldstr "counter mismatch {0} {1}"
+ IL_04ae: ldsfld int32 IntrinsicTest::counter
+ IL_04b3: box [mscorlib]System.Int32
+ IL_04b8: ldsfld int32 IntrinsicTest::id_counter
+ IL_04bd: box [mscorlib]System.Int32
+ IL_04c2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04c7: ldc.i4.1
+ IL_04c8: stloc.s V_20
+ IL_04ca: ldsfld int64 IntrinsicTest::counter64
+ IL_04cf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04d4: beq.s IL_04f7
+
+ IL_04d6: ldstr "counter64 mismatch {0} {1}"
+ IL_04db: ldsfld int64 IntrinsicTest::counter64
+ IL_04e0: box [mscorlib]System.Int64
+ IL_04e5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04ea: box [mscorlib]System.Int64
+ IL_04ef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04f4: ldc.i4.1
+ IL_04f5: stloc.s V_20
+ IL_04f7: ldloc.s V_21
+ IL_04f9: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04fe: ldloc.s V_21
+ IL_0500: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0505: beq.s IL_052c
+
+ IL_0507: ldstr "instanceCounter mismatch {0} {1}"
+ IL_050c: ldloc.s V_21
+ IL_050e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0513: box [mscorlib]System.Int32
+ IL_0518: ldloc.s V_21
+ IL_051a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_051f: box [mscorlib]System.Int32
+ IL_0524: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0529: ldc.i4.1
+ IL_052a: stloc.s V_20
+ IL_052c: ldloc.s V_21
+ IL_052e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0533: ldloc.s V_21
+ IL_0535: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_053a: beq.s IL_0561
+
+ IL_053c: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0541: ldloc.s V_21
+ IL_0543: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0548: box [mscorlib]System.Int64
+ IL_054d: ldloc.s V_21
+ IL_054f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0554: box [mscorlib]System.Int64
+ IL_0559: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_055e: ldc.i4.1
+ IL_055f: stloc.s V_20
+ IL_0561: ldsfld int64 IntrinsicTest::temp
+ IL_0566: ldsfld int64 IntrinsicTest::idmp
+ IL_056b: beq.s IL_058e
+
+ IL_056d: ldstr "temp mismatch {0} {1}"
+ IL_0572: ldsfld int64 IntrinsicTest::temp
+ IL_0577: box [mscorlib]System.Int64
+ IL_057c: ldsfld int64 IntrinsicTest::idmp
+ IL_0581: box [mscorlib]System.Int64
+ IL_0586: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_058b: ldc.i4.1
+ IL_058c: stloc.s V_20
+ IL_058e: ldloc.s V_21
+ IL_0590: ldsflda int64 IntrinsicTest::counter64
+ IL_0595: ldsfld int64 IntrinsicTest::counter64
+ IL_059a: ldloc.s V_4
+ IL_059c: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_05a1: stfld int64 IntrinsicTest::instanceCounter64
+ IL_05a6: ldloc.s V_21
+ IL_05a8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_05ad: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_05b2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_05b7: ldloc.s V_14
+ IL_05b9: bne.un.s IL_05c7
+
+ IL_05bb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_05c0: stsfld int64 IntrinsicTest::id_counter64
+ IL_05c5: br.s IL_05d1
+
+ IL_05c7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_05cc: stsfld int64 IntrinsicTest::idjunk
+ IL_05d1: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 2"
+ IL_05d6: call void [System.Console]System.Console::WriteLine(string)
+ IL_05db: ldloc.0
+ IL_05dc: ldloc.s V_10
+ IL_05de: beq.s IL_05fa
+
+ IL_05e0: ldc.i4.1
+ IL_05e1: stloc.s V_20
+ IL_05e3: ldstr "te0 check failed {0} {1}"
+ IL_05e8: ldloc.0
+ IL_05e9: box [mscorlib]System.Int32
+ IL_05ee: ldloc.s V_10
+ IL_05f0: box [mscorlib]System.Int32
+ IL_05f5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05fa: ldloc.1
+ IL_05fb: ldloc.s V_11
+ IL_05fd: beq.s IL_0619
+
+ IL_05ff: ldc.i4.1
+ IL_0600: stloc.s V_20
+ IL_0602: ldstr "te1 check failed {0} {1}"
+ IL_0607: ldloc.1
+ IL_0608: box [mscorlib]System.Int32
+ IL_060d: ldloc.s V_11
+ IL_060f: box [mscorlib]System.Int32
+ IL_0614: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0619: ldloc.2
+ IL_061a: ldloc.s V_12
+ IL_061c: beq.s IL_0638
+
+ IL_061e: ldc.i4.1
+ IL_061f: stloc.s V_20
+ IL_0621: ldstr "te2 check failed {0} {1}"
+ IL_0626: ldloc.2
+ IL_0627: box [mscorlib]System.Int32
+ IL_062c: ldloc.s V_12
+ IL_062e: box [mscorlib]System.Int32
+ IL_0633: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0638: ldloc.3
+ IL_0639: ldloc.s V_13
+ IL_063b: beq.s IL_0657
+
+ IL_063d: ldc.i4.1
+ IL_063e: stloc.s V_20
+ IL_0640: ldstr "te3 check failed {0} {1}"
+ IL_0645: ldloc.3
+ IL_0646: box [mscorlib]System.Int32
+ IL_064b: ldloc.s V_13
+ IL_064d: box [mscorlib]System.Int32
+ IL_0652: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0657: ldloc.s V_4
+ IL_0659: ldloc.s V_14
+ IL_065b: beq.s IL_0678
+
+ IL_065d: ldc.i4.1
+ IL_065e: stloc.s V_20
+ IL_0660: ldstr "te064 check failed {0} {1}"
+ IL_0665: ldloc.s V_4
+ IL_0667: box [mscorlib]System.Int64
+ IL_066c: ldloc.s V_14
+ IL_066e: box [mscorlib]System.Int64
+ IL_0673: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0678: ldloc.s V_5
+ IL_067a: ldloc.s V_15
+ IL_067c: beq.s IL_0699
+
+ IL_067e: ldc.i4.1
+ IL_067f: stloc.s V_20
+ IL_0681: ldstr "te164 check failed {0} {1}"
+ IL_0686: ldloc.s V_5
+ IL_0688: box [mscorlib]System.Int64
+ IL_068d: ldloc.s V_15
+ IL_068f: box [mscorlib]System.Int64
+ IL_0694: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0699: ldloc.s V_6
+ IL_069b: ldloc.s V_16
+ IL_069d: beq.s IL_06ba
+
+ IL_069f: ldc.i4.1
+ IL_06a0: stloc.s V_20
+ IL_06a2: ldstr "te264 check failed {0} {1}"
+ IL_06a7: ldloc.s V_6
+ IL_06a9: box [mscorlib]System.Int64
+ IL_06ae: ldloc.s V_16
+ IL_06b0: box [mscorlib]System.Int64
+ IL_06b5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06ba: ldloc.s V_7
+ IL_06bc: ldloc.s V_17
+ IL_06be: beq.s IL_06db
+
+ IL_06c0: ldc.i4.1
+ IL_06c1: stloc.s V_20
+ IL_06c3: ldstr "te364 check failed {0} {1}"
+ IL_06c8: ldloc.s V_7
+ IL_06ca: box [mscorlib]System.Int64
+ IL_06cf: ldloc.s V_17
+ IL_06d1: box [mscorlib]System.Int64
+ IL_06d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06db: ldloc.s V_8
+ IL_06dd: ldloc.s V_18
+ IL_06df: beq.s IL_06fc
+
+ IL_06e1: ldc.i4.1
+ IL_06e2: stloc.s V_20
+ IL_06e4: ldstr "dummy check failed {0} {1}"
+ IL_06e9: ldloc.s V_8
+ IL_06eb: box [mscorlib]System.Int32
+ IL_06f0: ldloc.s V_18
+ IL_06f2: box [mscorlib]System.Int32
+ IL_06f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06fc: ldloc.s V_9
+ IL_06fe: ldloc.s V_19
+ IL_0700: beq.s IL_071d
+
+ IL_0702: ldc.i4.1
+ IL_0703: stloc.s V_20
+ IL_0705: ldstr "dummy64 check failed {0} {1}"
+ IL_070a: ldloc.s V_9
+ IL_070c: box [mscorlib]System.Int64
+ IL_0711: ldloc.s V_19
+ IL_0713: box [mscorlib]System.Int64
+ IL_0718: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_071d: ldsfld int32 IntrinsicTest::counter
+ IL_0722: ldsfld int32 IntrinsicTest::id_counter
+ IL_0727: beq.s IL_074a
+
+ IL_0729: ldstr "counter mismatch {0} {1}"
+ IL_072e: ldsfld int32 IntrinsicTest::counter
+ IL_0733: box [mscorlib]System.Int32
+ IL_0738: ldsfld int32 IntrinsicTest::id_counter
+ IL_073d: box [mscorlib]System.Int32
+ IL_0742: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0747: ldc.i4.1
+ IL_0748: stloc.s V_20
+ IL_074a: ldsfld int64 IntrinsicTest::counter64
+ IL_074f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0754: beq.s IL_0777
+
+ IL_0756: ldstr "counter64 mismatch {0} {1}"
+ IL_075b: ldsfld int64 IntrinsicTest::counter64
+ IL_0760: box [mscorlib]System.Int64
+ IL_0765: ldsfld int64 IntrinsicTest::id_counter64
+ IL_076a: box [mscorlib]System.Int64
+ IL_076f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0774: ldc.i4.1
+ IL_0775: stloc.s V_20
+ IL_0777: ldloc.s V_21
+ IL_0779: ldfld int32 IntrinsicTest::instanceCounter
+ IL_077e: ldloc.s V_21
+ IL_0780: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0785: beq.s IL_07ac
+
+ IL_0787: ldstr "instanceCounter mismatch {0} {1}"
+ IL_078c: ldloc.s V_21
+ IL_078e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0793: box [mscorlib]System.Int32
+ IL_0798: ldloc.s V_21
+ IL_079a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_079f: box [mscorlib]System.Int32
+ IL_07a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07a9: ldc.i4.1
+ IL_07aa: stloc.s V_20
+ IL_07ac: ldloc.s V_21
+ IL_07ae: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_07b3: ldloc.s V_21
+ IL_07b5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_07ba: beq.s IL_07e1
+
+ IL_07bc: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_07c1: ldloc.s V_21
+ IL_07c3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_07c8: box [mscorlib]System.Int64
+ IL_07cd: ldloc.s V_21
+ IL_07cf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_07d4: box [mscorlib]System.Int64
+ IL_07d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07de: ldc.i4.1
+ IL_07df: stloc.s V_20
+ IL_07e1: ldsfld int64 IntrinsicTest::temp
+ IL_07e6: ldsfld int64 IntrinsicTest::idmp
+ IL_07eb: beq.s IL_080e
+
+ IL_07ed: ldstr "temp mismatch {0} {1}"
+ IL_07f2: ldsfld int64 IntrinsicTest::temp
+ IL_07f7: box [mscorlib]System.Int64
+ IL_07fc: ldsfld int64 IntrinsicTest::idmp
+ IL_0801: box [mscorlib]System.Int64
+ IL_0806: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_080b: ldc.i4.1
+ IL_080c: stloc.s V_20
+ IL_080e: ldsflda int64 IntrinsicTest::counter64
+ IL_0813: ldsfld int64 IntrinsicTest::counter64
+ IL_0818: ldloc.s V_4
+ IL_081a: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_081f: stloc.s V_4
+ IL_0821: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0826: stloc.s V_14
+ IL_0828: ldsfld int64 IntrinsicTest::id_counter64
+ IL_082d: ldloc.s V_14
+ IL_082f: bne.un.s IL_083d
+
+ IL_0831: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0836: stsfld int64 IntrinsicTest::id_counter64
+ IL_083b: br.s IL_0847
+
+ IL_083d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0842: stsfld int64 IntrinsicTest::idjunk
+ IL_0847: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 3"
+ IL_084c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0851: ldloc.0
+ IL_0852: ldloc.s V_10
+ IL_0854: beq.s IL_0870
+
+ IL_0856: ldc.i4.1
+ IL_0857: stloc.s V_20
+ IL_0859: ldstr "te0 check failed {0} {1}"
+ IL_085e: ldloc.0
+ IL_085f: box [mscorlib]System.Int32
+ IL_0864: ldloc.s V_10
+ IL_0866: box [mscorlib]System.Int32
+ IL_086b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0870: ldloc.1
+ IL_0871: ldloc.s V_11
+ IL_0873: beq.s IL_088f
+
+ IL_0875: ldc.i4.1
+ IL_0876: stloc.s V_20
+ IL_0878: ldstr "te1 check failed {0} {1}"
+ IL_087d: ldloc.1
+ IL_087e: box [mscorlib]System.Int32
+ IL_0883: ldloc.s V_11
+ IL_0885: box [mscorlib]System.Int32
+ IL_088a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_088f: ldloc.2
+ IL_0890: ldloc.s V_12
+ IL_0892: beq.s IL_08ae
+
+ IL_0894: ldc.i4.1
+ IL_0895: stloc.s V_20
+ IL_0897: ldstr "te2 check failed {0} {1}"
+ IL_089c: ldloc.2
+ IL_089d: box [mscorlib]System.Int32
+ IL_08a2: ldloc.s V_12
+ IL_08a4: box [mscorlib]System.Int32
+ IL_08a9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08ae: ldloc.3
+ IL_08af: ldloc.s V_13
+ IL_08b1: beq.s IL_08cd
+
+ IL_08b3: ldc.i4.1
+ IL_08b4: stloc.s V_20
+ IL_08b6: ldstr "te3 check failed {0} {1}"
+ IL_08bb: ldloc.3
+ IL_08bc: box [mscorlib]System.Int32
+ IL_08c1: ldloc.s V_13
+ IL_08c3: box [mscorlib]System.Int32
+ IL_08c8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08cd: ldloc.s V_4
+ IL_08cf: ldloc.s V_14
+ IL_08d1: beq.s IL_08ee
+
+ IL_08d3: ldc.i4.1
+ IL_08d4: stloc.s V_20
+ IL_08d6: ldstr "te064 check failed {0} {1}"
+ IL_08db: ldloc.s V_4
+ IL_08dd: box [mscorlib]System.Int64
+ IL_08e2: ldloc.s V_14
+ IL_08e4: box [mscorlib]System.Int64
+ IL_08e9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08ee: ldloc.s V_5
+ IL_08f0: ldloc.s V_15
+ IL_08f2: beq.s IL_090f
+
+ IL_08f4: ldc.i4.1
+ IL_08f5: stloc.s V_20
+ IL_08f7: ldstr "te164 check failed {0} {1}"
+ IL_08fc: ldloc.s V_5
+ IL_08fe: box [mscorlib]System.Int64
+ IL_0903: ldloc.s V_15
+ IL_0905: box [mscorlib]System.Int64
+ IL_090a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_090f: ldloc.s V_6
+ IL_0911: ldloc.s V_16
+ IL_0913: beq.s IL_0930
+
+ IL_0915: ldc.i4.1
+ IL_0916: stloc.s V_20
+ IL_0918: ldstr "te264 check failed {0} {1}"
+ IL_091d: ldloc.s V_6
+ IL_091f: box [mscorlib]System.Int64
+ IL_0924: ldloc.s V_16
+ IL_0926: box [mscorlib]System.Int64
+ IL_092b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0930: ldloc.s V_7
+ IL_0932: ldloc.s V_17
+ IL_0934: beq.s IL_0951
+
+ IL_0936: ldc.i4.1
+ IL_0937: stloc.s V_20
+ IL_0939: ldstr "te364 check failed {0} {1}"
+ IL_093e: ldloc.s V_7
+ IL_0940: box [mscorlib]System.Int64
+ IL_0945: ldloc.s V_17
+ IL_0947: box [mscorlib]System.Int64
+ IL_094c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0951: ldloc.s V_8
+ IL_0953: ldloc.s V_18
+ IL_0955: beq.s IL_0972
+
+ IL_0957: ldc.i4.1
+ IL_0958: stloc.s V_20
+ IL_095a: ldstr "dummy check failed {0} {1}"
+ IL_095f: ldloc.s V_8
+ IL_0961: box [mscorlib]System.Int32
+ IL_0966: ldloc.s V_18
+ IL_0968: box [mscorlib]System.Int32
+ IL_096d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0972: ldloc.s V_9
+ IL_0974: ldloc.s V_19
+ IL_0976: beq.s IL_0993
+
+ IL_0978: ldc.i4.1
+ IL_0979: stloc.s V_20
+ IL_097b: ldstr "dummy64 check failed {0} {1}"
+ IL_0980: ldloc.s V_9
+ IL_0982: box [mscorlib]System.Int64
+ IL_0987: ldloc.s V_19
+ IL_0989: box [mscorlib]System.Int64
+ IL_098e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0993: ldsfld int32 IntrinsicTest::counter
+ IL_0998: ldsfld int32 IntrinsicTest::id_counter
+ IL_099d: beq.s IL_09c0
+
+ IL_099f: ldstr "counter mismatch {0} {1}"
+ IL_09a4: ldsfld int32 IntrinsicTest::counter
+ IL_09a9: box [mscorlib]System.Int32
+ IL_09ae: ldsfld int32 IntrinsicTest::id_counter
+ IL_09b3: box [mscorlib]System.Int32
+ IL_09b8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09bd: ldc.i4.1
+ IL_09be: stloc.s V_20
+ IL_09c0: ldsfld int64 IntrinsicTest::counter64
+ IL_09c5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_09ca: beq.s IL_09ed
+
+ IL_09cc: ldstr "counter64 mismatch {0} {1}"
+ IL_09d1: ldsfld int64 IntrinsicTest::counter64
+ IL_09d6: box [mscorlib]System.Int64
+ IL_09db: ldsfld int64 IntrinsicTest::id_counter64
+ IL_09e0: box [mscorlib]System.Int64
+ IL_09e5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09ea: ldc.i4.1
+ IL_09eb: stloc.s V_20
+ IL_09ed: ldloc.s V_21
+ IL_09ef: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09f4: ldloc.s V_21
+ IL_09f6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09fb: beq.s IL_0a22
+
+ IL_09fd: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0a02: ldloc.s V_21
+ IL_0a04: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0a09: box [mscorlib]System.Int32
+ IL_0a0e: ldloc.s V_21
+ IL_0a10: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0a15: box [mscorlib]System.Int32
+ IL_0a1a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a1f: ldc.i4.1
+ IL_0a20: stloc.s V_20
+ IL_0a22: ldloc.s V_21
+ IL_0a24: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0a29: ldloc.s V_21
+ IL_0a2b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0a30: beq.s IL_0a57
+
+ IL_0a32: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0a37: ldloc.s V_21
+ IL_0a39: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0a3e: box [mscorlib]System.Int64
+ IL_0a43: ldloc.s V_21
+ IL_0a45: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0a4a: box [mscorlib]System.Int64
+ IL_0a4f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a54: ldc.i4.1
+ IL_0a55: stloc.s V_20
+ IL_0a57: ldsfld int64 IntrinsicTest::temp
+ IL_0a5c: ldsfld int64 IntrinsicTest::idmp
+ IL_0a61: beq.s IL_0a84
+
+ IL_0a63: ldstr "temp mismatch {0} {1}"
+ IL_0a68: ldsfld int64 IntrinsicTest::temp
+ IL_0a6d: box [mscorlib]System.Int64
+ IL_0a72: ldsfld int64 IntrinsicTest::idmp
+ IL_0a77: box [mscorlib]System.Int64
+ IL_0a7c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a81: ldc.i4.1
+ IL_0a82: stloc.s V_20
+ IL_0a84: ldsflda int64 IntrinsicTest::counter64
+ IL_0a89: ldsfld int64 IntrinsicTest::counter64
+ IL_0a8e: ldloc.s V_4
+ IL_0a90: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_0a95: stsfld int64 IntrinsicTest::counter64
+ IL_0a9a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0a9f: stsfld int64 IntrinsicTest::id_counter64
+ IL_0aa4: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0aa9: ldloc.s V_14
+ IL_0aab: bne.un.s IL_0ab9
+
+ IL_0aad: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0ab2: stsfld int64 IntrinsicTest::idjunk
+ IL_0ab7: br.s IL_0ac3
+
+ IL_0ab9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0abe: stsfld int64 IntrinsicTest::idjunk
+ IL_0ac3: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 4"
+ IL_0ac8: call void [System.Console]System.Console::WriteLine(string)
+ IL_0acd: ldloc.0
+ IL_0ace: ldloc.s V_10
+ IL_0ad0: beq.s IL_0aec
+
+ IL_0ad2: ldc.i4.1
+ IL_0ad3: stloc.s V_20
+ IL_0ad5: ldstr "te0 check failed {0} {1}"
+ IL_0ada: ldloc.0
+ IL_0adb: box [mscorlib]System.Int32
+ IL_0ae0: ldloc.s V_10
+ IL_0ae2: box [mscorlib]System.Int32
+ IL_0ae7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0aec: ldloc.1
+ IL_0aed: ldloc.s V_11
+ IL_0aef: beq.s IL_0b0b
+
+ IL_0af1: ldc.i4.1
+ IL_0af2: stloc.s V_20
+ IL_0af4: ldstr "te1 check failed {0} {1}"
+ IL_0af9: ldloc.1
+ IL_0afa: box [mscorlib]System.Int32
+ IL_0aff: ldloc.s V_11
+ IL_0b01: box [mscorlib]System.Int32
+ IL_0b06: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b0b: ldloc.2
+ IL_0b0c: ldloc.s V_12
+ IL_0b0e: beq.s IL_0b2a
+
+ IL_0b10: ldc.i4.1
+ IL_0b11: stloc.s V_20
+ IL_0b13: ldstr "te2 check failed {0} {1}"
+ IL_0b18: ldloc.2
+ IL_0b19: box [mscorlib]System.Int32
+ IL_0b1e: ldloc.s V_12
+ IL_0b20: box [mscorlib]System.Int32
+ IL_0b25: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b2a: ldloc.3
+ IL_0b2b: ldloc.s V_13
+ IL_0b2d: beq.s IL_0b49
+
+ IL_0b2f: ldc.i4.1
+ IL_0b30: stloc.s V_20
+ IL_0b32: ldstr "te3 check failed {0} {1}"
+ IL_0b37: ldloc.3
+ IL_0b38: box [mscorlib]System.Int32
+ IL_0b3d: ldloc.s V_13
+ IL_0b3f: box [mscorlib]System.Int32
+ IL_0b44: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b49: ldloc.s V_4
+ IL_0b4b: ldloc.s V_14
+ IL_0b4d: beq.s IL_0b6a
+
+ IL_0b4f: ldc.i4.1
+ IL_0b50: stloc.s V_20
+ IL_0b52: ldstr "te064 check failed {0} {1}"
+ IL_0b57: ldloc.s V_4
+ IL_0b59: box [mscorlib]System.Int64
+ IL_0b5e: ldloc.s V_14
+ IL_0b60: box [mscorlib]System.Int64
+ IL_0b65: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b6a: ldloc.s V_5
+ IL_0b6c: ldloc.s V_15
+ IL_0b6e: beq.s IL_0b8b
+
+ IL_0b70: ldc.i4.1
+ IL_0b71: stloc.s V_20
+ IL_0b73: ldstr "te164 check failed {0} {1}"
+ IL_0b78: ldloc.s V_5
+ IL_0b7a: box [mscorlib]System.Int64
+ IL_0b7f: ldloc.s V_15
+ IL_0b81: box [mscorlib]System.Int64
+ IL_0b86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b8b: ldloc.s V_6
+ IL_0b8d: ldloc.s V_16
+ IL_0b8f: beq.s IL_0bac
+
+ IL_0b91: ldc.i4.1
+ IL_0b92: stloc.s V_20
+ IL_0b94: ldstr "te264 check failed {0} {1}"
+ IL_0b99: ldloc.s V_6
+ IL_0b9b: box [mscorlib]System.Int64
+ IL_0ba0: ldloc.s V_16
+ IL_0ba2: box [mscorlib]System.Int64
+ IL_0ba7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bac: ldloc.s V_7
+ IL_0bae: ldloc.s V_17
+ IL_0bb0: beq.s IL_0bcd
+
+ IL_0bb2: ldc.i4.1
+ IL_0bb3: stloc.s V_20
+ IL_0bb5: ldstr "te364 check failed {0} {1}"
+ IL_0bba: ldloc.s V_7
+ IL_0bbc: box [mscorlib]System.Int64
+ IL_0bc1: ldloc.s V_17
+ IL_0bc3: box [mscorlib]System.Int64
+ IL_0bc8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bcd: ldloc.s V_8
+ IL_0bcf: ldloc.s V_18
+ IL_0bd1: beq.s IL_0bee
+
+ IL_0bd3: ldc.i4.1
+ IL_0bd4: stloc.s V_20
+ IL_0bd6: ldstr "dummy check failed {0} {1}"
+ IL_0bdb: ldloc.s V_8
+ IL_0bdd: box [mscorlib]System.Int32
+ IL_0be2: ldloc.s V_18
+ IL_0be4: box [mscorlib]System.Int32
+ IL_0be9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bee: ldloc.s V_9
+ IL_0bf0: ldloc.s V_19
+ IL_0bf2: beq.s IL_0c0f
+
+ IL_0bf4: ldc.i4.1
+ IL_0bf5: stloc.s V_20
+ IL_0bf7: ldstr "dummy64 check failed {0} {1}"
+ IL_0bfc: ldloc.s V_9
+ IL_0bfe: box [mscorlib]System.Int64
+ IL_0c03: ldloc.s V_19
+ IL_0c05: box [mscorlib]System.Int64
+ IL_0c0a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c0f: ldsfld int32 IntrinsicTest::counter
+ IL_0c14: ldsfld int32 IntrinsicTest::id_counter
+ IL_0c19: beq.s IL_0c3c
+
+ IL_0c1b: ldstr "counter mismatch {0} {1}"
+ IL_0c20: ldsfld int32 IntrinsicTest::counter
+ IL_0c25: box [mscorlib]System.Int32
+ IL_0c2a: ldsfld int32 IntrinsicTest::id_counter
+ IL_0c2f: box [mscorlib]System.Int32
+ IL_0c34: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c39: ldc.i4.1
+ IL_0c3a: stloc.s V_20
+ IL_0c3c: ldsfld int64 IntrinsicTest::counter64
+ IL_0c41: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0c46: beq.s IL_0c69
+
+ IL_0c48: ldstr "counter64 mismatch {0} {1}"
+ IL_0c4d: ldsfld int64 IntrinsicTest::counter64
+ IL_0c52: box [mscorlib]System.Int64
+ IL_0c57: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0c5c: box [mscorlib]System.Int64
+ IL_0c61: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c66: ldc.i4.1
+ IL_0c67: stloc.s V_20
+ IL_0c69: ldloc.s V_21
+ IL_0c6b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0c70: ldloc.s V_21
+ IL_0c72: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0c77: beq.s IL_0c9e
+
+ IL_0c79: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0c7e: ldloc.s V_21
+ IL_0c80: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0c85: box [mscorlib]System.Int32
+ IL_0c8a: ldloc.s V_21
+ IL_0c8c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0c91: box [mscorlib]System.Int32
+ IL_0c96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c9b: ldc.i4.1
+ IL_0c9c: stloc.s V_20
+ IL_0c9e: ldloc.s V_21
+ IL_0ca0: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0ca5: ldloc.s V_21
+ IL_0ca7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0cac: beq.s IL_0cd3
+
+ IL_0cae: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0cb3: ldloc.s V_21
+ IL_0cb5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0cba: box [mscorlib]System.Int64
+ IL_0cbf: ldloc.s V_21
+ IL_0cc1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0cc6: box [mscorlib]System.Int64
+ IL_0ccb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0cd0: ldc.i4.1
+ IL_0cd1: stloc.s V_20
+ IL_0cd3: ldsfld int64 IntrinsicTest::temp
+ IL_0cd8: ldsfld int64 IntrinsicTest::idmp
+ IL_0cdd: beq.s IL_0d00
+
+ IL_0cdf: ldstr "temp mismatch {0} {1}"
+ IL_0ce4: ldsfld int64 IntrinsicTest::temp
+ IL_0ce9: box [mscorlib]System.Int64
+ IL_0cee: ldsfld int64 IntrinsicTest::idmp
+ IL_0cf3: box [mscorlib]System.Int64
+ IL_0cf8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0cfd: ldc.i4.1
+ IL_0cfe: stloc.s V_20
+ IL_0d00: ldloc.s V_21
+ IL_0d02: ldsflda int64 IntrinsicTest::counter64
+ IL_0d07: ldsfld int64 IntrinsicTest::counter64
+ IL_0d0c: ldloc.s V_4
+ IL_0d0e: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_0d13: stfld int64 IntrinsicTest::instanceCounter64
+ IL_0d18: ldloc.s V_21
+ IL_0d1a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0d1f: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0d24: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0d29: ldloc.s V_14
+ IL_0d2b: bne.un.s IL_0d39
+
+ IL_0d2d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0d32: stsfld int64 IntrinsicTest::id_counter64
+ IL_0d37: br.s IL_0d43
+
+ IL_0d39: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0d3e: stsfld int64 IntrinsicTest::idjunk
+ IL_0d43: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 5"
+ IL_0d48: call void [System.Console]System.Console::WriteLine(string)
+ IL_0d4d: ldloc.0
+ IL_0d4e: ldloc.s V_10
+ IL_0d50: beq.s IL_0d6c
+
+ IL_0d52: ldc.i4.1
+ IL_0d53: stloc.s V_20
+ IL_0d55: ldstr "te0 check failed {0} {1}"
+ IL_0d5a: ldloc.0
+ IL_0d5b: box [mscorlib]System.Int32
+ IL_0d60: ldloc.s V_10
+ IL_0d62: box [mscorlib]System.Int32
+ IL_0d67: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0d6c: ldloc.1
+ IL_0d6d: ldloc.s V_11
+ IL_0d6f: beq.s IL_0d8b
+
+ IL_0d71: ldc.i4.1
+ IL_0d72: stloc.s V_20
+ IL_0d74: ldstr "te1 check failed {0} {1}"
+ IL_0d79: ldloc.1
+ IL_0d7a: box [mscorlib]System.Int32
+ IL_0d7f: ldloc.s V_11
+ IL_0d81: box [mscorlib]System.Int32
+ IL_0d86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0d8b: ldloc.2
+ IL_0d8c: ldloc.s V_12
+ IL_0d8e: beq.s IL_0daa
+
+ IL_0d90: ldc.i4.1
+ IL_0d91: stloc.s V_20
+ IL_0d93: ldstr "te2 check failed {0} {1}"
+ IL_0d98: ldloc.2
+ IL_0d99: box [mscorlib]System.Int32
+ IL_0d9e: ldloc.s V_12
+ IL_0da0: box [mscorlib]System.Int32
+ IL_0da5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0daa: ldloc.3
+ IL_0dab: ldloc.s V_13
+ IL_0dad: beq.s IL_0dc9
+
+ IL_0daf: ldc.i4.1
+ IL_0db0: stloc.s V_20
+ IL_0db2: ldstr "te3 check failed {0} {1}"
+ IL_0db7: ldloc.3
+ IL_0db8: box [mscorlib]System.Int32
+ IL_0dbd: ldloc.s V_13
+ IL_0dbf: box [mscorlib]System.Int32
+ IL_0dc4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0dc9: ldloc.s V_4
+ IL_0dcb: ldloc.s V_14
+ IL_0dcd: beq.s IL_0dea
+
+ IL_0dcf: ldc.i4.1
+ IL_0dd0: stloc.s V_20
+ IL_0dd2: ldstr "te064 check failed {0} {1}"
+ IL_0dd7: ldloc.s V_4
+ IL_0dd9: box [mscorlib]System.Int64
+ IL_0dde: ldloc.s V_14
+ IL_0de0: box [mscorlib]System.Int64
+ IL_0de5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0dea: ldloc.s V_5
+ IL_0dec: ldloc.s V_15
+ IL_0dee: beq.s IL_0e0b
+
+ IL_0df0: ldc.i4.1
+ IL_0df1: stloc.s V_20
+ IL_0df3: ldstr "te164 check failed {0} {1}"
+ IL_0df8: ldloc.s V_5
+ IL_0dfa: box [mscorlib]System.Int64
+ IL_0dff: ldloc.s V_15
+ IL_0e01: box [mscorlib]System.Int64
+ IL_0e06: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e0b: ldloc.s V_6
+ IL_0e0d: ldloc.s V_16
+ IL_0e0f: beq.s IL_0e2c
+
+ IL_0e11: ldc.i4.1
+ IL_0e12: stloc.s V_20
+ IL_0e14: ldstr "te264 check failed {0} {1}"
+ IL_0e19: ldloc.s V_6
+ IL_0e1b: box [mscorlib]System.Int64
+ IL_0e20: ldloc.s V_16
+ IL_0e22: box [mscorlib]System.Int64
+ IL_0e27: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e2c: ldloc.s V_7
+ IL_0e2e: ldloc.s V_17
+ IL_0e30: beq.s IL_0e4d
+
+ IL_0e32: ldc.i4.1
+ IL_0e33: stloc.s V_20
+ IL_0e35: ldstr "te364 check failed {0} {1}"
+ IL_0e3a: ldloc.s V_7
+ IL_0e3c: box [mscorlib]System.Int64
+ IL_0e41: ldloc.s V_17
+ IL_0e43: box [mscorlib]System.Int64
+ IL_0e48: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e4d: ldloc.s V_8
+ IL_0e4f: ldloc.s V_18
+ IL_0e51: beq.s IL_0e6e
+
+ IL_0e53: ldc.i4.1
+ IL_0e54: stloc.s V_20
+ IL_0e56: ldstr "dummy check failed {0} {1}"
+ IL_0e5b: ldloc.s V_8
+ IL_0e5d: box [mscorlib]System.Int32
+ IL_0e62: ldloc.s V_18
+ IL_0e64: box [mscorlib]System.Int32
+ IL_0e69: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e6e: ldloc.s V_9
+ IL_0e70: ldloc.s V_19
+ IL_0e72: beq.s IL_0e8f
+
+ IL_0e74: ldc.i4.1
+ IL_0e75: stloc.s V_20
+ IL_0e77: ldstr "dummy64 check failed {0} {1}"
+ IL_0e7c: ldloc.s V_9
+ IL_0e7e: box [mscorlib]System.Int64
+ IL_0e83: ldloc.s V_19
+ IL_0e85: box [mscorlib]System.Int64
+ IL_0e8a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e8f: ldsfld int32 IntrinsicTest::counter
+ IL_0e94: ldsfld int32 IntrinsicTest::id_counter
+ IL_0e99: beq.s IL_0ebc
+
+ IL_0e9b: ldstr "counter mismatch {0} {1}"
+ IL_0ea0: ldsfld int32 IntrinsicTest::counter
+ IL_0ea5: box [mscorlib]System.Int32
+ IL_0eaa: ldsfld int32 IntrinsicTest::id_counter
+ IL_0eaf: box [mscorlib]System.Int32
+ IL_0eb4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0eb9: ldc.i4.1
+ IL_0eba: stloc.s V_20
+ IL_0ebc: ldsfld int64 IntrinsicTest::counter64
+ IL_0ec1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0ec6: beq.s IL_0ee9
+
+ IL_0ec8: ldstr "counter64 mismatch {0} {1}"
+ IL_0ecd: ldsfld int64 IntrinsicTest::counter64
+ IL_0ed2: box [mscorlib]System.Int64
+ IL_0ed7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0edc: box [mscorlib]System.Int64
+ IL_0ee1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0ee6: ldc.i4.1
+ IL_0ee7: stloc.s V_20
+ IL_0ee9: ldloc.s V_21
+ IL_0eeb: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0ef0: ldloc.s V_21
+ IL_0ef2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0ef7: beq.s IL_0f1e
+
+ IL_0ef9: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0efe: ldloc.s V_21
+ IL_0f00: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0f05: box [mscorlib]System.Int32
+ IL_0f0a: ldloc.s V_21
+ IL_0f0c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0f11: box [mscorlib]System.Int32
+ IL_0f16: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f1b: ldc.i4.1
+ IL_0f1c: stloc.s V_20
+ IL_0f1e: ldloc.s V_21
+ IL_0f20: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0f25: ldloc.s V_21
+ IL_0f27: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0f2c: beq.s IL_0f53
+
+ IL_0f2e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0f33: ldloc.s V_21
+ IL_0f35: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0f3a: box [mscorlib]System.Int64
+ IL_0f3f: ldloc.s V_21
+ IL_0f41: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0f46: box [mscorlib]System.Int64
+ IL_0f4b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f50: ldc.i4.1
+ IL_0f51: stloc.s V_20
+ IL_0f53: ldsfld int64 IntrinsicTest::temp
+ IL_0f58: ldsfld int64 IntrinsicTest::idmp
+ IL_0f5d: beq.s IL_0f80
+
+ IL_0f5f: ldstr "temp mismatch {0} {1}"
+ IL_0f64: ldsfld int64 IntrinsicTest::temp
+ IL_0f69: box [mscorlib]System.Int64
+ IL_0f6e: ldsfld int64 IntrinsicTest::idmp
+ IL_0f73: box [mscorlib]System.Int64
+ IL_0f78: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f7d: ldc.i4.1
+ IL_0f7e: stloc.s V_20
+ IL_0f80: ldsflda int64 IntrinsicTest::counter64
+ IL_0f85: ldsfld int64 IntrinsicTest::counter64
+ IL_0f8a: ldloc.s V_4
+ IL_0f8c: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_0f91: stloc.s V_7
+ IL_0f93: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0f98: stloc.s V_17
+ IL_0f9a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0f9f: ldloc.s V_14
+ IL_0fa1: bne.un.s IL_0faf
+
+ IL_0fa3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0fa8: stsfld int64 IntrinsicTest::id_counter64
+ IL_0fad: br.s IL_0fb9
+
+ IL_0faf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0fb4: stsfld int64 IntrinsicTest::idjunk
+ IL_0fb9: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 0 6"
+ IL_0fbe: call void [System.Console]System.Console::WriteLine(string)
+ IL_0fc3: ldloc.0
+ IL_0fc4: ldloc.s V_10
+ IL_0fc6: beq.s IL_0fe2
+
+ IL_0fc8: ldc.i4.1
+ IL_0fc9: stloc.s V_20
+ IL_0fcb: ldstr "te0 check failed {0} {1}"
+ IL_0fd0: ldloc.0
+ IL_0fd1: box [mscorlib]System.Int32
+ IL_0fd6: ldloc.s V_10
+ IL_0fd8: box [mscorlib]System.Int32
+ IL_0fdd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0fe2: ldloc.1
+ IL_0fe3: ldloc.s V_11
+ IL_0fe5: beq.s IL_1001
+
+ IL_0fe7: ldc.i4.1
+ IL_0fe8: stloc.s V_20
+ IL_0fea: ldstr "te1 check failed {0} {1}"
+ IL_0fef: ldloc.1
+ IL_0ff0: box [mscorlib]System.Int32
+ IL_0ff5: ldloc.s V_11
+ IL_0ff7: box [mscorlib]System.Int32
+ IL_0ffc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1001: ldloc.2
+ IL_1002: ldloc.s V_12
+ IL_1004: beq.s IL_1020
+
+ IL_1006: ldc.i4.1
+ IL_1007: stloc.s V_20
+ IL_1009: ldstr "te2 check failed {0} {1}"
+ IL_100e: ldloc.2
+ IL_100f: box [mscorlib]System.Int32
+ IL_1014: ldloc.s V_12
+ IL_1016: box [mscorlib]System.Int32
+ IL_101b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1020: ldloc.3
+ IL_1021: ldloc.s V_13
+ IL_1023: beq.s IL_103f
+
+ IL_1025: ldc.i4.1
+ IL_1026: stloc.s V_20
+ IL_1028: ldstr "te3 check failed {0} {1}"
+ IL_102d: ldloc.3
+ IL_102e: box [mscorlib]System.Int32
+ IL_1033: ldloc.s V_13
+ IL_1035: box [mscorlib]System.Int32
+ IL_103a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_103f: ldloc.s V_4
+ IL_1041: ldloc.s V_14
+ IL_1043: beq.s IL_1060
+
+ IL_1045: ldc.i4.1
+ IL_1046: stloc.s V_20
+ IL_1048: ldstr "te064 check failed {0} {1}"
+ IL_104d: ldloc.s V_4
+ IL_104f: box [mscorlib]System.Int64
+ IL_1054: ldloc.s V_14
+ IL_1056: box [mscorlib]System.Int64
+ IL_105b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1060: ldloc.s V_5
+ IL_1062: ldloc.s V_15
+ IL_1064: beq.s IL_1081
+
+ IL_1066: ldc.i4.1
+ IL_1067: stloc.s V_20
+ IL_1069: ldstr "te164 check failed {0} {1}"
+ IL_106e: ldloc.s V_5
+ IL_1070: box [mscorlib]System.Int64
+ IL_1075: ldloc.s V_15
+ IL_1077: box [mscorlib]System.Int64
+ IL_107c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1081: ldloc.s V_6
+ IL_1083: ldloc.s V_16
+ IL_1085: beq.s IL_10a2
+
+ IL_1087: ldc.i4.1
+ IL_1088: stloc.s V_20
+ IL_108a: ldstr "te264 check failed {0} {1}"
+ IL_108f: ldloc.s V_6
+ IL_1091: box [mscorlib]System.Int64
+ IL_1096: ldloc.s V_16
+ IL_1098: box [mscorlib]System.Int64
+ IL_109d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10a2: ldloc.s V_7
+ IL_10a4: ldloc.s V_17
+ IL_10a6: beq.s IL_10c3
+
+ IL_10a8: ldc.i4.1
+ IL_10a9: stloc.s V_20
+ IL_10ab: ldstr "te364 check failed {0} {1}"
+ IL_10b0: ldloc.s V_7
+ IL_10b2: box [mscorlib]System.Int64
+ IL_10b7: ldloc.s V_17
+ IL_10b9: box [mscorlib]System.Int64
+ IL_10be: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10c3: ldloc.s V_8
+ IL_10c5: ldloc.s V_18
+ IL_10c7: beq.s IL_10e4
+
+ IL_10c9: ldc.i4.1
+ IL_10ca: stloc.s V_20
+ IL_10cc: ldstr "dummy check failed {0} {1}"
+ IL_10d1: ldloc.s V_8
+ IL_10d3: box [mscorlib]System.Int32
+ IL_10d8: ldloc.s V_18
+ IL_10da: box [mscorlib]System.Int32
+ IL_10df: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10e4: ldloc.s V_9
+ IL_10e6: ldloc.s V_19
+ IL_10e8: beq.s IL_1105
+
+ IL_10ea: ldc.i4.1
+ IL_10eb: stloc.s V_20
+ IL_10ed: ldstr "dummy64 check failed {0} {1}"
+ IL_10f2: ldloc.s V_9
+ IL_10f4: box [mscorlib]System.Int64
+ IL_10f9: ldloc.s V_19
+ IL_10fb: box [mscorlib]System.Int64
+ IL_1100: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1105: ldsfld int32 IntrinsicTest::counter
+ IL_110a: ldsfld int32 IntrinsicTest::id_counter
+ IL_110f: beq.s IL_1132
+
+ IL_1111: ldstr "counter mismatch {0} {1}"
+ IL_1116: ldsfld int32 IntrinsicTest::counter
+ IL_111b: box [mscorlib]System.Int32
+ IL_1120: ldsfld int32 IntrinsicTest::id_counter
+ IL_1125: box [mscorlib]System.Int32
+ IL_112a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_112f: ldc.i4.1
+ IL_1130: stloc.s V_20
+ IL_1132: ldsfld int64 IntrinsicTest::counter64
+ IL_1137: ldsfld int64 IntrinsicTest::id_counter64
+ IL_113c: beq.s IL_115f
+
+ IL_113e: ldstr "counter64 mismatch {0} {1}"
+ IL_1143: ldsfld int64 IntrinsicTest::counter64
+ IL_1148: box [mscorlib]System.Int64
+ IL_114d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1152: box [mscorlib]System.Int64
+ IL_1157: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_115c: ldc.i4.1
+ IL_115d: stloc.s V_20
+ IL_115f: ldloc.s V_21
+ IL_1161: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1166: ldloc.s V_21
+ IL_1168: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_116d: beq.s IL_1194
+
+ IL_116f: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1174: ldloc.s V_21
+ IL_1176: ldfld int32 IntrinsicTest::instanceCounter
+ IL_117b: box [mscorlib]System.Int32
+ IL_1180: ldloc.s V_21
+ IL_1182: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1187: box [mscorlib]System.Int32
+ IL_118c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1191: ldc.i4.1
+ IL_1192: stloc.s V_20
+ IL_1194: ldloc.s V_21
+ IL_1196: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_119b: ldloc.s V_21
+ IL_119d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_11a2: beq.s IL_11c9
+
+ IL_11a4: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_11a9: ldloc.s V_21
+ IL_11ab: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_11b0: box [mscorlib]System.Int64
+ IL_11b5: ldloc.s V_21
+ IL_11b7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_11bc: box [mscorlib]System.Int64
+ IL_11c1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_11c6: ldc.i4.1
+ IL_11c7: stloc.s V_20
+ IL_11c9: ldsfld int64 IntrinsicTest::temp
+ IL_11ce: ldsfld int64 IntrinsicTest::idmp
+ IL_11d3: beq.s IL_11f6
+
+ IL_11d5: ldstr "temp mismatch {0} {1}"
+ IL_11da: ldsfld int64 IntrinsicTest::temp
+ IL_11df: box [mscorlib]System.Int64
+ IL_11e4: ldsfld int64 IntrinsicTest::idmp
+ IL_11e9: box [mscorlib]System.Int64
+ IL_11ee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_11f3: ldc.i4.1
+ IL_11f4: stloc.s V_20
+ IL_11f6: ldsflda int64 IntrinsicTest::counter64
+ IL_11fb: ldsfld int64 IntrinsicTest::counter64
+ IL_1200: ldsfld int64 IntrinsicTest::counter64
+ IL_1205: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_120a: stloc.s V_4
+ IL_120c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1211: stloc.s V_14
+ IL_1213: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1218: ldsfld int64 IntrinsicTest::id_counter64
+ IL_121d: bne.un.s IL_122b
+
+ IL_121f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1224: stsfld int64 IntrinsicTest::id_counter64
+ IL_1229: br.s IL_1235
+
+ IL_122b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1230: stsfld int64 IntrinsicTest::idjunk
+ IL_1235: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 0"
+ IL_123a: call void [System.Console]System.Console::WriteLine(string)
+ IL_123f: ldloc.0
+ IL_1240: ldloc.s V_10
+ IL_1242: beq.s IL_125e
+
+ IL_1244: ldc.i4.1
+ IL_1245: stloc.s V_20
+ IL_1247: ldstr "te0 check failed {0} {1}"
+ IL_124c: ldloc.0
+ IL_124d: box [mscorlib]System.Int32
+ IL_1252: ldloc.s V_10
+ IL_1254: box [mscorlib]System.Int32
+ IL_1259: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_125e: ldloc.1
+ IL_125f: ldloc.s V_11
+ IL_1261: beq.s IL_127d
+
+ IL_1263: ldc.i4.1
+ IL_1264: stloc.s V_20
+ IL_1266: ldstr "te1 check failed {0} {1}"
+ IL_126b: ldloc.1
+ IL_126c: box [mscorlib]System.Int32
+ IL_1271: ldloc.s V_11
+ IL_1273: box [mscorlib]System.Int32
+ IL_1278: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_127d: ldloc.2
+ IL_127e: ldloc.s V_12
+ IL_1280: beq.s IL_129c
+
+ IL_1282: ldc.i4.1
+ IL_1283: stloc.s V_20
+ IL_1285: ldstr "te2 check failed {0} {1}"
+ IL_128a: ldloc.2
+ IL_128b: box [mscorlib]System.Int32
+ IL_1290: ldloc.s V_12
+ IL_1292: box [mscorlib]System.Int32
+ IL_1297: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_129c: ldloc.3
+ IL_129d: ldloc.s V_13
+ IL_129f: beq.s IL_12bb
+
+ IL_12a1: ldc.i4.1
+ IL_12a2: stloc.s V_20
+ IL_12a4: ldstr "te3 check failed {0} {1}"
+ IL_12a9: ldloc.3
+ IL_12aa: box [mscorlib]System.Int32
+ IL_12af: ldloc.s V_13
+ IL_12b1: box [mscorlib]System.Int32
+ IL_12b6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12bb: ldloc.s V_4
+ IL_12bd: ldloc.s V_14
+ IL_12bf: beq.s IL_12dc
+
+ IL_12c1: ldc.i4.1
+ IL_12c2: stloc.s V_20
+ IL_12c4: ldstr "te064 check failed {0} {1}"
+ IL_12c9: ldloc.s V_4
+ IL_12cb: box [mscorlib]System.Int64
+ IL_12d0: ldloc.s V_14
+ IL_12d2: box [mscorlib]System.Int64
+ IL_12d7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12dc: ldloc.s V_5
+ IL_12de: ldloc.s V_15
+ IL_12e0: beq.s IL_12fd
+
+ IL_12e2: ldc.i4.1
+ IL_12e3: stloc.s V_20
+ IL_12e5: ldstr "te164 check failed {0} {1}"
+ IL_12ea: ldloc.s V_5
+ IL_12ec: box [mscorlib]System.Int64
+ IL_12f1: ldloc.s V_15
+ IL_12f3: box [mscorlib]System.Int64
+ IL_12f8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12fd: ldloc.s V_6
+ IL_12ff: ldloc.s V_16
+ IL_1301: beq.s IL_131e
+
+ IL_1303: ldc.i4.1
+ IL_1304: stloc.s V_20
+ IL_1306: ldstr "te264 check failed {0} {1}"
+ IL_130b: ldloc.s V_6
+ IL_130d: box [mscorlib]System.Int64
+ IL_1312: ldloc.s V_16
+ IL_1314: box [mscorlib]System.Int64
+ IL_1319: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_131e: ldloc.s V_7
+ IL_1320: ldloc.s V_17
+ IL_1322: beq.s IL_133f
+
+ IL_1324: ldc.i4.1
+ IL_1325: stloc.s V_20
+ IL_1327: ldstr "te364 check failed {0} {1}"
+ IL_132c: ldloc.s V_7
+ IL_132e: box [mscorlib]System.Int64
+ IL_1333: ldloc.s V_17
+ IL_1335: box [mscorlib]System.Int64
+ IL_133a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_133f: ldloc.s V_8
+ IL_1341: ldloc.s V_18
+ IL_1343: beq.s IL_1360
+
+ IL_1345: ldc.i4.1
+ IL_1346: stloc.s V_20
+ IL_1348: ldstr "dummy check failed {0} {1}"
+ IL_134d: ldloc.s V_8
+ IL_134f: box [mscorlib]System.Int32
+ IL_1354: ldloc.s V_18
+ IL_1356: box [mscorlib]System.Int32
+ IL_135b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1360: ldloc.s V_9
+ IL_1362: ldloc.s V_19
+ IL_1364: beq.s IL_1381
+
+ IL_1366: ldc.i4.1
+ IL_1367: stloc.s V_20
+ IL_1369: ldstr "dummy64 check failed {0} {1}"
+ IL_136e: ldloc.s V_9
+ IL_1370: box [mscorlib]System.Int64
+ IL_1375: ldloc.s V_19
+ IL_1377: box [mscorlib]System.Int64
+ IL_137c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1381: ldsfld int32 IntrinsicTest::counter
+ IL_1386: ldsfld int32 IntrinsicTest::id_counter
+ IL_138b: beq.s IL_13ae
+
+ IL_138d: ldstr "counter mismatch {0} {1}"
+ IL_1392: ldsfld int32 IntrinsicTest::counter
+ IL_1397: box [mscorlib]System.Int32
+ IL_139c: ldsfld int32 IntrinsicTest::id_counter
+ IL_13a1: box [mscorlib]System.Int32
+ IL_13a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_13ab: ldc.i4.1
+ IL_13ac: stloc.s V_20
+ IL_13ae: ldsfld int64 IntrinsicTest::counter64
+ IL_13b3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_13b8: beq.s IL_13db
+
+ IL_13ba: ldstr "counter64 mismatch {0} {1}"
+ IL_13bf: ldsfld int64 IntrinsicTest::counter64
+ IL_13c4: box [mscorlib]System.Int64
+ IL_13c9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_13ce: box [mscorlib]System.Int64
+ IL_13d3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_13d8: ldc.i4.1
+ IL_13d9: stloc.s V_20
+ IL_13db: ldloc.s V_21
+ IL_13dd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_13e2: ldloc.s V_21
+ IL_13e4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_13e9: beq.s IL_1410
+
+ IL_13eb: ldstr "instanceCounter mismatch {0} {1}"
+ IL_13f0: ldloc.s V_21
+ IL_13f2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_13f7: box [mscorlib]System.Int32
+ IL_13fc: ldloc.s V_21
+ IL_13fe: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1403: box [mscorlib]System.Int32
+ IL_1408: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_140d: ldc.i4.1
+ IL_140e: stloc.s V_20
+ IL_1410: ldloc.s V_21
+ IL_1412: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1417: ldloc.s V_21
+ IL_1419: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_141e: beq.s IL_1445
+
+ IL_1420: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1425: ldloc.s V_21
+ IL_1427: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_142c: box [mscorlib]System.Int64
+ IL_1431: ldloc.s V_21
+ IL_1433: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1438: box [mscorlib]System.Int64
+ IL_143d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1442: ldc.i4.1
+ IL_1443: stloc.s V_20
+ IL_1445: ldsfld int64 IntrinsicTest::temp
+ IL_144a: ldsfld int64 IntrinsicTest::idmp
+ IL_144f: beq.s IL_1472
+
+ IL_1451: ldstr "temp mismatch {0} {1}"
+ IL_1456: ldsfld int64 IntrinsicTest::temp
+ IL_145b: box [mscorlib]System.Int64
+ IL_1460: ldsfld int64 IntrinsicTest::idmp
+ IL_1465: box [mscorlib]System.Int64
+ IL_146a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_146f: ldc.i4.1
+ IL_1470: stloc.s V_20
+ IL_1472: ldsflda int64 IntrinsicTest::counter64
+ IL_1477: ldsfld int64 IntrinsicTest::counter64
+ IL_147c: ldsfld int64 IntrinsicTest::counter64
+ IL_1481: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_1486: stsfld int64 IntrinsicTest::counter64
+ IL_148b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1490: stsfld int64 IntrinsicTest::id_counter64
+ IL_1495: ldsfld int64 IntrinsicTest::id_counter64
+ IL_149a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_149f: bne.un.s IL_14ad
+
+ IL_14a1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_14a6: stsfld int64 IntrinsicTest::idjunk
+ IL_14ab: br.s IL_14b7
+
+ IL_14ad: ldsfld int64 IntrinsicTest::id_counter64
+ IL_14b2: stsfld int64 IntrinsicTest::idjunk
+ IL_14b7: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 1"
+ IL_14bc: call void [System.Console]System.Console::WriteLine(string)
+ IL_14c1: ldloc.0
+ IL_14c2: ldloc.s V_10
+ IL_14c4: beq.s IL_14e0
+
+ IL_14c6: ldc.i4.1
+ IL_14c7: stloc.s V_20
+ IL_14c9: ldstr "te0 check failed {0} {1}"
+ IL_14ce: ldloc.0
+ IL_14cf: box [mscorlib]System.Int32
+ IL_14d4: ldloc.s V_10
+ IL_14d6: box [mscorlib]System.Int32
+ IL_14db: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_14e0: ldloc.1
+ IL_14e1: ldloc.s V_11
+ IL_14e3: beq.s IL_14ff
+
+ IL_14e5: ldc.i4.1
+ IL_14e6: stloc.s V_20
+ IL_14e8: ldstr "te1 check failed {0} {1}"
+ IL_14ed: ldloc.1
+ IL_14ee: box [mscorlib]System.Int32
+ IL_14f3: ldloc.s V_11
+ IL_14f5: box [mscorlib]System.Int32
+ IL_14fa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_14ff: ldloc.2
+ IL_1500: ldloc.s V_12
+ IL_1502: beq.s IL_151e
+
+ IL_1504: ldc.i4.1
+ IL_1505: stloc.s V_20
+ IL_1507: ldstr "te2 check failed {0} {1}"
+ IL_150c: ldloc.2
+ IL_150d: box [mscorlib]System.Int32
+ IL_1512: ldloc.s V_12
+ IL_1514: box [mscorlib]System.Int32
+ IL_1519: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_151e: ldloc.3
+ IL_151f: ldloc.s V_13
+ IL_1521: beq.s IL_153d
+
+ IL_1523: ldc.i4.1
+ IL_1524: stloc.s V_20
+ IL_1526: ldstr "te3 check failed {0} {1}"
+ IL_152b: ldloc.3
+ IL_152c: box [mscorlib]System.Int32
+ IL_1531: ldloc.s V_13
+ IL_1533: box [mscorlib]System.Int32
+ IL_1538: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_153d: ldloc.s V_4
+ IL_153f: ldloc.s V_14
+ IL_1541: beq.s IL_155e
+
+ IL_1543: ldc.i4.1
+ IL_1544: stloc.s V_20
+ IL_1546: ldstr "te064 check failed {0} {1}"
+ IL_154b: ldloc.s V_4
+ IL_154d: box [mscorlib]System.Int64
+ IL_1552: ldloc.s V_14
+ IL_1554: box [mscorlib]System.Int64
+ IL_1559: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_155e: ldloc.s V_5
+ IL_1560: ldloc.s V_15
+ IL_1562: beq.s IL_157f
+
+ IL_1564: ldc.i4.1
+ IL_1565: stloc.s V_20
+ IL_1567: ldstr "te164 check failed {0} {1}"
+ IL_156c: ldloc.s V_5
+ IL_156e: box [mscorlib]System.Int64
+ IL_1573: ldloc.s V_15
+ IL_1575: box [mscorlib]System.Int64
+ IL_157a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_157f: ldloc.s V_6
+ IL_1581: ldloc.s V_16
+ IL_1583: beq.s IL_15a0
+
+ IL_1585: ldc.i4.1
+ IL_1586: stloc.s V_20
+ IL_1588: ldstr "te264 check failed {0} {1}"
+ IL_158d: ldloc.s V_6
+ IL_158f: box [mscorlib]System.Int64
+ IL_1594: ldloc.s V_16
+ IL_1596: box [mscorlib]System.Int64
+ IL_159b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15a0: ldloc.s V_7
+ IL_15a2: ldloc.s V_17
+ IL_15a4: beq.s IL_15c1
+
+ IL_15a6: ldc.i4.1
+ IL_15a7: stloc.s V_20
+ IL_15a9: ldstr "te364 check failed {0} {1}"
+ IL_15ae: ldloc.s V_7
+ IL_15b0: box [mscorlib]System.Int64
+ IL_15b5: ldloc.s V_17
+ IL_15b7: box [mscorlib]System.Int64
+ IL_15bc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15c1: ldloc.s V_8
+ IL_15c3: ldloc.s V_18
+ IL_15c5: beq.s IL_15e2
+
+ IL_15c7: ldc.i4.1
+ IL_15c8: stloc.s V_20
+ IL_15ca: ldstr "dummy check failed {0} {1}"
+ IL_15cf: ldloc.s V_8
+ IL_15d1: box [mscorlib]System.Int32
+ IL_15d6: ldloc.s V_18
+ IL_15d8: box [mscorlib]System.Int32
+ IL_15dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15e2: ldloc.s V_9
+ IL_15e4: ldloc.s V_19
+ IL_15e6: beq.s IL_1603
+
+ IL_15e8: ldc.i4.1
+ IL_15e9: stloc.s V_20
+ IL_15eb: ldstr "dummy64 check failed {0} {1}"
+ IL_15f0: ldloc.s V_9
+ IL_15f2: box [mscorlib]System.Int64
+ IL_15f7: ldloc.s V_19
+ IL_15f9: box [mscorlib]System.Int64
+ IL_15fe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1603: ldsfld int32 IntrinsicTest::counter
+ IL_1608: ldsfld int32 IntrinsicTest::id_counter
+ IL_160d: beq.s IL_1630
+
+ IL_160f: ldstr "counter mismatch {0} {1}"
+ IL_1614: ldsfld int32 IntrinsicTest::counter
+ IL_1619: box [mscorlib]System.Int32
+ IL_161e: ldsfld int32 IntrinsicTest::id_counter
+ IL_1623: box [mscorlib]System.Int32
+ IL_1628: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_162d: ldc.i4.1
+ IL_162e: stloc.s V_20
+ IL_1630: ldsfld int64 IntrinsicTest::counter64
+ IL_1635: ldsfld int64 IntrinsicTest::id_counter64
+ IL_163a: beq.s IL_165d
+
+ IL_163c: ldstr "counter64 mismatch {0} {1}"
+ IL_1641: ldsfld int64 IntrinsicTest::counter64
+ IL_1646: box [mscorlib]System.Int64
+ IL_164b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1650: box [mscorlib]System.Int64
+ IL_1655: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_165a: ldc.i4.1
+ IL_165b: stloc.s V_20
+ IL_165d: ldloc.s V_21
+ IL_165f: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1664: ldloc.s V_21
+ IL_1666: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_166b: beq.s IL_1692
+
+ IL_166d: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1672: ldloc.s V_21
+ IL_1674: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1679: box [mscorlib]System.Int32
+ IL_167e: ldloc.s V_21
+ IL_1680: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1685: box [mscorlib]System.Int32
+ IL_168a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_168f: ldc.i4.1
+ IL_1690: stloc.s V_20
+ IL_1692: ldloc.s V_21
+ IL_1694: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1699: ldloc.s V_21
+ IL_169b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_16a0: beq.s IL_16c7
+
+ IL_16a2: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_16a7: ldloc.s V_21
+ IL_16a9: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_16ae: box [mscorlib]System.Int64
+ IL_16b3: ldloc.s V_21
+ IL_16b5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_16ba: box [mscorlib]System.Int64
+ IL_16bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_16c4: ldc.i4.1
+ IL_16c5: stloc.s V_20
+ IL_16c7: ldsfld int64 IntrinsicTest::temp
+ IL_16cc: ldsfld int64 IntrinsicTest::idmp
+ IL_16d1: beq.s IL_16f4
+
+ IL_16d3: ldstr "temp mismatch {0} {1}"
+ IL_16d8: ldsfld int64 IntrinsicTest::temp
+ IL_16dd: box [mscorlib]System.Int64
+ IL_16e2: ldsfld int64 IntrinsicTest::idmp
+ IL_16e7: box [mscorlib]System.Int64
+ IL_16ec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_16f1: ldc.i4.1
+ IL_16f2: stloc.s V_20
+ IL_16f4: ldloc.s V_21
+ IL_16f6: ldsflda int64 IntrinsicTest::counter64
+ IL_16fb: ldsfld int64 IntrinsicTest::counter64
+ IL_1700: ldsfld int64 IntrinsicTest::counter64
+ IL_1705: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_170a: stfld int64 IntrinsicTest::instanceCounter64
+ IL_170f: ldloc.s V_21
+ IL_1711: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1716: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_171b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1720: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1725: bne.un.s IL_1733
+
+ IL_1727: ldsfld int64 IntrinsicTest::id_counter64
+ IL_172c: stsfld int64 IntrinsicTest::id_counter64
+ IL_1731: br.s IL_173d
+
+ IL_1733: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1738: stsfld int64 IntrinsicTest::idjunk
+ IL_173d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 2"
+ IL_1742: call void [System.Console]System.Console::WriteLine(string)
+ IL_1747: ldloc.0
+ IL_1748: ldloc.s V_10
+ IL_174a: beq.s IL_1766
+
+ IL_174c: ldc.i4.1
+ IL_174d: stloc.s V_20
+ IL_174f: ldstr "te0 check failed {0} {1}"
+ IL_1754: ldloc.0
+ IL_1755: box [mscorlib]System.Int32
+ IL_175a: ldloc.s V_10
+ IL_175c: box [mscorlib]System.Int32
+ IL_1761: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1766: ldloc.1
+ IL_1767: ldloc.s V_11
+ IL_1769: beq.s IL_1785
+
+ IL_176b: ldc.i4.1
+ IL_176c: stloc.s V_20
+ IL_176e: ldstr "te1 check failed {0} {1}"
+ IL_1773: ldloc.1
+ IL_1774: box [mscorlib]System.Int32
+ IL_1779: ldloc.s V_11
+ IL_177b: box [mscorlib]System.Int32
+ IL_1780: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1785: ldloc.2
+ IL_1786: ldloc.s V_12
+ IL_1788: beq.s IL_17a4
+
+ IL_178a: ldc.i4.1
+ IL_178b: stloc.s V_20
+ IL_178d: ldstr "te2 check failed {0} {1}"
+ IL_1792: ldloc.2
+ IL_1793: box [mscorlib]System.Int32
+ IL_1798: ldloc.s V_12
+ IL_179a: box [mscorlib]System.Int32
+ IL_179f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17a4: ldloc.3
+ IL_17a5: ldloc.s V_13
+ IL_17a7: beq.s IL_17c3
+
+ IL_17a9: ldc.i4.1
+ IL_17aa: stloc.s V_20
+ IL_17ac: ldstr "te3 check failed {0} {1}"
+ IL_17b1: ldloc.3
+ IL_17b2: box [mscorlib]System.Int32
+ IL_17b7: ldloc.s V_13
+ IL_17b9: box [mscorlib]System.Int32
+ IL_17be: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17c3: ldloc.s V_4
+ IL_17c5: ldloc.s V_14
+ IL_17c7: beq.s IL_17e4
+
+ IL_17c9: ldc.i4.1
+ IL_17ca: stloc.s V_20
+ IL_17cc: ldstr "te064 check failed {0} {1}"
+ IL_17d1: ldloc.s V_4
+ IL_17d3: box [mscorlib]System.Int64
+ IL_17d8: ldloc.s V_14
+ IL_17da: box [mscorlib]System.Int64
+ IL_17df: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17e4: ldloc.s V_5
+ IL_17e6: ldloc.s V_15
+ IL_17e8: beq.s IL_1805
+
+ IL_17ea: ldc.i4.1
+ IL_17eb: stloc.s V_20
+ IL_17ed: ldstr "te164 check failed {0} {1}"
+ IL_17f2: ldloc.s V_5
+ IL_17f4: box [mscorlib]System.Int64
+ IL_17f9: ldloc.s V_15
+ IL_17fb: box [mscorlib]System.Int64
+ IL_1800: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1805: ldloc.s V_6
+ IL_1807: ldloc.s V_16
+ IL_1809: beq.s IL_1826
+
+ IL_180b: ldc.i4.1
+ IL_180c: stloc.s V_20
+ IL_180e: ldstr "te264 check failed {0} {1}"
+ IL_1813: ldloc.s V_6
+ IL_1815: box [mscorlib]System.Int64
+ IL_181a: ldloc.s V_16
+ IL_181c: box [mscorlib]System.Int64
+ IL_1821: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1826: ldloc.s V_7
+ IL_1828: ldloc.s V_17
+ IL_182a: beq.s IL_1847
+
+ IL_182c: ldc.i4.1
+ IL_182d: stloc.s V_20
+ IL_182f: ldstr "te364 check failed {0} {1}"
+ IL_1834: ldloc.s V_7
+ IL_1836: box [mscorlib]System.Int64
+ IL_183b: ldloc.s V_17
+ IL_183d: box [mscorlib]System.Int64
+ IL_1842: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1847: ldloc.s V_8
+ IL_1849: ldloc.s V_18
+ IL_184b: beq.s IL_1868
+
+ IL_184d: ldc.i4.1
+ IL_184e: stloc.s V_20
+ IL_1850: ldstr "dummy check failed {0} {1}"
+ IL_1855: ldloc.s V_8
+ IL_1857: box [mscorlib]System.Int32
+ IL_185c: ldloc.s V_18
+ IL_185e: box [mscorlib]System.Int32
+ IL_1863: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1868: ldloc.s V_9
+ IL_186a: ldloc.s V_19
+ IL_186c: beq.s IL_1889
+
+ IL_186e: ldc.i4.1
+ IL_186f: stloc.s V_20
+ IL_1871: ldstr "dummy64 check failed {0} {1}"
+ IL_1876: ldloc.s V_9
+ IL_1878: box [mscorlib]System.Int64
+ IL_187d: ldloc.s V_19
+ IL_187f: box [mscorlib]System.Int64
+ IL_1884: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1889: ldsfld int32 IntrinsicTest::counter
+ IL_188e: ldsfld int32 IntrinsicTest::id_counter
+ IL_1893: beq.s IL_18b6
+
+ IL_1895: ldstr "counter mismatch {0} {1}"
+ IL_189a: ldsfld int32 IntrinsicTest::counter
+ IL_189f: box [mscorlib]System.Int32
+ IL_18a4: ldsfld int32 IntrinsicTest::id_counter
+ IL_18a9: box [mscorlib]System.Int32
+ IL_18ae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_18b3: ldc.i4.1
+ IL_18b4: stloc.s V_20
+ IL_18b6: ldsfld int64 IntrinsicTest::counter64
+ IL_18bb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_18c0: beq.s IL_18e3
+
+ IL_18c2: ldstr "counter64 mismatch {0} {1}"
+ IL_18c7: ldsfld int64 IntrinsicTest::counter64
+ IL_18cc: box [mscorlib]System.Int64
+ IL_18d1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_18d6: box [mscorlib]System.Int64
+ IL_18db: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_18e0: ldc.i4.1
+ IL_18e1: stloc.s V_20
+ IL_18e3: ldloc.s V_21
+ IL_18e5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_18ea: ldloc.s V_21
+ IL_18ec: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_18f1: beq.s IL_1918
+
+ IL_18f3: ldstr "instanceCounter mismatch {0} {1}"
+ IL_18f8: ldloc.s V_21
+ IL_18fa: ldfld int32 IntrinsicTest::instanceCounter
+ IL_18ff: box [mscorlib]System.Int32
+ IL_1904: ldloc.s V_21
+ IL_1906: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_190b: box [mscorlib]System.Int32
+ IL_1910: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1915: ldc.i4.1
+ IL_1916: stloc.s V_20
+ IL_1918: ldloc.s V_21
+ IL_191a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_191f: ldloc.s V_21
+ IL_1921: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1926: beq.s IL_194d
+
+ IL_1928: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_192d: ldloc.s V_21
+ IL_192f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1934: box [mscorlib]System.Int64
+ IL_1939: ldloc.s V_21
+ IL_193b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1940: box [mscorlib]System.Int64
+ IL_1945: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_194a: ldc.i4.1
+ IL_194b: stloc.s V_20
+ IL_194d: ldsfld int64 IntrinsicTest::temp
+ IL_1952: ldsfld int64 IntrinsicTest::idmp
+ IL_1957: beq.s IL_197a
+
+ IL_1959: ldstr "temp mismatch {0} {1}"
+ IL_195e: ldsfld int64 IntrinsicTest::temp
+ IL_1963: box [mscorlib]System.Int64
+ IL_1968: ldsfld int64 IntrinsicTest::idmp
+ IL_196d: box [mscorlib]System.Int64
+ IL_1972: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1977: ldc.i4.1
+ IL_1978: stloc.s V_20
+ IL_197a: ldsflda int64 IntrinsicTest::counter64
+ IL_197f: ldsfld int64 IntrinsicTest::counter64
+ IL_1984: ldsfld int64 IntrinsicTest::counter64
+ IL_1989: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_198e: stloc.s V_4
+ IL_1990: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1995: stloc.s V_14
+ IL_1997: ldsfld int64 IntrinsicTest::id_counter64
+ IL_199c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_19a1: bne.un.s IL_19af
+
+ IL_19a3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_19a8: stsfld int64 IntrinsicTest::id_counter64
+ IL_19ad: br.s IL_19b9
+
+ IL_19af: ldsfld int64 IntrinsicTest::id_counter64
+ IL_19b4: stsfld int64 IntrinsicTest::idjunk
+ IL_19b9: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 3"
+ IL_19be: call void [System.Console]System.Console::WriteLine(string)
+ IL_19c3: ldloc.0
+ IL_19c4: ldloc.s V_10
+ IL_19c6: beq.s IL_19e2
+
+ IL_19c8: ldc.i4.1
+ IL_19c9: stloc.s V_20
+ IL_19cb: ldstr "te0 check failed {0} {1}"
+ IL_19d0: ldloc.0
+ IL_19d1: box [mscorlib]System.Int32
+ IL_19d6: ldloc.s V_10
+ IL_19d8: box [mscorlib]System.Int32
+ IL_19dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_19e2: ldloc.1
+ IL_19e3: ldloc.s V_11
+ IL_19e5: beq.s IL_1a01
+
+ IL_19e7: ldc.i4.1
+ IL_19e8: stloc.s V_20
+ IL_19ea: ldstr "te1 check failed {0} {1}"
+ IL_19ef: ldloc.1
+ IL_19f0: box [mscorlib]System.Int32
+ IL_19f5: ldloc.s V_11
+ IL_19f7: box [mscorlib]System.Int32
+ IL_19fc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a01: ldloc.2
+ IL_1a02: ldloc.s V_12
+ IL_1a04: beq.s IL_1a20
+
+ IL_1a06: ldc.i4.1
+ IL_1a07: stloc.s V_20
+ IL_1a09: ldstr "te2 check failed {0} {1}"
+ IL_1a0e: ldloc.2
+ IL_1a0f: box [mscorlib]System.Int32
+ IL_1a14: ldloc.s V_12
+ IL_1a16: box [mscorlib]System.Int32
+ IL_1a1b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a20: ldloc.3
+ IL_1a21: ldloc.s V_13
+ IL_1a23: beq.s IL_1a3f
+
+ IL_1a25: ldc.i4.1
+ IL_1a26: stloc.s V_20
+ IL_1a28: ldstr "te3 check failed {0} {1}"
+ IL_1a2d: ldloc.3
+ IL_1a2e: box [mscorlib]System.Int32
+ IL_1a33: ldloc.s V_13
+ IL_1a35: box [mscorlib]System.Int32
+ IL_1a3a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a3f: ldloc.s V_4
+ IL_1a41: ldloc.s V_14
+ IL_1a43: beq.s IL_1a60
+
+ IL_1a45: ldc.i4.1
+ IL_1a46: stloc.s V_20
+ IL_1a48: ldstr "te064 check failed {0} {1}"
+ IL_1a4d: ldloc.s V_4
+ IL_1a4f: box [mscorlib]System.Int64
+ IL_1a54: ldloc.s V_14
+ IL_1a56: box [mscorlib]System.Int64
+ IL_1a5b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a60: ldloc.s V_5
+ IL_1a62: ldloc.s V_15
+ IL_1a64: beq.s IL_1a81
+
+ IL_1a66: ldc.i4.1
+ IL_1a67: stloc.s V_20
+ IL_1a69: ldstr "te164 check failed {0} {1}"
+ IL_1a6e: ldloc.s V_5
+ IL_1a70: box [mscorlib]System.Int64
+ IL_1a75: ldloc.s V_15
+ IL_1a77: box [mscorlib]System.Int64
+ IL_1a7c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a81: ldloc.s V_6
+ IL_1a83: ldloc.s V_16
+ IL_1a85: beq.s IL_1aa2
+
+ IL_1a87: ldc.i4.1
+ IL_1a88: stloc.s V_20
+ IL_1a8a: ldstr "te264 check failed {0} {1}"
+ IL_1a8f: ldloc.s V_6
+ IL_1a91: box [mscorlib]System.Int64
+ IL_1a96: ldloc.s V_16
+ IL_1a98: box [mscorlib]System.Int64
+ IL_1a9d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1aa2: ldloc.s V_7
+ IL_1aa4: ldloc.s V_17
+ IL_1aa6: beq.s IL_1ac3
+
+ IL_1aa8: ldc.i4.1
+ IL_1aa9: stloc.s V_20
+ IL_1aab: ldstr "te364 check failed {0} {1}"
+ IL_1ab0: ldloc.s V_7
+ IL_1ab2: box [mscorlib]System.Int64
+ IL_1ab7: ldloc.s V_17
+ IL_1ab9: box [mscorlib]System.Int64
+ IL_1abe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ac3: ldloc.s V_8
+ IL_1ac5: ldloc.s V_18
+ IL_1ac7: beq.s IL_1ae4
+
+ IL_1ac9: ldc.i4.1
+ IL_1aca: stloc.s V_20
+ IL_1acc: ldstr "dummy check failed {0} {1}"
+ IL_1ad1: ldloc.s V_8
+ IL_1ad3: box [mscorlib]System.Int32
+ IL_1ad8: ldloc.s V_18
+ IL_1ada: box [mscorlib]System.Int32
+ IL_1adf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ae4: ldloc.s V_9
+ IL_1ae6: ldloc.s V_19
+ IL_1ae8: beq.s IL_1b05
+
+ IL_1aea: ldc.i4.1
+ IL_1aeb: stloc.s V_20
+ IL_1aed: ldstr "dummy64 check failed {0} {1}"
+ IL_1af2: ldloc.s V_9
+ IL_1af4: box [mscorlib]System.Int64
+ IL_1af9: ldloc.s V_19
+ IL_1afb: box [mscorlib]System.Int64
+ IL_1b00: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b05: ldsfld int32 IntrinsicTest::counter
+ IL_1b0a: ldsfld int32 IntrinsicTest::id_counter
+ IL_1b0f: beq.s IL_1b32
+
+ IL_1b11: ldstr "counter mismatch {0} {1}"
+ IL_1b16: ldsfld int32 IntrinsicTest::counter
+ IL_1b1b: box [mscorlib]System.Int32
+ IL_1b20: ldsfld int32 IntrinsicTest::id_counter
+ IL_1b25: box [mscorlib]System.Int32
+ IL_1b2a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b2f: ldc.i4.1
+ IL_1b30: stloc.s V_20
+ IL_1b32: ldsfld int64 IntrinsicTest::counter64
+ IL_1b37: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1b3c: beq.s IL_1b5f
+
+ IL_1b3e: ldstr "counter64 mismatch {0} {1}"
+ IL_1b43: ldsfld int64 IntrinsicTest::counter64
+ IL_1b48: box [mscorlib]System.Int64
+ IL_1b4d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1b52: box [mscorlib]System.Int64
+ IL_1b57: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b5c: ldc.i4.1
+ IL_1b5d: stloc.s V_20
+ IL_1b5f: ldloc.s V_21
+ IL_1b61: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1b66: ldloc.s V_21
+ IL_1b68: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1b6d: beq.s IL_1b94
+
+ IL_1b6f: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1b74: ldloc.s V_21
+ IL_1b76: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1b7b: box [mscorlib]System.Int32
+ IL_1b80: ldloc.s V_21
+ IL_1b82: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1b87: box [mscorlib]System.Int32
+ IL_1b8c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b91: ldc.i4.1
+ IL_1b92: stloc.s V_20
+ IL_1b94: ldloc.s V_21
+ IL_1b96: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1b9b: ldloc.s V_21
+ IL_1b9d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1ba2: beq.s IL_1bc9
+
+ IL_1ba4: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1ba9: ldloc.s V_21
+ IL_1bab: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1bb0: box [mscorlib]System.Int64
+ IL_1bb5: ldloc.s V_21
+ IL_1bb7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1bbc: box [mscorlib]System.Int64
+ IL_1bc1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1bc6: ldc.i4.1
+ IL_1bc7: stloc.s V_20
+ IL_1bc9: ldsfld int64 IntrinsicTest::temp
+ IL_1bce: ldsfld int64 IntrinsicTest::idmp
+ IL_1bd3: beq.s IL_1bf6
+
+ IL_1bd5: ldstr "temp mismatch {0} {1}"
+ IL_1bda: ldsfld int64 IntrinsicTest::temp
+ IL_1bdf: box [mscorlib]System.Int64
+ IL_1be4: ldsfld int64 IntrinsicTest::idmp
+ IL_1be9: box [mscorlib]System.Int64
+ IL_1bee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1bf3: ldc.i4.1
+ IL_1bf4: stloc.s V_20
+ IL_1bf6: ldsflda int64 IntrinsicTest::counter64
+ IL_1bfb: ldsfld int64 IntrinsicTest::counter64
+ IL_1c00: ldsfld int64 IntrinsicTest::counter64
+ IL_1c05: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_1c0a: stsfld int64 IntrinsicTest::counter64
+ IL_1c0f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1c14: stsfld int64 IntrinsicTest::id_counter64
+ IL_1c19: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1c1e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1c23: bne.un.s IL_1c31
+
+ IL_1c25: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1c2a: stsfld int64 IntrinsicTest::idjunk
+ IL_1c2f: br.s IL_1c3b
+
+ IL_1c31: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1c36: stsfld int64 IntrinsicTest::idjunk
+ IL_1c3b: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 4"
+ IL_1c40: call void [System.Console]System.Console::WriteLine(string)
+ IL_1c45: ldloc.0
+ IL_1c46: ldloc.s V_10
+ IL_1c48: beq.s IL_1c64
+
+ IL_1c4a: ldc.i4.1
+ IL_1c4b: stloc.s V_20
+ IL_1c4d: ldstr "te0 check failed {0} {1}"
+ IL_1c52: ldloc.0
+ IL_1c53: box [mscorlib]System.Int32
+ IL_1c58: ldloc.s V_10
+ IL_1c5a: box [mscorlib]System.Int32
+ IL_1c5f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1c64: ldloc.1
+ IL_1c65: ldloc.s V_11
+ IL_1c67: beq.s IL_1c83
+
+ IL_1c69: ldc.i4.1
+ IL_1c6a: stloc.s V_20
+ IL_1c6c: ldstr "te1 check failed {0} {1}"
+ IL_1c71: ldloc.1
+ IL_1c72: box [mscorlib]System.Int32
+ IL_1c77: ldloc.s V_11
+ IL_1c79: box [mscorlib]System.Int32
+ IL_1c7e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1c83: ldloc.2
+ IL_1c84: ldloc.s V_12
+ IL_1c86: beq.s IL_1ca2
+
+ IL_1c88: ldc.i4.1
+ IL_1c89: stloc.s V_20
+ IL_1c8b: ldstr "te2 check failed {0} {1}"
+ IL_1c90: ldloc.2
+ IL_1c91: box [mscorlib]System.Int32
+ IL_1c96: ldloc.s V_12
+ IL_1c98: box [mscorlib]System.Int32
+ IL_1c9d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ca2: ldloc.3
+ IL_1ca3: ldloc.s V_13
+ IL_1ca5: beq.s IL_1cc1
+
+ IL_1ca7: ldc.i4.1
+ IL_1ca8: stloc.s V_20
+ IL_1caa: ldstr "te3 check failed {0} {1}"
+ IL_1caf: ldloc.3
+ IL_1cb0: box [mscorlib]System.Int32
+ IL_1cb5: ldloc.s V_13
+ IL_1cb7: box [mscorlib]System.Int32
+ IL_1cbc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1cc1: ldloc.s V_4
+ IL_1cc3: ldloc.s V_14
+ IL_1cc5: beq.s IL_1ce2
+
+ IL_1cc7: ldc.i4.1
+ IL_1cc8: stloc.s V_20
+ IL_1cca: ldstr "te064 check failed {0} {1}"
+ IL_1ccf: ldloc.s V_4
+ IL_1cd1: box [mscorlib]System.Int64
+ IL_1cd6: ldloc.s V_14
+ IL_1cd8: box [mscorlib]System.Int64
+ IL_1cdd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ce2: ldloc.s V_5
+ IL_1ce4: ldloc.s V_15
+ IL_1ce6: beq.s IL_1d03
+
+ IL_1ce8: ldc.i4.1
+ IL_1ce9: stloc.s V_20
+ IL_1ceb: ldstr "te164 check failed {0} {1}"
+ IL_1cf0: ldloc.s V_5
+ IL_1cf2: box [mscorlib]System.Int64
+ IL_1cf7: ldloc.s V_15
+ IL_1cf9: box [mscorlib]System.Int64
+ IL_1cfe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d03: ldloc.s V_6
+ IL_1d05: ldloc.s V_16
+ IL_1d07: beq.s IL_1d24
+
+ IL_1d09: ldc.i4.1
+ IL_1d0a: stloc.s V_20
+ IL_1d0c: ldstr "te264 check failed {0} {1}"
+ IL_1d11: ldloc.s V_6
+ IL_1d13: box [mscorlib]System.Int64
+ IL_1d18: ldloc.s V_16
+ IL_1d1a: box [mscorlib]System.Int64
+ IL_1d1f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d24: ldloc.s V_7
+ IL_1d26: ldloc.s V_17
+ IL_1d28: beq.s IL_1d45
+
+ IL_1d2a: ldc.i4.1
+ IL_1d2b: stloc.s V_20
+ IL_1d2d: ldstr "te364 check failed {0} {1}"
+ IL_1d32: ldloc.s V_7
+ IL_1d34: box [mscorlib]System.Int64
+ IL_1d39: ldloc.s V_17
+ IL_1d3b: box [mscorlib]System.Int64
+ IL_1d40: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d45: ldloc.s V_8
+ IL_1d47: ldloc.s V_18
+ IL_1d49: beq.s IL_1d66
+
+ IL_1d4b: ldc.i4.1
+ IL_1d4c: stloc.s V_20
+ IL_1d4e: ldstr "dummy check failed {0} {1}"
+ IL_1d53: ldloc.s V_8
+ IL_1d55: box [mscorlib]System.Int32
+ IL_1d5a: ldloc.s V_18
+ IL_1d5c: box [mscorlib]System.Int32
+ IL_1d61: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d66: ldloc.s V_9
+ IL_1d68: ldloc.s V_19
+ IL_1d6a: beq.s IL_1d87
+
+ IL_1d6c: ldc.i4.1
+ IL_1d6d: stloc.s V_20
+ IL_1d6f: ldstr "dummy64 check failed {0} {1}"
+ IL_1d74: ldloc.s V_9
+ IL_1d76: box [mscorlib]System.Int64
+ IL_1d7b: ldloc.s V_19
+ IL_1d7d: box [mscorlib]System.Int64
+ IL_1d82: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d87: ldsfld int32 IntrinsicTest::counter
+ IL_1d8c: ldsfld int32 IntrinsicTest::id_counter
+ IL_1d91: beq.s IL_1db4
+
+ IL_1d93: ldstr "counter mismatch {0} {1}"
+ IL_1d98: ldsfld int32 IntrinsicTest::counter
+ IL_1d9d: box [mscorlib]System.Int32
+ IL_1da2: ldsfld int32 IntrinsicTest::id_counter
+ IL_1da7: box [mscorlib]System.Int32
+ IL_1dac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1db1: ldc.i4.1
+ IL_1db2: stloc.s V_20
+ IL_1db4: ldsfld int64 IntrinsicTest::counter64
+ IL_1db9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1dbe: beq.s IL_1de1
+
+ IL_1dc0: ldstr "counter64 mismatch {0} {1}"
+ IL_1dc5: ldsfld int64 IntrinsicTest::counter64
+ IL_1dca: box [mscorlib]System.Int64
+ IL_1dcf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1dd4: box [mscorlib]System.Int64
+ IL_1dd9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1dde: ldc.i4.1
+ IL_1ddf: stloc.s V_20
+ IL_1de1: ldloc.s V_21
+ IL_1de3: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1de8: ldloc.s V_21
+ IL_1dea: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1def: beq.s IL_1e16
+
+ IL_1df1: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1df6: ldloc.s V_21
+ IL_1df8: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1dfd: box [mscorlib]System.Int32
+ IL_1e02: ldloc.s V_21
+ IL_1e04: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1e09: box [mscorlib]System.Int32
+ IL_1e0e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e13: ldc.i4.1
+ IL_1e14: stloc.s V_20
+ IL_1e16: ldloc.s V_21
+ IL_1e18: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1e1d: ldloc.s V_21
+ IL_1e1f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1e24: beq.s IL_1e4b
+
+ IL_1e26: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1e2b: ldloc.s V_21
+ IL_1e2d: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1e32: box [mscorlib]System.Int64
+ IL_1e37: ldloc.s V_21
+ IL_1e39: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1e3e: box [mscorlib]System.Int64
+ IL_1e43: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e48: ldc.i4.1
+ IL_1e49: stloc.s V_20
+ IL_1e4b: ldsfld int64 IntrinsicTest::temp
+ IL_1e50: ldsfld int64 IntrinsicTest::idmp
+ IL_1e55: beq.s IL_1e78
+
+ IL_1e57: ldstr "temp mismatch {0} {1}"
+ IL_1e5c: ldsfld int64 IntrinsicTest::temp
+ IL_1e61: box [mscorlib]System.Int64
+ IL_1e66: ldsfld int64 IntrinsicTest::idmp
+ IL_1e6b: box [mscorlib]System.Int64
+ IL_1e70: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e75: ldc.i4.1
+ IL_1e76: stloc.s V_20
+ IL_1e78: ldloc.s V_21
+ IL_1e7a: ldsflda int64 IntrinsicTest::counter64
+ IL_1e7f: ldsfld int64 IntrinsicTest::counter64
+ IL_1e84: ldsfld int64 IntrinsicTest::counter64
+ IL_1e89: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_1e8e: stfld int64 IntrinsicTest::instanceCounter64
+ IL_1e93: ldloc.s V_21
+ IL_1e95: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1e9a: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1e9f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1ea4: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1ea9: bne.un.s IL_1eb7
+
+ IL_1eab: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1eb0: stsfld int64 IntrinsicTest::id_counter64
+ IL_1eb5: br.s IL_1ec1
+
+ IL_1eb7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1ebc: stsfld int64 IntrinsicTest::idjunk
+ IL_1ec1: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 5"
+ IL_1ec6: call void [System.Console]System.Console::WriteLine(string)
+ IL_1ecb: ldloc.0
+ IL_1ecc: ldloc.s V_10
+ IL_1ece: beq.s IL_1eea
+
+ IL_1ed0: ldc.i4.1
+ IL_1ed1: stloc.s V_20
+ IL_1ed3: ldstr "te0 check failed {0} {1}"
+ IL_1ed8: ldloc.0
+ IL_1ed9: box [mscorlib]System.Int32
+ IL_1ede: ldloc.s V_10
+ IL_1ee0: box [mscorlib]System.Int32
+ IL_1ee5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1eea: ldloc.1
+ IL_1eeb: ldloc.s V_11
+ IL_1eed: beq.s IL_1f09
+
+ IL_1eef: ldc.i4.1
+ IL_1ef0: stloc.s V_20
+ IL_1ef2: ldstr "te1 check failed {0} {1}"
+ IL_1ef7: ldloc.1
+ IL_1ef8: box [mscorlib]System.Int32
+ IL_1efd: ldloc.s V_11
+ IL_1eff: box [mscorlib]System.Int32
+ IL_1f04: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f09: ldloc.2
+ IL_1f0a: ldloc.s V_12
+ IL_1f0c: beq.s IL_1f28
+
+ IL_1f0e: ldc.i4.1
+ IL_1f0f: stloc.s V_20
+ IL_1f11: ldstr "te2 check failed {0} {1}"
+ IL_1f16: ldloc.2
+ IL_1f17: box [mscorlib]System.Int32
+ IL_1f1c: ldloc.s V_12
+ IL_1f1e: box [mscorlib]System.Int32
+ IL_1f23: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f28: ldloc.3
+ IL_1f29: ldloc.s V_13
+ IL_1f2b: beq.s IL_1f47
+
+ IL_1f2d: ldc.i4.1
+ IL_1f2e: stloc.s V_20
+ IL_1f30: ldstr "te3 check failed {0} {1}"
+ IL_1f35: ldloc.3
+ IL_1f36: box [mscorlib]System.Int32
+ IL_1f3b: ldloc.s V_13
+ IL_1f3d: box [mscorlib]System.Int32
+ IL_1f42: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f47: ldloc.s V_4
+ IL_1f49: ldloc.s V_14
+ IL_1f4b: beq.s IL_1f68
+
+ IL_1f4d: ldc.i4.1
+ IL_1f4e: stloc.s V_20
+ IL_1f50: ldstr "te064 check failed {0} {1}"
+ IL_1f55: ldloc.s V_4
+ IL_1f57: box [mscorlib]System.Int64
+ IL_1f5c: ldloc.s V_14
+ IL_1f5e: box [mscorlib]System.Int64
+ IL_1f63: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f68: ldloc.s V_5
+ IL_1f6a: ldloc.s V_15
+ IL_1f6c: beq.s IL_1f89
+
+ IL_1f6e: ldc.i4.1
+ IL_1f6f: stloc.s V_20
+ IL_1f71: ldstr "te164 check failed {0} {1}"
+ IL_1f76: ldloc.s V_5
+ IL_1f78: box [mscorlib]System.Int64
+ IL_1f7d: ldloc.s V_15
+ IL_1f7f: box [mscorlib]System.Int64
+ IL_1f84: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f89: ldloc.s V_6
+ IL_1f8b: ldloc.s V_16
+ IL_1f8d: beq.s IL_1faa
+
+ IL_1f8f: ldc.i4.1
+ IL_1f90: stloc.s V_20
+ IL_1f92: ldstr "te264 check failed {0} {1}"
+ IL_1f97: ldloc.s V_6
+ IL_1f99: box [mscorlib]System.Int64
+ IL_1f9e: ldloc.s V_16
+ IL_1fa0: box [mscorlib]System.Int64
+ IL_1fa5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1faa: ldloc.s V_7
+ IL_1fac: ldloc.s V_17
+ IL_1fae: beq.s IL_1fcb
+
+ IL_1fb0: ldc.i4.1
+ IL_1fb1: stloc.s V_20
+ IL_1fb3: ldstr "te364 check failed {0} {1}"
+ IL_1fb8: ldloc.s V_7
+ IL_1fba: box [mscorlib]System.Int64
+ IL_1fbf: ldloc.s V_17
+ IL_1fc1: box [mscorlib]System.Int64
+ IL_1fc6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1fcb: ldloc.s V_8
+ IL_1fcd: ldloc.s V_18
+ IL_1fcf: beq.s IL_1fec
+
+ IL_1fd1: ldc.i4.1
+ IL_1fd2: stloc.s V_20
+ IL_1fd4: ldstr "dummy check failed {0} {1}"
+ IL_1fd9: ldloc.s V_8
+ IL_1fdb: box [mscorlib]System.Int32
+ IL_1fe0: ldloc.s V_18
+ IL_1fe2: box [mscorlib]System.Int32
+ IL_1fe7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1fec: ldloc.s V_9
+ IL_1fee: ldloc.s V_19
+ IL_1ff0: beq.s IL_200d
+
+ IL_1ff2: ldc.i4.1
+ IL_1ff3: stloc.s V_20
+ IL_1ff5: ldstr "dummy64 check failed {0} {1}"
+ IL_1ffa: ldloc.s V_9
+ IL_1ffc: box [mscorlib]System.Int64
+ IL_2001: ldloc.s V_19
+ IL_2003: box [mscorlib]System.Int64
+ IL_2008: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_200d: ldsfld int32 IntrinsicTest::counter
+ IL_2012: ldsfld int32 IntrinsicTest::id_counter
+ IL_2017: beq.s IL_203a
+
+ IL_2019: ldstr "counter mismatch {0} {1}"
+ IL_201e: ldsfld int32 IntrinsicTest::counter
+ IL_2023: box [mscorlib]System.Int32
+ IL_2028: ldsfld int32 IntrinsicTest::id_counter
+ IL_202d: box [mscorlib]System.Int32
+ IL_2032: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2037: ldc.i4.1
+ IL_2038: stloc.s V_20
+ IL_203a: ldsfld int64 IntrinsicTest::counter64
+ IL_203f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2044: beq.s IL_2067
+
+ IL_2046: ldstr "counter64 mismatch {0} {1}"
+ IL_204b: ldsfld int64 IntrinsicTest::counter64
+ IL_2050: box [mscorlib]System.Int64
+ IL_2055: ldsfld int64 IntrinsicTest::id_counter64
+ IL_205a: box [mscorlib]System.Int64
+ IL_205f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2064: ldc.i4.1
+ IL_2065: stloc.s V_20
+ IL_2067: ldloc.s V_21
+ IL_2069: ldfld int32 IntrinsicTest::instanceCounter
+ IL_206e: ldloc.s V_21
+ IL_2070: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2075: beq.s IL_209c
+
+ IL_2077: ldstr "instanceCounter mismatch {0} {1}"
+ IL_207c: ldloc.s V_21
+ IL_207e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2083: box [mscorlib]System.Int32
+ IL_2088: ldloc.s V_21
+ IL_208a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_208f: box [mscorlib]System.Int32
+ IL_2094: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2099: ldc.i4.1
+ IL_209a: stloc.s V_20
+ IL_209c: ldloc.s V_21
+ IL_209e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_20a3: ldloc.s V_21
+ IL_20a5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_20aa: beq.s IL_20d1
+
+ IL_20ac: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_20b1: ldloc.s V_21
+ IL_20b3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_20b8: box [mscorlib]System.Int64
+ IL_20bd: ldloc.s V_21
+ IL_20bf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_20c4: box [mscorlib]System.Int64
+ IL_20c9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_20ce: ldc.i4.1
+ IL_20cf: stloc.s V_20
+ IL_20d1: ldsfld int64 IntrinsicTest::temp
+ IL_20d6: ldsfld int64 IntrinsicTest::idmp
+ IL_20db: beq.s IL_20fe
+
+ IL_20dd: ldstr "temp mismatch {0} {1}"
+ IL_20e2: ldsfld int64 IntrinsicTest::temp
+ IL_20e7: box [mscorlib]System.Int64
+ IL_20ec: ldsfld int64 IntrinsicTest::idmp
+ IL_20f1: box [mscorlib]System.Int64
+ IL_20f6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_20fb: ldc.i4.1
+ IL_20fc: stloc.s V_20
+ IL_20fe: ldsflda int64 IntrinsicTest::counter64
+ IL_2103: ldsfld int64 IntrinsicTest::counter64
+ IL_2108: ldsfld int64 IntrinsicTest::counter64
+ IL_210d: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2112: stloc.s V_7
+ IL_2114: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2119: stloc.s V_17
+ IL_211b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2120: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2125: bne.un.s IL_2133
+
+ IL_2127: ldsfld int64 IntrinsicTest::id_counter64
+ IL_212c: stsfld int64 IntrinsicTest::id_counter64
+ IL_2131: br.s IL_213d
+
+ IL_2133: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2138: stsfld int64 IntrinsicTest::idjunk
+ IL_213d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 1 6"
+ IL_2142: call void [System.Console]System.Console::WriteLine(string)
+ IL_2147: ldloc.0
+ IL_2148: ldloc.s V_10
+ IL_214a: beq.s IL_2166
+
+ IL_214c: ldc.i4.1
+ IL_214d: stloc.s V_20
+ IL_214f: ldstr "te0 check failed {0} {1}"
+ IL_2154: ldloc.0
+ IL_2155: box [mscorlib]System.Int32
+ IL_215a: ldloc.s V_10
+ IL_215c: box [mscorlib]System.Int32
+ IL_2161: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2166: ldloc.1
+ IL_2167: ldloc.s V_11
+ IL_2169: beq.s IL_2185
+
+ IL_216b: ldc.i4.1
+ IL_216c: stloc.s V_20
+ IL_216e: ldstr "te1 check failed {0} {1}"
+ IL_2173: ldloc.1
+ IL_2174: box [mscorlib]System.Int32
+ IL_2179: ldloc.s V_11
+ IL_217b: box [mscorlib]System.Int32
+ IL_2180: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2185: ldloc.2
+ IL_2186: ldloc.s V_12
+ IL_2188: beq.s IL_21a4
+
+ IL_218a: ldc.i4.1
+ IL_218b: stloc.s V_20
+ IL_218d: ldstr "te2 check failed {0} {1}"
+ IL_2192: ldloc.2
+ IL_2193: box [mscorlib]System.Int32
+ IL_2198: ldloc.s V_12
+ IL_219a: box [mscorlib]System.Int32
+ IL_219f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21a4: ldloc.3
+ IL_21a5: ldloc.s V_13
+ IL_21a7: beq.s IL_21c3
+
+ IL_21a9: ldc.i4.1
+ IL_21aa: stloc.s V_20
+ IL_21ac: ldstr "te3 check failed {0} {1}"
+ IL_21b1: ldloc.3
+ IL_21b2: box [mscorlib]System.Int32
+ IL_21b7: ldloc.s V_13
+ IL_21b9: box [mscorlib]System.Int32
+ IL_21be: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21c3: ldloc.s V_4
+ IL_21c5: ldloc.s V_14
+ IL_21c7: beq.s IL_21e4
+
+ IL_21c9: ldc.i4.1
+ IL_21ca: stloc.s V_20
+ IL_21cc: ldstr "te064 check failed {0} {1}"
+ IL_21d1: ldloc.s V_4
+ IL_21d3: box [mscorlib]System.Int64
+ IL_21d8: ldloc.s V_14
+ IL_21da: box [mscorlib]System.Int64
+ IL_21df: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21e4: ldloc.s V_5
+ IL_21e6: ldloc.s V_15
+ IL_21e8: beq.s IL_2205
+
+ IL_21ea: ldc.i4.1
+ IL_21eb: stloc.s V_20
+ IL_21ed: ldstr "te164 check failed {0} {1}"
+ IL_21f2: ldloc.s V_5
+ IL_21f4: box [mscorlib]System.Int64
+ IL_21f9: ldloc.s V_15
+ IL_21fb: box [mscorlib]System.Int64
+ IL_2200: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2205: ldloc.s V_6
+ IL_2207: ldloc.s V_16
+ IL_2209: beq.s IL_2226
+
+ IL_220b: ldc.i4.1
+ IL_220c: stloc.s V_20
+ IL_220e: ldstr "te264 check failed {0} {1}"
+ IL_2213: ldloc.s V_6
+ IL_2215: box [mscorlib]System.Int64
+ IL_221a: ldloc.s V_16
+ IL_221c: box [mscorlib]System.Int64
+ IL_2221: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2226: ldloc.s V_7
+ IL_2228: ldloc.s V_17
+ IL_222a: beq.s IL_2247
+
+ IL_222c: ldc.i4.1
+ IL_222d: stloc.s V_20
+ IL_222f: ldstr "te364 check failed {0} {1}"
+ IL_2234: ldloc.s V_7
+ IL_2236: box [mscorlib]System.Int64
+ IL_223b: ldloc.s V_17
+ IL_223d: box [mscorlib]System.Int64
+ IL_2242: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2247: ldloc.s V_8
+ IL_2249: ldloc.s V_18
+ IL_224b: beq.s IL_2268
+
+ IL_224d: ldc.i4.1
+ IL_224e: stloc.s V_20
+ IL_2250: ldstr "dummy check failed {0} {1}"
+ IL_2255: ldloc.s V_8
+ IL_2257: box [mscorlib]System.Int32
+ IL_225c: ldloc.s V_18
+ IL_225e: box [mscorlib]System.Int32
+ IL_2263: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2268: ldloc.s V_9
+ IL_226a: ldloc.s V_19
+ IL_226c: beq.s IL_2289
+
+ IL_226e: ldc.i4.1
+ IL_226f: stloc.s V_20
+ IL_2271: ldstr "dummy64 check failed {0} {1}"
+ IL_2276: ldloc.s V_9
+ IL_2278: box [mscorlib]System.Int64
+ IL_227d: ldloc.s V_19
+ IL_227f: box [mscorlib]System.Int64
+ IL_2284: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2289: ldsfld int32 IntrinsicTest::counter
+ IL_228e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2293: beq.s IL_22b6
+
+ IL_2295: ldstr "counter mismatch {0} {1}"
+ IL_229a: ldsfld int32 IntrinsicTest::counter
+ IL_229f: box [mscorlib]System.Int32
+ IL_22a4: ldsfld int32 IntrinsicTest::id_counter
+ IL_22a9: box [mscorlib]System.Int32
+ IL_22ae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_22b3: ldc.i4.1
+ IL_22b4: stloc.s V_20
+ IL_22b6: ldsfld int64 IntrinsicTest::counter64
+ IL_22bb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_22c0: beq.s IL_22e3
+
+ IL_22c2: ldstr "counter64 mismatch {0} {1}"
+ IL_22c7: ldsfld int64 IntrinsicTest::counter64
+ IL_22cc: box [mscorlib]System.Int64
+ IL_22d1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_22d6: box [mscorlib]System.Int64
+ IL_22db: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_22e0: ldc.i4.1
+ IL_22e1: stloc.s V_20
+ IL_22e3: ldloc.s V_21
+ IL_22e5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_22ea: ldloc.s V_21
+ IL_22ec: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_22f1: beq.s IL_2318
+
+ IL_22f3: ldstr "instanceCounter mismatch {0} {1}"
+ IL_22f8: ldloc.s V_21
+ IL_22fa: ldfld int32 IntrinsicTest::instanceCounter
+ IL_22ff: box [mscorlib]System.Int32
+ IL_2304: ldloc.s V_21
+ IL_2306: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_230b: box [mscorlib]System.Int32
+ IL_2310: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2315: ldc.i4.1
+ IL_2316: stloc.s V_20
+ IL_2318: ldloc.s V_21
+ IL_231a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_231f: ldloc.s V_21
+ IL_2321: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2326: beq.s IL_234d
+
+ IL_2328: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_232d: ldloc.s V_21
+ IL_232f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2334: box [mscorlib]System.Int64
+ IL_2339: ldloc.s V_21
+ IL_233b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2340: box [mscorlib]System.Int64
+ IL_2345: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_234a: ldc.i4.1
+ IL_234b: stloc.s V_20
+ IL_234d: ldsfld int64 IntrinsicTest::temp
+ IL_2352: ldsfld int64 IntrinsicTest::idmp
+ IL_2357: beq.s IL_237a
+
+ IL_2359: ldstr "temp mismatch {0} {1}"
+ IL_235e: ldsfld int64 IntrinsicTest::temp
+ IL_2363: box [mscorlib]System.Int64
+ IL_2368: ldsfld int64 IntrinsicTest::idmp
+ IL_236d: box [mscorlib]System.Int64
+ IL_2372: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2377: ldc.i4.1
+ IL_2378: stloc.s V_20
+ IL_237a: ldsflda int64 IntrinsicTest::counter64
+ IL_237f: ldsfld int64 IntrinsicTest::counter64
+ IL_2384: ldloc.s V_21
+ IL_2386: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_238b: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2390: stloc.s V_4
+ IL_2392: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2397: stloc.s V_14
+ IL_2399: ldsfld int64 IntrinsicTest::id_counter64
+ IL_239e: ldloc.s V_21
+ IL_23a0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_23a5: bne.un.s IL_23b3
+
+ IL_23a7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_23ac: stsfld int64 IntrinsicTest::id_counter64
+ IL_23b1: br.s IL_23bd
+
+ IL_23b3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_23b8: stsfld int64 IntrinsicTest::idjunk
+ IL_23bd: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 0"
+ IL_23c2: call void [System.Console]System.Console::WriteLine(string)
+ IL_23c7: ldloc.0
+ IL_23c8: ldloc.s V_10
+ IL_23ca: beq.s IL_23e6
+
+ IL_23cc: ldc.i4.1
+ IL_23cd: stloc.s V_20
+ IL_23cf: ldstr "te0 check failed {0} {1}"
+ IL_23d4: ldloc.0
+ IL_23d5: box [mscorlib]System.Int32
+ IL_23da: ldloc.s V_10
+ IL_23dc: box [mscorlib]System.Int32
+ IL_23e1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_23e6: ldloc.1
+ IL_23e7: ldloc.s V_11
+ IL_23e9: beq.s IL_2405
+
+ IL_23eb: ldc.i4.1
+ IL_23ec: stloc.s V_20
+ IL_23ee: ldstr "te1 check failed {0} {1}"
+ IL_23f3: ldloc.1
+ IL_23f4: box [mscorlib]System.Int32
+ IL_23f9: ldloc.s V_11
+ IL_23fb: box [mscorlib]System.Int32
+ IL_2400: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2405: ldloc.2
+ IL_2406: ldloc.s V_12
+ IL_2408: beq.s IL_2424
+
+ IL_240a: ldc.i4.1
+ IL_240b: stloc.s V_20
+ IL_240d: ldstr "te2 check failed {0} {1}"
+ IL_2412: ldloc.2
+ IL_2413: box [mscorlib]System.Int32
+ IL_2418: ldloc.s V_12
+ IL_241a: box [mscorlib]System.Int32
+ IL_241f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2424: ldloc.3
+ IL_2425: ldloc.s V_13
+ IL_2427: beq.s IL_2443
+
+ IL_2429: ldc.i4.1
+ IL_242a: stloc.s V_20
+ IL_242c: ldstr "te3 check failed {0} {1}"
+ IL_2431: ldloc.3
+ IL_2432: box [mscorlib]System.Int32
+ IL_2437: ldloc.s V_13
+ IL_2439: box [mscorlib]System.Int32
+ IL_243e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2443: ldloc.s V_4
+ IL_2445: ldloc.s V_14
+ IL_2447: beq.s IL_2464
+
+ IL_2449: ldc.i4.1
+ IL_244a: stloc.s V_20
+ IL_244c: ldstr "te064 check failed {0} {1}"
+ IL_2451: ldloc.s V_4
+ IL_2453: box [mscorlib]System.Int64
+ IL_2458: ldloc.s V_14
+ IL_245a: box [mscorlib]System.Int64
+ IL_245f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2464: ldloc.s V_5
+ IL_2466: ldloc.s V_15
+ IL_2468: beq.s IL_2485
+
+ IL_246a: ldc.i4.1
+ IL_246b: stloc.s V_20
+ IL_246d: ldstr "te164 check failed {0} {1}"
+ IL_2472: ldloc.s V_5
+ IL_2474: box [mscorlib]System.Int64
+ IL_2479: ldloc.s V_15
+ IL_247b: box [mscorlib]System.Int64
+ IL_2480: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2485: ldloc.s V_6
+ IL_2487: ldloc.s V_16
+ IL_2489: beq.s IL_24a6
+
+ IL_248b: ldc.i4.1
+ IL_248c: stloc.s V_20
+ IL_248e: ldstr "te264 check failed {0} {1}"
+ IL_2493: ldloc.s V_6
+ IL_2495: box [mscorlib]System.Int64
+ IL_249a: ldloc.s V_16
+ IL_249c: box [mscorlib]System.Int64
+ IL_24a1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24a6: ldloc.s V_7
+ IL_24a8: ldloc.s V_17
+ IL_24aa: beq.s IL_24c7
+
+ IL_24ac: ldc.i4.1
+ IL_24ad: stloc.s V_20
+ IL_24af: ldstr "te364 check failed {0} {1}"
+ IL_24b4: ldloc.s V_7
+ IL_24b6: box [mscorlib]System.Int64
+ IL_24bb: ldloc.s V_17
+ IL_24bd: box [mscorlib]System.Int64
+ IL_24c2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24c7: ldloc.s V_8
+ IL_24c9: ldloc.s V_18
+ IL_24cb: beq.s IL_24e8
+
+ IL_24cd: ldc.i4.1
+ IL_24ce: stloc.s V_20
+ IL_24d0: ldstr "dummy check failed {0} {1}"
+ IL_24d5: ldloc.s V_8
+ IL_24d7: box [mscorlib]System.Int32
+ IL_24dc: ldloc.s V_18
+ IL_24de: box [mscorlib]System.Int32
+ IL_24e3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24e8: ldloc.s V_9
+ IL_24ea: ldloc.s V_19
+ IL_24ec: beq.s IL_2509
+
+ IL_24ee: ldc.i4.1
+ IL_24ef: stloc.s V_20
+ IL_24f1: ldstr "dummy64 check failed {0} {1}"
+ IL_24f6: ldloc.s V_9
+ IL_24f8: box [mscorlib]System.Int64
+ IL_24fd: ldloc.s V_19
+ IL_24ff: box [mscorlib]System.Int64
+ IL_2504: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2509: ldsfld int32 IntrinsicTest::counter
+ IL_250e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2513: beq.s IL_2536
+
+ IL_2515: ldstr "counter mismatch {0} {1}"
+ IL_251a: ldsfld int32 IntrinsicTest::counter
+ IL_251f: box [mscorlib]System.Int32
+ IL_2524: ldsfld int32 IntrinsicTest::id_counter
+ IL_2529: box [mscorlib]System.Int32
+ IL_252e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2533: ldc.i4.1
+ IL_2534: stloc.s V_20
+ IL_2536: ldsfld int64 IntrinsicTest::counter64
+ IL_253b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2540: beq.s IL_2563
+
+ IL_2542: ldstr "counter64 mismatch {0} {1}"
+ IL_2547: ldsfld int64 IntrinsicTest::counter64
+ IL_254c: box [mscorlib]System.Int64
+ IL_2551: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2556: box [mscorlib]System.Int64
+ IL_255b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2560: ldc.i4.1
+ IL_2561: stloc.s V_20
+ IL_2563: ldloc.s V_21
+ IL_2565: ldfld int32 IntrinsicTest::instanceCounter
+ IL_256a: ldloc.s V_21
+ IL_256c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2571: beq.s IL_2598
+
+ IL_2573: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2578: ldloc.s V_21
+ IL_257a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_257f: box [mscorlib]System.Int32
+ IL_2584: ldloc.s V_21
+ IL_2586: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_258b: box [mscorlib]System.Int32
+ IL_2590: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2595: ldc.i4.1
+ IL_2596: stloc.s V_20
+ IL_2598: ldloc.s V_21
+ IL_259a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_259f: ldloc.s V_21
+ IL_25a1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_25a6: beq.s IL_25cd
+
+ IL_25a8: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_25ad: ldloc.s V_21
+ IL_25af: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_25b4: box [mscorlib]System.Int64
+ IL_25b9: ldloc.s V_21
+ IL_25bb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_25c0: box [mscorlib]System.Int64
+ IL_25c5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_25ca: ldc.i4.1
+ IL_25cb: stloc.s V_20
+ IL_25cd: ldsfld int64 IntrinsicTest::temp
+ IL_25d2: ldsfld int64 IntrinsicTest::idmp
+ IL_25d7: beq.s IL_25fa
+
+ IL_25d9: ldstr "temp mismatch {0} {1}"
+ IL_25de: ldsfld int64 IntrinsicTest::temp
+ IL_25e3: box [mscorlib]System.Int64
+ IL_25e8: ldsfld int64 IntrinsicTest::idmp
+ IL_25ed: box [mscorlib]System.Int64
+ IL_25f2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_25f7: ldc.i4.1
+ IL_25f8: stloc.s V_20
+ IL_25fa: ldsflda int64 IntrinsicTest::counter64
+ IL_25ff: ldsfld int64 IntrinsicTest::counter64
+ IL_2604: ldloc.s V_21
+ IL_2606: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_260b: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2610: stsfld int64 IntrinsicTest::counter64
+ IL_2615: ldsfld int64 IntrinsicTest::id_counter64
+ IL_261a: stsfld int64 IntrinsicTest::id_counter64
+ IL_261f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2624: ldloc.s V_21
+ IL_2626: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_262b: bne.un.s IL_2639
+
+ IL_262d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2632: stsfld int64 IntrinsicTest::idjunk
+ IL_2637: br.s IL_2643
+
+ IL_2639: ldsfld int64 IntrinsicTest::id_counter64
+ IL_263e: stsfld int64 IntrinsicTest::idjunk
+ IL_2643: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 1"
+ IL_2648: call void [System.Console]System.Console::WriteLine(string)
+ IL_264d: ldloc.0
+ IL_264e: ldloc.s V_10
+ IL_2650: beq.s IL_266c
+
+ IL_2652: ldc.i4.1
+ IL_2653: stloc.s V_20
+ IL_2655: ldstr "te0 check failed {0} {1}"
+ IL_265a: ldloc.0
+ IL_265b: box [mscorlib]System.Int32
+ IL_2660: ldloc.s V_10
+ IL_2662: box [mscorlib]System.Int32
+ IL_2667: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_266c: ldloc.1
+ IL_266d: ldloc.s V_11
+ IL_266f: beq.s IL_268b
+
+ IL_2671: ldc.i4.1
+ IL_2672: stloc.s V_20
+ IL_2674: ldstr "te1 check failed {0} {1}"
+ IL_2679: ldloc.1
+ IL_267a: box [mscorlib]System.Int32
+ IL_267f: ldloc.s V_11
+ IL_2681: box [mscorlib]System.Int32
+ IL_2686: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_268b: ldloc.2
+ IL_268c: ldloc.s V_12
+ IL_268e: beq.s IL_26aa
+
+ IL_2690: ldc.i4.1
+ IL_2691: stloc.s V_20
+ IL_2693: ldstr "te2 check failed {0} {1}"
+ IL_2698: ldloc.2
+ IL_2699: box [mscorlib]System.Int32
+ IL_269e: ldloc.s V_12
+ IL_26a0: box [mscorlib]System.Int32
+ IL_26a5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26aa: ldloc.3
+ IL_26ab: ldloc.s V_13
+ IL_26ad: beq.s IL_26c9
+
+ IL_26af: ldc.i4.1
+ IL_26b0: stloc.s V_20
+ IL_26b2: ldstr "te3 check failed {0} {1}"
+ IL_26b7: ldloc.3
+ IL_26b8: box [mscorlib]System.Int32
+ IL_26bd: ldloc.s V_13
+ IL_26bf: box [mscorlib]System.Int32
+ IL_26c4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26c9: ldloc.s V_4
+ IL_26cb: ldloc.s V_14
+ IL_26cd: beq.s IL_26ea
+
+ IL_26cf: ldc.i4.1
+ IL_26d0: stloc.s V_20
+ IL_26d2: ldstr "te064 check failed {0} {1}"
+ IL_26d7: ldloc.s V_4
+ IL_26d9: box [mscorlib]System.Int64
+ IL_26de: ldloc.s V_14
+ IL_26e0: box [mscorlib]System.Int64
+ IL_26e5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26ea: ldloc.s V_5
+ IL_26ec: ldloc.s V_15
+ IL_26ee: beq.s IL_270b
+
+ IL_26f0: ldc.i4.1
+ IL_26f1: stloc.s V_20
+ IL_26f3: ldstr "te164 check failed {0} {1}"
+ IL_26f8: ldloc.s V_5
+ IL_26fa: box [mscorlib]System.Int64
+ IL_26ff: ldloc.s V_15
+ IL_2701: box [mscorlib]System.Int64
+ IL_2706: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_270b: ldloc.s V_6
+ IL_270d: ldloc.s V_16
+ IL_270f: beq.s IL_272c
+
+ IL_2711: ldc.i4.1
+ IL_2712: stloc.s V_20
+ IL_2714: ldstr "te264 check failed {0} {1}"
+ IL_2719: ldloc.s V_6
+ IL_271b: box [mscorlib]System.Int64
+ IL_2720: ldloc.s V_16
+ IL_2722: box [mscorlib]System.Int64
+ IL_2727: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_272c: ldloc.s V_7
+ IL_272e: ldloc.s V_17
+ IL_2730: beq.s IL_274d
+
+ IL_2732: ldc.i4.1
+ IL_2733: stloc.s V_20
+ IL_2735: ldstr "te364 check failed {0} {1}"
+ IL_273a: ldloc.s V_7
+ IL_273c: box [mscorlib]System.Int64
+ IL_2741: ldloc.s V_17
+ IL_2743: box [mscorlib]System.Int64
+ IL_2748: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_274d: ldloc.s V_8
+ IL_274f: ldloc.s V_18
+ IL_2751: beq.s IL_276e
+
+ IL_2753: ldc.i4.1
+ IL_2754: stloc.s V_20
+ IL_2756: ldstr "dummy check failed {0} {1}"
+ IL_275b: ldloc.s V_8
+ IL_275d: box [mscorlib]System.Int32
+ IL_2762: ldloc.s V_18
+ IL_2764: box [mscorlib]System.Int32
+ IL_2769: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_276e: ldloc.s V_9
+ IL_2770: ldloc.s V_19
+ IL_2772: beq.s IL_278f
+
+ IL_2774: ldc.i4.1
+ IL_2775: stloc.s V_20
+ IL_2777: ldstr "dummy64 check failed {0} {1}"
+ IL_277c: ldloc.s V_9
+ IL_277e: box [mscorlib]System.Int64
+ IL_2783: ldloc.s V_19
+ IL_2785: box [mscorlib]System.Int64
+ IL_278a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_278f: ldsfld int32 IntrinsicTest::counter
+ IL_2794: ldsfld int32 IntrinsicTest::id_counter
+ IL_2799: beq.s IL_27bc
+
+ IL_279b: ldstr "counter mismatch {0} {1}"
+ IL_27a0: ldsfld int32 IntrinsicTest::counter
+ IL_27a5: box [mscorlib]System.Int32
+ IL_27aa: ldsfld int32 IntrinsicTest::id_counter
+ IL_27af: box [mscorlib]System.Int32
+ IL_27b4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_27b9: ldc.i4.1
+ IL_27ba: stloc.s V_20
+ IL_27bc: ldsfld int64 IntrinsicTest::counter64
+ IL_27c1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_27c6: beq.s IL_27e9
+
+ IL_27c8: ldstr "counter64 mismatch {0} {1}"
+ IL_27cd: ldsfld int64 IntrinsicTest::counter64
+ IL_27d2: box [mscorlib]System.Int64
+ IL_27d7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_27dc: box [mscorlib]System.Int64
+ IL_27e1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_27e6: ldc.i4.1
+ IL_27e7: stloc.s V_20
+ IL_27e9: ldloc.s V_21
+ IL_27eb: ldfld int32 IntrinsicTest::instanceCounter
+ IL_27f0: ldloc.s V_21
+ IL_27f2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_27f7: beq.s IL_281e
+
+ IL_27f9: ldstr "instanceCounter mismatch {0} {1}"
+ IL_27fe: ldloc.s V_21
+ IL_2800: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2805: box [mscorlib]System.Int32
+ IL_280a: ldloc.s V_21
+ IL_280c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2811: box [mscorlib]System.Int32
+ IL_2816: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_281b: ldc.i4.1
+ IL_281c: stloc.s V_20
+ IL_281e: ldloc.s V_21
+ IL_2820: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2825: ldloc.s V_21
+ IL_2827: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_282c: beq.s IL_2853
+
+ IL_282e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2833: ldloc.s V_21
+ IL_2835: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_283a: box [mscorlib]System.Int64
+ IL_283f: ldloc.s V_21
+ IL_2841: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2846: box [mscorlib]System.Int64
+ IL_284b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2850: ldc.i4.1
+ IL_2851: stloc.s V_20
+ IL_2853: ldsfld int64 IntrinsicTest::temp
+ IL_2858: ldsfld int64 IntrinsicTest::idmp
+ IL_285d: beq.s IL_2880
+
+ IL_285f: ldstr "temp mismatch {0} {1}"
+ IL_2864: ldsfld int64 IntrinsicTest::temp
+ IL_2869: box [mscorlib]System.Int64
+ IL_286e: ldsfld int64 IntrinsicTest::idmp
+ IL_2873: box [mscorlib]System.Int64
+ IL_2878: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_287d: ldc.i4.1
+ IL_287e: stloc.s V_20
+ IL_2880: ldloc.s V_21
+ IL_2882: ldsflda int64 IntrinsicTest::counter64
+ IL_2887: ldsfld int64 IntrinsicTest::counter64
+ IL_288c: ldloc.s V_21
+ IL_288e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2893: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2898: stfld int64 IntrinsicTest::instanceCounter64
+ IL_289d: ldloc.s V_21
+ IL_289f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_28a4: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_28a9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_28ae: ldloc.s V_21
+ IL_28b0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_28b5: bne.un.s IL_28c3
+
+ IL_28b7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_28bc: stsfld int64 IntrinsicTest::id_counter64
+ IL_28c1: br.s IL_28cd
+
+ IL_28c3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_28c8: stsfld int64 IntrinsicTest::idjunk
+ IL_28cd: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 2"
+ IL_28d2: call void [System.Console]System.Console::WriteLine(string)
+ IL_28d7: ldloc.0
+ IL_28d8: ldloc.s V_10
+ IL_28da: beq.s IL_28f6
+
+ IL_28dc: ldc.i4.1
+ IL_28dd: stloc.s V_20
+ IL_28df: ldstr "te0 check failed {0} {1}"
+ IL_28e4: ldloc.0
+ IL_28e5: box [mscorlib]System.Int32
+ IL_28ea: ldloc.s V_10
+ IL_28ec: box [mscorlib]System.Int32
+ IL_28f1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_28f6: ldloc.1
+ IL_28f7: ldloc.s V_11
+ IL_28f9: beq.s IL_2915
+
+ IL_28fb: ldc.i4.1
+ IL_28fc: stloc.s V_20
+ IL_28fe: ldstr "te1 check failed {0} {1}"
+ IL_2903: ldloc.1
+ IL_2904: box [mscorlib]System.Int32
+ IL_2909: ldloc.s V_11
+ IL_290b: box [mscorlib]System.Int32
+ IL_2910: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2915: ldloc.2
+ IL_2916: ldloc.s V_12
+ IL_2918: beq.s IL_2934
+
+ IL_291a: ldc.i4.1
+ IL_291b: stloc.s V_20
+ IL_291d: ldstr "te2 check failed {0} {1}"
+ IL_2922: ldloc.2
+ IL_2923: box [mscorlib]System.Int32
+ IL_2928: ldloc.s V_12
+ IL_292a: box [mscorlib]System.Int32
+ IL_292f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2934: ldloc.3
+ IL_2935: ldloc.s V_13
+ IL_2937: beq.s IL_2953
+
+ IL_2939: ldc.i4.1
+ IL_293a: stloc.s V_20
+ IL_293c: ldstr "te3 check failed {0} {1}"
+ IL_2941: ldloc.3
+ IL_2942: box [mscorlib]System.Int32
+ IL_2947: ldloc.s V_13
+ IL_2949: box [mscorlib]System.Int32
+ IL_294e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2953: ldloc.s V_4
+ IL_2955: ldloc.s V_14
+ IL_2957: beq.s IL_2974
+
+ IL_2959: ldc.i4.1
+ IL_295a: stloc.s V_20
+ IL_295c: ldstr "te064 check failed {0} {1}"
+ IL_2961: ldloc.s V_4
+ IL_2963: box [mscorlib]System.Int64
+ IL_2968: ldloc.s V_14
+ IL_296a: box [mscorlib]System.Int64
+ IL_296f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2974: ldloc.s V_5
+ IL_2976: ldloc.s V_15
+ IL_2978: beq.s IL_2995
+
+ IL_297a: ldc.i4.1
+ IL_297b: stloc.s V_20
+ IL_297d: ldstr "te164 check failed {0} {1}"
+ IL_2982: ldloc.s V_5
+ IL_2984: box [mscorlib]System.Int64
+ IL_2989: ldloc.s V_15
+ IL_298b: box [mscorlib]System.Int64
+ IL_2990: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2995: ldloc.s V_6
+ IL_2997: ldloc.s V_16
+ IL_2999: beq.s IL_29b6
+
+ IL_299b: ldc.i4.1
+ IL_299c: stloc.s V_20
+ IL_299e: ldstr "te264 check failed {0} {1}"
+ IL_29a3: ldloc.s V_6
+ IL_29a5: box [mscorlib]System.Int64
+ IL_29aa: ldloc.s V_16
+ IL_29ac: box [mscorlib]System.Int64
+ IL_29b1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_29b6: ldloc.s V_7
+ IL_29b8: ldloc.s V_17
+ IL_29ba: beq.s IL_29d7
+
+ IL_29bc: ldc.i4.1
+ IL_29bd: stloc.s V_20
+ IL_29bf: ldstr "te364 check failed {0} {1}"
+ IL_29c4: ldloc.s V_7
+ IL_29c6: box [mscorlib]System.Int64
+ IL_29cb: ldloc.s V_17
+ IL_29cd: box [mscorlib]System.Int64
+ IL_29d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_29d7: ldloc.s V_8
+ IL_29d9: ldloc.s V_18
+ IL_29db: beq.s IL_29f8
+
+ IL_29dd: ldc.i4.1
+ IL_29de: stloc.s V_20
+ IL_29e0: ldstr "dummy check failed {0} {1}"
+ IL_29e5: ldloc.s V_8
+ IL_29e7: box [mscorlib]System.Int32
+ IL_29ec: ldloc.s V_18
+ IL_29ee: box [mscorlib]System.Int32
+ IL_29f3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_29f8: ldloc.s V_9
+ IL_29fa: ldloc.s V_19
+ IL_29fc: beq.s IL_2a19
+
+ IL_29fe: ldc.i4.1
+ IL_29ff: stloc.s V_20
+ IL_2a01: ldstr "dummy64 check failed {0} {1}"
+ IL_2a06: ldloc.s V_9
+ IL_2a08: box [mscorlib]System.Int64
+ IL_2a0d: ldloc.s V_19
+ IL_2a0f: box [mscorlib]System.Int64
+ IL_2a14: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a19: ldsfld int32 IntrinsicTest::counter
+ IL_2a1e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2a23: beq.s IL_2a46
+
+ IL_2a25: ldstr "counter mismatch {0} {1}"
+ IL_2a2a: ldsfld int32 IntrinsicTest::counter
+ IL_2a2f: box [mscorlib]System.Int32
+ IL_2a34: ldsfld int32 IntrinsicTest::id_counter
+ IL_2a39: box [mscorlib]System.Int32
+ IL_2a3e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a43: ldc.i4.1
+ IL_2a44: stloc.s V_20
+ IL_2a46: ldsfld int64 IntrinsicTest::counter64
+ IL_2a4b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2a50: beq.s IL_2a73
+
+ IL_2a52: ldstr "counter64 mismatch {0} {1}"
+ IL_2a57: ldsfld int64 IntrinsicTest::counter64
+ IL_2a5c: box [mscorlib]System.Int64
+ IL_2a61: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2a66: box [mscorlib]System.Int64
+ IL_2a6b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a70: ldc.i4.1
+ IL_2a71: stloc.s V_20
+ IL_2a73: ldloc.s V_21
+ IL_2a75: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2a7a: ldloc.s V_21
+ IL_2a7c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2a81: beq.s IL_2aa8
+
+ IL_2a83: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2a88: ldloc.s V_21
+ IL_2a8a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2a8f: box [mscorlib]System.Int32
+ IL_2a94: ldloc.s V_21
+ IL_2a96: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2a9b: box [mscorlib]System.Int32
+ IL_2aa0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2aa5: ldc.i4.1
+ IL_2aa6: stloc.s V_20
+ IL_2aa8: ldloc.s V_21
+ IL_2aaa: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2aaf: ldloc.s V_21
+ IL_2ab1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2ab6: beq.s IL_2add
+
+ IL_2ab8: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2abd: ldloc.s V_21
+ IL_2abf: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2ac4: box [mscorlib]System.Int64
+ IL_2ac9: ldloc.s V_21
+ IL_2acb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2ad0: box [mscorlib]System.Int64
+ IL_2ad5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ada: ldc.i4.1
+ IL_2adb: stloc.s V_20
+ IL_2add: ldsfld int64 IntrinsicTest::temp
+ IL_2ae2: ldsfld int64 IntrinsicTest::idmp
+ IL_2ae7: beq.s IL_2b0a
+
+ IL_2ae9: ldstr "temp mismatch {0} {1}"
+ IL_2aee: ldsfld int64 IntrinsicTest::temp
+ IL_2af3: box [mscorlib]System.Int64
+ IL_2af8: ldsfld int64 IntrinsicTest::idmp
+ IL_2afd: box [mscorlib]System.Int64
+ IL_2b02: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b07: ldc.i4.1
+ IL_2b08: stloc.s V_20
+ IL_2b0a: ldsflda int64 IntrinsicTest::counter64
+ IL_2b0f: ldsfld int64 IntrinsicTest::counter64
+ IL_2b14: ldloc.s V_21
+ IL_2b16: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2b1b: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2b20: stloc.s V_4
+ IL_2b22: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2b27: stloc.s V_14
+ IL_2b29: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2b2e: ldloc.s V_21
+ IL_2b30: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2b35: bne.un.s IL_2b43
+
+ IL_2b37: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2b3c: stsfld int64 IntrinsicTest::id_counter64
+ IL_2b41: br.s IL_2b4d
+
+ IL_2b43: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2b48: stsfld int64 IntrinsicTest::idjunk
+ IL_2b4d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 3"
+ IL_2b52: call void [System.Console]System.Console::WriteLine(string)
+ IL_2b57: ldloc.0
+ IL_2b58: ldloc.s V_10
+ IL_2b5a: beq.s IL_2b76
+
+ IL_2b5c: ldc.i4.1
+ IL_2b5d: stloc.s V_20
+ IL_2b5f: ldstr "te0 check failed {0} {1}"
+ IL_2b64: ldloc.0
+ IL_2b65: box [mscorlib]System.Int32
+ IL_2b6a: ldloc.s V_10
+ IL_2b6c: box [mscorlib]System.Int32
+ IL_2b71: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b76: ldloc.1
+ IL_2b77: ldloc.s V_11
+ IL_2b79: beq.s IL_2b95
+
+ IL_2b7b: ldc.i4.1
+ IL_2b7c: stloc.s V_20
+ IL_2b7e: ldstr "te1 check failed {0} {1}"
+ IL_2b83: ldloc.1
+ IL_2b84: box [mscorlib]System.Int32
+ IL_2b89: ldloc.s V_11
+ IL_2b8b: box [mscorlib]System.Int32
+ IL_2b90: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b95: ldloc.2
+ IL_2b96: ldloc.s V_12
+ IL_2b98: beq.s IL_2bb4
+
+ IL_2b9a: ldc.i4.1
+ IL_2b9b: stloc.s V_20
+ IL_2b9d: ldstr "te2 check failed {0} {1}"
+ IL_2ba2: ldloc.2
+ IL_2ba3: box [mscorlib]System.Int32
+ IL_2ba8: ldloc.s V_12
+ IL_2baa: box [mscorlib]System.Int32
+ IL_2baf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bb4: ldloc.3
+ IL_2bb5: ldloc.s V_13
+ IL_2bb7: beq.s IL_2bd3
+
+ IL_2bb9: ldc.i4.1
+ IL_2bba: stloc.s V_20
+ IL_2bbc: ldstr "te3 check failed {0} {1}"
+ IL_2bc1: ldloc.3
+ IL_2bc2: box [mscorlib]System.Int32
+ IL_2bc7: ldloc.s V_13
+ IL_2bc9: box [mscorlib]System.Int32
+ IL_2bce: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bd3: ldloc.s V_4
+ IL_2bd5: ldloc.s V_14
+ IL_2bd7: beq.s IL_2bf4
+
+ IL_2bd9: ldc.i4.1
+ IL_2bda: stloc.s V_20
+ IL_2bdc: ldstr "te064 check failed {0} {1}"
+ IL_2be1: ldloc.s V_4
+ IL_2be3: box [mscorlib]System.Int64
+ IL_2be8: ldloc.s V_14
+ IL_2bea: box [mscorlib]System.Int64
+ IL_2bef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bf4: ldloc.s V_5
+ IL_2bf6: ldloc.s V_15
+ IL_2bf8: beq.s IL_2c15
+
+ IL_2bfa: ldc.i4.1
+ IL_2bfb: stloc.s V_20
+ IL_2bfd: ldstr "te164 check failed {0} {1}"
+ IL_2c02: ldloc.s V_5
+ IL_2c04: box [mscorlib]System.Int64
+ IL_2c09: ldloc.s V_15
+ IL_2c0b: box [mscorlib]System.Int64
+ IL_2c10: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c15: ldloc.s V_6
+ IL_2c17: ldloc.s V_16
+ IL_2c19: beq.s IL_2c36
+
+ IL_2c1b: ldc.i4.1
+ IL_2c1c: stloc.s V_20
+ IL_2c1e: ldstr "te264 check failed {0} {1}"
+ IL_2c23: ldloc.s V_6
+ IL_2c25: box [mscorlib]System.Int64
+ IL_2c2a: ldloc.s V_16
+ IL_2c2c: box [mscorlib]System.Int64
+ IL_2c31: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c36: ldloc.s V_7
+ IL_2c38: ldloc.s V_17
+ IL_2c3a: beq.s IL_2c57
+
+ IL_2c3c: ldc.i4.1
+ IL_2c3d: stloc.s V_20
+ IL_2c3f: ldstr "te364 check failed {0} {1}"
+ IL_2c44: ldloc.s V_7
+ IL_2c46: box [mscorlib]System.Int64
+ IL_2c4b: ldloc.s V_17
+ IL_2c4d: box [mscorlib]System.Int64
+ IL_2c52: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c57: ldloc.s V_8
+ IL_2c59: ldloc.s V_18
+ IL_2c5b: beq.s IL_2c78
+
+ IL_2c5d: ldc.i4.1
+ IL_2c5e: stloc.s V_20
+ IL_2c60: ldstr "dummy check failed {0} {1}"
+ IL_2c65: ldloc.s V_8
+ IL_2c67: box [mscorlib]System.Int32
+ IL_2c6c: ldloc.s V_18
+ IL_2c6e: box [mscorlib]System.Int32
+ IL_2c73: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c78: ldloc.s V_9
+ IL_2c7a: ldloc.s V_19
+ IL_2c7c: beq.s IL_2c99
+
+ IL_2c7e: ldc.i4.1
+ IL_2c7f: stloc.s V_20
+ IL_2c81: ldstr "dummy64 check failed {0} {1}"
+ IL_2c86: ldloc.s V_9
+ IL_2c88: box [mscorlib]System.Int64
+ IL_2c8d: ldloc.s V_19
+ IL_2c8f: box [mscorlib]System.Int64
+ IL_2c94: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c99: ldsfld int32 IntrinsicTest::counter
+ IL_2c9e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2ca3: beq.s IL_2cc6
+
+ IL_2ca5: ldstr "counter mismatch {0} {1}"
+ IL_2caa: ldsfld int32 IntrinsicTest::counter
+ IL_2caf: box [mscorlib]System.Int32
+ IL_2cb4: ldsfld int32 IntrinsicTest::id_counter
+ IL_2cb9: box [mscorlib]System.Int32
+ IL_2cbe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2cc3: ldc.i4.1
+ IL_2cc4: stloc.s V_20
+ IL_2cc6: ldsfld int64 IntrinsicTest::counter64
+ IL_2ccb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2cd0: beq.s IL_2cf3
+
+ IL_2cd2: ldstr "counter64 mismatch {0} {1}"
+ IL_2cd7: ldsfld int64 IntrinsicTest::counter64
+ IL_2cdc: box [mscorlib]System.Int64
+ IL_2ce1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2ce6: box [mscorlib]System.Int64
+ IL_2ceb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2cf0: ldc.i4.1
+ IL_2cf1: stloc.s V_20
+ IL_2cf3: ldloc.s V_21
+ IL_2cf5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2cfa: ldloc.s V_21
+ IL_2cfc: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2d01: beq.s IL_2d28
+
+ IL_2d03: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2d08: ldloc.s V_21
+ IL_2d0a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2d0f: box [mscorlib]System.Int32
+ IL_2d14: ldloc.s V_21
+ IL_2d16: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2d1b: box [mscorlib]System.Int32
+ IL_2d20: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d25: ldc.i4.1
+ IL_2d26: stloc.s V_20
+ IL_2d28: ldloc.s V_21
+ IL_2d2a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2d2f: ldloc.s V_21
+ IL_2d31: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2d36: beq.s IL_2d5d
+
+ IL_2d38: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2d3d: ldloc.s V_21
+ IL_2d3f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2d44: box [mscorlib]System.Int64
+ IL_2d49: ldloc.s V_21
+ IL_2d4b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2d50: box [mscorlib]System.Int64
+ IL_2d55: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d5a: ldc.i4.1
+ IL_2d5b: stloc.s V_20
+ IL_2d5d: ldsfld int64 IntrinsicTest::temp
+ IL_2d62: ldsfld int64 IntrinsicTest::idmp
+ IL_2d67: beq.s IL_2d8a
+
+ IL_2d69: ldstr "temp mismatch {0} {1}"
+ IL_2d6e: ldsfld int64 IntrinsicTest::temp
+ IL_2d73: box [mscorlib]System.Int64
+ IL_2d78: ldsfld int64 IntrinsicTest::idmp
+ IL_2d7d: box [mscorlib]System.Int64
+ IL_2d82: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d87: ldc.i4.1
+ IL_2d88: stloc.s V_20
+ IL_2d8a: ldsflda int64 IntrinsicTest::counter64
+ IL_2d8f: ldsfld int64 IntrinsicTest::counter64
+ IL_2d94: ldloc.s V_21
+ IL_2d96: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2d9b: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_2da0: stsfld int64 IntrinsicTest::counter64
+ IL_2da5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2daa: stsfld int64 IntrinsicTest::id_counter64
+ IL_2daf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2db4: ldloc.s V_21
+ IL_2db6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2dbb: bne.un.s IL_2dc9
+
+ IL_2dbd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2dc2: stsfld int64 IntrinsicTest::idjunk
+ IL_2dc7: br.s IL_2dd3
+
+ IL_2dc9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2dce: stsfld int64 IntrinsicTest::idjunk
+ IL_2dd3: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 4"
+ IL_2dd8: call void [System.Console]System.Console::WriteLine(string)
+ IL_2ddd: ldloc.0
+ IL_2dde: ldloc.s V_10
+ IL_2de0: beq.s IL_2dfc
+
+ IL_2de2: ldc.i4.1
+ IL_2de3: stloc.s V_20
+ IL_2de5: ldstr "te0 check failed {0} {1}"
+ IL_2dea: ldloc.0
+ IL_2deb: box [mscorlib]System.Int32
+ IL_2df0: ldloc.s V_10
+ IL_2df2: box [mscorlib]System.Int32
+ IL_2df7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2dfc: ldloc.1
+ IL_2dfd: ldloc.s V_11
+ IL_2dff: beq.s IL_2e1b
+
+ IL_2e01: ldc.i4.1
+ IL_2e02: stloc.s V_20
+ IL_2e04: ldstr "te1 check failed {0} {1}"
+ IL_2e09: ldloc.1
+ IL_2e0a: box [mscorlib]System.Int32
+ IL_2e0f: ldloc.s V_11
+ IL_2e11: box [mscorlib]System.Int32
+ IL_2e16: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e1b: ldloc.2
+ IL_2e1c: ldloc.s V_12
+ IL_2e1e: beq.s IL_2e3a
+
+ IL_2e20: ldc.i4.1
+ IL_2e21: stloc.s V_20
+ IL_2e23: ldstr "te2 check failed {0} {1}"
+ IL_2e28: ldloc.2
+ IL_2e29: box [mscorlib]System.Int32
+ IL_2e2e: ldloc.s V_12
+ IL_2e30: box [mscorlib]System.Int32
+ IL_2e35: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e3a: ldloc.3
+ IL_2e3b: ldloc.s V_13
+ IL_2e3d: beq.s IL_2e59
+
+ IL_2e3f: ldc.i4.1
+ IL_2e40: stloc.s V_20
+ IL_2e42: ldstr "te3 check failed {0} {1}"
+ IL_2e47: ldloc.3
+ IL_2e48: box [mscorlib]System.Int32
+ IL_2e4d: ldloc.s V_13
+ IL_2e4f: box [mscorlib]System.Int32
+ IL_2e54: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e59: ldloc.s V_4
+ IL_2e5b: ldloc.s V_14
+ IL_2e5d: beq.s IL_2e7a
+
+ IL_2e5f: ldc.i4.1
+ IL_2e60: stloc.s V_20
+ IL_2e62: ldstr "te064 check failed {0} {1}"
+ IL_2e67: ldloc.s V_4
+ IL_2e69: box [mscorlib]System.Int64
+ IL_2e6e: ldloc.s V_14
+ IL_2e70: box [mscorlib]System.Int64
+ IL_2e75: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e7a: ldloc.s V_5
+ IL_2e7c: ldloc.s V_15
+ IL_2e7e: beq.s IL_2e9b
+
+ IL_2e80: ldc.i4.1
+ IL_2e81: stloc.s V_20
+ IL_2e83: ldstr "te164 check failed {0} {1}"
+ IL_2e88: ldloc.s V_5
+ IL_2e8a: box [mscorlib]System.Int64
+ IL_2e8f: ldloc.s V_15
+ IL_2e91: box [mscorlib]System.Int64
+ IL_2e96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e9b: ldloc.s V_6
+ IL_2e9d: ldloc.s V_16
+ IL_2e9f: beq.s IL_2ebc
+
+ IL_2ea1: ldc.i4.1
+ IL_2ea2: stloc.s V_20
+ IL_2ea4: ldstr "te264 check failed {0} {1}"
+ IL_2ea9: ldloc.s V_6
+ IL_2eab: box [mscorlib]System.Int64
+ IL_2eb0: ldloc.s V_16
+ IL_2eb2: box [mscorlib]System.Int64
+ IL_2eb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ebc: ldloc.s V_7
+ IL_2ebe: ldloc.s V_17
+ IL_2ec0: beq.s IL_2edd
+
+ IL_2ec2: ldc.i4.1
+ IL_2ec3: stloc.s V_20
+ IL_2ec5: ldstr "te364 check failed {0} {1}"
+ IL_2eca: ldloc.s V_7
+ IL_2ecc: box [mscorlib]System.Int64
+ IL_2ed1: ldloc.s V_17
+ IL_2ed3: box [mscorlib]System.Int64
+ IL_2ed8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2edd: ldloc.s V_8
+ IL_2edf: ldloc.s V_18
+ IL_2ee1: beq.s IL_2efe
+
+ IL_2ee3: ldc.i4.1
+ IL_2ee4: stloc.s V_20
+ IL_2ee6: ldstr "dummy check failed {0} {1}"
+ IL_2eeb: ldloc.s V_8
+ IL_2eed: box [mscorlib]System.Int32
+ IL_2ef2: ldloc.s V_18
+ IL_2ef4: box [mscorlib]System.Int32
+ IL_2ef9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2efe: ldloc.s V_9
+ IL_2f00: ldloc.s V_19
+ IL_2f02: beq.s IL_2f1f
+
+ IL_2f04: ldc.i4.1
+ IL_2f05: stloc.s V_20
+ IL_2f07: ldstr "dummy64 check failed {0} {1}"
+ IL_2f0c: ldloc.s V_9
+ IL_2f0e: box [mscorlib]System.Int64
+ IL_2f13: ldloc.s V_19
+ IL_2f15: box [mscorlib]System.Int64
+ IL_2f1a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f1f: ldsfld int32 IntrinsicTest::counter
+ IL_2f24: ldsfld int32 IntrinsicTest::id_counter
+ IL_2f29: beq.s IL_2f4c
+
+ IL_2f2b: ldstr "counter mismatch {0} {1}"
+ IL_2f30: ldsfld int32 IntrinsicTest::counter
+ IL_2f35: box [mscorlib]System.Int32
+ IL_2f3a: ldsfld int32 IntrinsicTest::id_counter
+ IL_2f3f: box [mscorlib]System.Int32
+ IL_2f44: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f49: ldc.i4.1
+ IL_2f4a: stloc.s V_20
+ IL_2f4c: ldsfld int64 IntrinsicTest::counter64
+ IL_2f51: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2f56: beq.s IL_2f79
+
+ IL_2f58: ldstr "counter64 mismatch {0} {1}"
+ IL_2f5d: ldsfld int64 IntrinsicTest::counter64
+ IL_2f62: box [mscorlib]System.Int64
+ IL_2f67: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2f6c: box [mscorlib]System.Int64
+ IL_2f71: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f76: ldc.i4.1
+ IL_2f77: stloc.s V_20
+ IL_2f79: ldloc.s V_21
+ IL_2f7b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2f80: ldloc.s V_21
+ IL_2f82: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2f87: beq.s IL_2fae
+
+ IL_2f89: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2f8e: ldloc.s V_21
+ IL_2f90: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2f95: box [mscorlib]System.Int32
+ IL_2f9a: ldloc.s V_21
+ IL_2f9c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2fa1: box [mscorlib]System.Int32
+ IL_2fa6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2fab: ldc.i4.1
+ IL_2fac: stloc.s V_20
+ IL_2fae: ldloc.s V_21
+ IL_2fb0: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2fb5: ldloc.s V_21
+ IL_2fb7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2fbc: beq.s IL_2fe3
+
+ IL_2fbe: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2fc3: ldloc.s V_21
+ IL_2fc5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2fca: box [mscorlib]System.Int64
+ IL_2fcf: ldloc.s V_21
+ IL_2fd1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2fd6: box [mscorlib]System.Int64
+ IL_2fdb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2fe0: ldc.i4.1
+ IL_2fe1: stloc.s V_20
+ IL_2fe3: ldsfld int64 IntrinsicTest::temp
+ IL_2fe8: ldsfld int64 IntrinsicTest::idmp
+ IL_2fed: beq.s IL_3010
+
+ IL_2fef: ldstr "temp mismatch {0} {1}"
+ IL_2ff4: ldsfld int64 IntrinsicTest::temp
+ IL_2ff9: box [mscorlib]System.Int64
+ IL_2ffe: ldsfld int64 IntrinsicTest::idmp
+ IL_3003: box [mscorlib]System.Int64
+ IL_3008: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_300d: ldc.i4.1
+ IL_300e: stloc.s V_20
+ IL_3010: ldloc.s V_21
+ IL_3012: ldsflda int64 IntrinsicTest::counter64
+ IL_3017: ldsfld int64 IntrinsicTest::counter64
+ IL_301c: ldloc.s V_21
+ IL_301e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3023: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_3028: stfld int64 IntrinsicTest::instanceCounter64
+ IL_302d: ldloc.s V_21
+ IL_302f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3034: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3039: ldsfld int64 IntrinsicTest::id_counter64
+ IL_303e: ldloc.s V_21
+ IL_3040: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3045: bne.un.s IL_3053
+
+ IL_3047: ldsfld int64 IntrinsicTest::id_counter64
+ IL_304c: stsfld int64 IntrinsicTest::id_counter64
+ IL_3051: br.s IL_305d
+
+ IL_3053: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3058: stsfld int64 IntrinsicTest::idjunk
+ IL_305d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 5"
+ IL_3062: call void [System.Console]System.Console::WriteLine(string)
+ IL_3067: ldloc.0
+ IL_3068: ldloc.s V_10
+ IL_306a: beq.s IL_3086
+
+ IL_306c: ldc.i4.1
+ IL_306d: stloc.s V_20
+ IL_306f: ldstr "te0 check failed {0} {1}"
+ IL_3074: ldloc.0
+ IL_3075: box [mscorlib]System.Int32
+ IL_307a: ldloc.s V_10
+ IL_307c: box [mscorlib]System.Int32
+ IL_3081: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3086: ldloc.1
+ IL_3087: ldloc.s V_11
+ IL_3089: beq.s IL_30a5
+
+ IL_308b: ldc.i4.1
+ IL_308c: stloc.s V_20
+ IL_308e: ldstr "te1 check failed {0} {1}"
+ IL_3093: ldloc.1
+ IL_3094: box [mscorlib]System.Int32
+ IL_3099: ldloc.s V_11
+ IL_309b: box [mscorlib]System.Int32
+ IL_30a0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30a5: ldloc.2
+ IL_30a6: ldloc.s V_12
+ IL_30a8: beq.s IL_30c4
+
+ IL_30aa: ldc.i4.1
+ IL_30ab: stloc.s V_20
+ IL_30ad: ldstr "te2 check failed {0} {1}"
+ IL_30b2: ldloc.2
+ IL_30b3: box [mscorlib]System.Int32
+ IL_30b8: ldloc.s V_12
+ IL_30ba: box [mscorlib]System.Int32
+ IL_30bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30c4: ldloc.3
+ IL_30c5: ldloc.s V_13
+ IL_30c7: beq.s IL_30e3
+
+ IL_30c9: ldc.i4.1
+ IL_30ca: stloc.s V_20
+ IL_30cc: ldstr "te3 check failed {0} {1}"
+ IL_30d1: ldloc.3
+ IL_30d2: box [mscorlib]System.Int32
+ IL_30d7: ldloc.s V_13
+ IL_30d9: box [mscorlib]System.Int32
+ IL_30de: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30e3: ldloc.s V_4
+ IL_30e5: ldloc.s V_14
+ IL_30e7: beq.s IL_3104
+
+ IL_30e9: ldc.i4.1
+ IL_30ea: stloc.s V_20
+ IL_30ec: ldstr "te064 check failed {0} {1}"
+ IL_30f1: ldloc.s V_4
+ IL_30f3: box [mscorlib]System.Int64
+ IL_30f8: ldloc.s V_14
+ IL_30fa: box [mscorlib]System.Int64
+ IL_30ff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3104: ldloc.s V_5
+ IL_3106: ldloc.s V_15
+ IL_3108: beq.s IL_3125
+
+ IL_310a: ldc.i4.1
+ IL_310b: stloc.s V_20
+ IL_310d: ldstr "te164 check failed {0} {1}"
+ IL_3112: ldloc.s V_5
+ IL_3114: box [mscorlib]System.Int64
+ IL_3119: ldloc.s V_15
+ IL_311b: box [mscorlib]System.Int64
+ IL_3120: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3125: ldloc.s V_6
+ IL_3127: ldloc.s V_16
+ IL_3129: beq.s IL_3146
+
+ IL_312b: ldc.i4.1
+ IL_312c: stloc.s V_20
+ IL_312e: ldstr "te264 check failed {0} {1}"
+ IL_3133: ldloc.s V_6
+ IL_3135: box [mscorlib]System.Int64
+ IL_313a: ldloc.s V_16
+ IL_313c: box [mscorlib]System.Int64
+ IL_3141: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3146: ldloc.s V_7
+ IL_3148: ldloc.s V_17
+ IL_314a: beq.s IL_3167
+
+ IL_314c: ldc.i4.1
+ IL_314d: stloc.s V_20
+ IL_314f: ldstr "te364 check failed {0} {1}"
+ IL_3154: ldloc.s V_7
+ IL_3156: box [mscorlib]System.Int64
+ IL_315b: ldloc.s V_17
+ IL_315d: box [mscorlib]System.Int64
+ IL_3162: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3167: ldloc.s V_8
+ IL_3169: ldloc.s V_18
+ IL_316b: beq.s IL_3188
+
+ IL_316d: ldc.i4.1
+ IL_316e: stloc.s V_20
+ IL_3170: ldstr "dummy check failed {0} {1}"
+ IL_3175: ldloc.s V_8
+ IL_3177: box [mscorlib]System.Int32
+ IL_317c: ldloc.s V_18
+ IL_317e: box [mscorlib]System.Int32
+ IL_3183: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3188: ldloc.s V_9
+ IL_318a: ldloc.s V_19
+ IL_318c: beq.s IL_31a9
+
+ IL_318e: ldc.i4.1
+ IL_318f: stloc.s V_20
+ IL_3191: ldstr "dummy64 check failed {0} {1}"
+ IL_3196: ldloc.s V_9
+ IL_3198: box [mscorlib]System.Int64
+ IL_319d: ldloc.s V_19
+ IL_319f: box [mscorlib]System.Int64
+ IL_31a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_31a9: ldsfld int32 IntrinsicTest::counter
+ IL_31ae: ldsfld int32 IntrinsicTest::id_counter
+ IL_31b3: beq.s IL_31d6
+
+ IL_31b5: ldstr "counter mismatch {0} {1}"
+ IL_31ba: ldsfld int32 IntrinsicTest::counter
+ IL_31bf: box [mscorlib]System.Int32
+ IL_31c4: ldsfld int32 IntrinsicTest::id_counter
+ IL_31c9: box [mscorlib]System.Int32
+ IL_31ce: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_31d3: ldc.i4.1
+ IL_31d4: stloc.s V_20
+ IL_31d6: ldsfld int64 IntrinsicTest::counter64
+ IL_31db: ldsfld int64 IntrinsicTest::id_counter64
+ IL_31e0: beq.s IL_3203
+
+ IL_31e2: ldstr "counter64 mismatch {0} {1}"
+ IL_31e7: ldsfld int64 IntrinsicTest::counter64
+ IL_31ec: box [mscorlib]System.Int64
+ IL_31f1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_31f6: box [mscorlib]System.Int64
+ IL_31fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3200: ldc.i4.1
+ IL_3201: stloc.s V_20
+ IL_3203: ldloc.s V_21
+ IL_3205: ldfld int32 IntrinsicTest::instanceCounter
+ IL_320a: ldloc.s V_21
+ IL_320c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3211: beq.s IL_3238
+
+ IL_3213: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3218: ldloc.s V_21
+ IL_321a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_321f: box [mscorlib]System.Int32
+ IL_3224: ldloc.s V_21
+ IL_3226: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_322b: box [mscorlib]System.Int32
+ IL_3230: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3235: ldc.i4.1
+ IL_3236: stloc.s V_20
+ IL_3238: ldloc.s V_21
+ IL_323a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_323f: ldloc.s V_21
+ IL_3241: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3246: beq.s IL_326d
+
+ IL_3248: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_324d: ldloc.s V_21
+ IL_324f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3254: box [mscorlib]System.Int64
+ IL_3259: ldloc.s V_21
+ IL_325b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3260: box [mscorlib]System.Int64
+ IL_3265: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_326a: ldc.i4.1
+ IL_326b: stloc.s V_20
+ IL_326d: ldsfld int64 IntrinsicTest::temp
+ IL_3272: ldsfld int64 IntrinsicTest::idmp
+ IL_3277: beq.s IL_329a
+
+ IL_3279: ldstr "temp mismatch {0} {1}"
+ IL_327e: ldsfld int64 IntrinsicTest::temp
+ IL_3283: box [mscorlib]System.Int64
+ IL_3288: ldsfld int64 IntrinsicTest::idmp
+ IL_328d: box [mscorlib]System.Int64
+ IL_3292: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3297: ldc.i4.1
+ IL_3298: stloc.s V_20
+ IL_329a: ldsflda int64 IntrinsicTest::counter64
+ IL_329f: ldsfld int64 IntrinsicTest::counter64
+ IL_32a4: ldloc.s V_21
+ IL_32a6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_32ab: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_32b0: stloc.s V_7
+ IL_32b2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_32b7: stloc.s V_17
+ IL_32b9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_32be: ldloc.s V_21
+ IL_32c0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_32c5: bne.un.s IL_32d3
+
+ IL_32c7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_32cc: stsfld int64 IntrinsicTest::id_counter64
+ IL_32d1: br.s IL_32dd
+
+ IL_32d3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_32d8: stsfld int64 IntrinsicTest::idjunk
+ IL_32dd: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 2 6"
+ IL_32e2: call void [System.Console]System.Console::WriteLine(string)
+ IL_32e7: ldloc.0
+ IL_32e8: ldloc.s V_10
+ IL_32ea: beq.s IL_3306
+
+ IL_32ec: ldc.i4.1
+ IL_32ed: stloc.s V_20
+ IL_32ef: ldstr "te0 check failed {0} {1}"
+ IL_32f4: ldloc.0
+ IL_32f5: box [mscorlib]System.Int32
+ IL_32fa: ldloc.s V_10
+ IL_32fc: box [mscorlib]System.Int32
+ IL_3301: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3306: ldloc.1
+ IL_3307: ldloc.s V_11
+ IL_3309: beq.s IL_3325
+
+ IL_330b: ldc.i4.1
+ IL_330c: stloc.s V_20
+ IL_330e: ldstr "te1 check failed {0} {1}"
+ IL_3313: ldloc.1
+ IL_3314: box [mscorlib]System.Int32
+ IL_3319: ldloc.s V_11
+ IL_331b: box [mscorlib]System.Int32
+ IL_3320: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3325: ldloc.2
+ IL_3326: ldloc.s V_12
+ IL_3328: beq.s IL_3344
+
+ IL_332a: ldc.i4.1
+ IL_332b: stloc.s V_20
+ IL_332d: ldstr "te2 check failed {0} {1}"
+ IL_3332: ldloc.2
+ IL_3333: box [mscorlib]System.Int32
+ IL_3338: ldloc.s V_12
+ IL_333a: box [mscorlib]System.Int32
+ IL_333f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3344: ldloc.3
+ IL_3345: ldloc.s V_13
+ IL_3347: beq.s IL_3363
+
+ IL_3349: ldc.i4.1
+ IL_334a: stloc.s V_20
+ IL_334c: ldstr "te3 check failed {0} {1}"
+ IL_3351: ldloc.3
+ IL_3352: box [mscorlib]System.Int32
+ IL_3357: ldloc.s V_13
+ IL_3359: box [mscorlib]System.Int32
+ IL_335e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3363: ldloc.s V_4
+ IL_3365: ldloc.s V_14
+ IL_3367: beq.s IL_3384
+
+ IL_3369: ldc.i4.1
+ IL_336a: stloc.s V_20
+ IL_336c: ldstr "te064 check failed {0} {1}"
+ IL_3371: ldloc.s V_4
+ IL_3373: box [mscorlib]System.Int64
+ IL_3378: ldloc.s V_14
+ IL_337a: box [mscorlib]System.Int64
+ IL_337f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3384: ldloc.s V_5
+ IL_3386: ldloc.s V_15
+ IL_3388: beq.s IL_33a5
+
+ IL_338a: ldc.i4.1
+ IL_338b: stloc.s V_20
+ IL_338d: ldstr "te164 check failed {0} {1}"
+ IL_3392: ldloc.s V_5
+ IL_3394: box [mscorlib]System.Int64
+ IL_3399: ldloc.s V_15
+ IL_339b: box [mscorlib]System.Int64
+ IL_33a0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33a5: ldloc.s V_6
+ IL_33a7: ldloc.s V_16
+ IL_33a9: beq.s IL_33c6
+
+ IL_33ab: ldc.i4.1
+ IL_33ac: stloc.s V_20
+ IL_33ae: ldstr "te264 check failed {0} {1}"
+ IL_33b3: ldloc.s V_6
+ IL_33b5: box [mscorlib]System.Int64
+ IL_33ba: ldloc.s V_16
+ IL_33bc: box [mscorlib]System.Int64
+ IL_33c1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33c6: ldloc.s V_7
+ IL_33c8: ldloc.s V_17
+ IL_33ca: beq.s IL_33e7
+
+ IL_33cc: ldc.i4.1
+ IL_33cd: stloc.s V_20
+ IL_33cf: ldstr "te364 check failed {0} {1}"
+ IL_33d4: ldloc.s V_7
+ IL_33d6: box [mscorlib]System.Int64
+ IL_33db: ldloc.s V_17
+ IL_33dd: box [mscorlib]System.Int64
+ IL_33e2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33e7: ldloc.s V_8
+ IL_33e9: ldloc.s V_18
+ IL_33eb: beq.s IL_3408
+
+ IL_33ed: ldc.i4.1
+ IL_33ee: stloc.s V_20
+ IL_33f0: ldstr "dummy check failed {0} {1}"
+ IL_33f5: ldloc.s V_8
+ IL_33f7: box [mscorlib]System.Int32
+ IL_33fc: ldloc.s V_18
+ IL_33fe: box [mscorlib]System.Int32
+ IL_3403: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3408: ldloc.s V_9
+ IL_340a: ldloc.s V_19
+ IL_340c: beq.s IL_3429
+
+ IL_340e: ldc.i4.1
+ IL_340f: stloc.s V_20
+ IL_3411: ldstr "dummy64 check failed {0} {1}"
+ IL_3416: ldloc.s V_9
+ IL_3418: box [mscorlib]System.Int64
+ IL_341d: ldloc.s V_19
+ IL_341f: box [mscorlib]System.Int64
+ IL_3424: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3429: ldsfld int32 IntrinsicTest::counter
+ IL_342e: ldsfld int32 IntrinsicTest::id_counter
+ IL_3433: beq.s IL_3456
+
+ IL_3435: ldstr "counter mismatch {0} {1}"
+ IL_343a: ldsfld int32 IntrinsicTest::counter
+ IL_343f: box [mscorlib]System.Int32
+ IL_3444: ldsfld int32 IntrinsicTest::id_counter
+ IL_3449: box [mscorlib]System.Int32
+ IL_344e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3453: ldc.i4.1
+ IL_3454: stloc.s V_20
+ IL_3456: ldsfld int64 IntrinsicTest::counter64
+ IL_345b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3460: beq.s IL_3483
+
+ IL_3462: ldstr "counter64 mismatch {0} {1}"
+ IL_3467: ldsfld int64 IntrinsicTest::counter64
+ IL_346c: box [mscorlib]System.Int64
+ IL_3471: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3476: box [mscorlib]System.Int64
+ IL_347b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3480: ldc.i4.1
+ IL_3481: stloc.s V_20
+ IL_3483: ldloc.s V_21
+ IL_3485: ldfld int32 IntrinsicTest::instanceCounter
+ IL_348a: ldloc.s V_21
+ IL_348c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3491: beq.s IL_34b8
+
+ IL_3493: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3498: ldloc.s V_21
+ IL_349a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_349f: box [mscorlib]System.Int32
+ IL_34a4: ldloc.s V_21
+ IL_34a6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_34ab: box [mscorlib]System.Int32
+ IL_34b0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_34b5: ldc.i4.1
+ IL_34b6: stloc.s V_20
+ IL_34b8: ldloc.s V_21
+ IL_34ba: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_34bf: ldloc.s V_21
+ IL_34c1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_34c6: beq.s IL_34ed
+
+ IL_34c8: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_34cd: ldloc.s V_21
+ IL_34cf: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_34d4: box [mscorlib]System.Int64
+ IL_34d9: ldloc.s V_21
+ IL_34db: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_34e0: box [mscorlib]System.Int64
+ IL_34e5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_34ea: ldc.i4.1
+ IL_34eb: stloc.s V_20
+ IL_34ed: ldsfld int64 IntrinsicTest::temp
+ IL_34f2: ldsfld int64 IntrinsicTest::idmp
+ IL_34f7: beq.s IL_351a
+
+ IL_34f9: ldstr "temp mismatch {0} {1}"
+ IL_34fe: ldsfld int64 IntrinsicTest::temp
+ IL_3503: box [mscorlib]System.Int64
+ IL_3508: ldsfld int64 IntrinsicTest::idmp
+ IL_350d: box [mscorlib]System.Int64
+ IL_3512: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3517: ldc.i4.1
+ IL_3518: stloc.s V_20
+ IL_351a: ldsflda int64 IntrinsicTest::counter64
+ IL_351f: ldsfld int64 IntrinsicTest::counter64
+ IL_3524: ldloc.s V_21
+ IL_3526: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_352b: conv.i8
+ IL_352c: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_3531: stloc.s V_4
+ IL_3533: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3538: stloc.s V_14
+ IL_353a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_353f: ldloc.s V_21
+ IL_3541: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3546: conv.i8
+ IL_3547: bne.un.s IL_3555
+
+ IL_3549: ldsfld int64 IntrinsicTest::id_counter64
+ IL_354e: stsfld int64 IntrinsicTest::id_counter64
+ IL_3553: br.s IL_355f
+
+ IL_3555: ldsfld int64 IntrinsicTest::id_counter64
+ IL_355a: stsfld int64 IntrinsicTest::idjunk
+ IL_355f: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 0"
+ IL_3564: call void [System.Console]System.Console::WriteLine(string)
+ IL_3569: ldloc.0
+ IL_356a: ldloc.s V_10
+ IL_356c: beq.s IL_3588
+
+ IL_356e: ldc.i4.1
+ IL_356f: stloc.s V_20
+ IL_3571: ldstr "te0 check failed {0} {1}"
+ IL_3576: ldloc.0
+ IL_3577: box [mscorlib]System.Int32
+ IL_357c: ldloc.s V_10
+ IL_357e: box [mscorlib]System.Int32
+ IL_3583: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3588: ldloc.1
+ IL_3589: ldloc.s V_11
+ IL_358b: beq.s IL_35a7
+
+ IL_358d: ldc.i4.1
+ IL_358e: stloc.s V_20
+ IL_3590: ldstr "te1 check failed {0} {1}"
+ IL_3595: ldloc.1
+ IL_3596: box [mscorlib]System.Int32
+ IL_359b: ldloc.s V_11
+ IL_359d: box [mscorlib]System.Int32
+ IL_35a2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35a7: ldloc.2
+ IL_35a8: ldloc.s V_12
+ IL_35aa: beq.s IL_35c6
+
+ IL_35ac: ldc.i4.1
+ IL_35ad: stloc.s V_20
+ IL_35af: ldstr "te2 check failed {0} {1}"
+ IL_35b4: ldloc.2
+ IL_35b5: box [mscorlib]System.Int32
+ IL_35ba: ldloc.s V_12
+ IL_35bc: box [mscorlib]System.Int32
+ IL_35c1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35c6: ldloc.3
+ IL_35c7: ldloc.s V_13
+ IL_35c9: beq.s IL_35e5
+
+ IL_35cb: ldc.i4.1
+ IL_35cc: stloc.s V_20
+ IL_35ce: ldstr "te3 check failed {0} {1}"
+ IL_35d3: ldloc.3
+ IL_35d4: box [mscorlib]System.Int32
+ IL_35d9: ldloc.s V_13
+ IL_35db: box [mscorlib]System.Int32
+ IL_35e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35e5: ldloc.s V_4
+ IL_35e7: ldloc.s V_14
+ IL_35e9: beq.s IL_3606
+
+ IL_35eb: ldc.i4.1
+ IL_35ec: stloc.s V_20
+ IL_35ee: ldstr "te064 check failed {0} {1}"
+ IL_35f3: ldloc.s V_4
+ IL_35f5: box [mscorlib]System.Int64
+ IL_35fa: ldloc.s V_14
+ IL_35fc: box [mscorlib]System.Int64
+ IL_3601: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3606: ldloc.s V_5
+ IL_3608: ldloc.s V_15
+ IL_360a: beq.s IL_3627
+
+ IL_360c: ldc.i4.1
+ IL_360d: stloc.s V_20
+ IL_360f: ldstr "te164 check failed {0} {1}"
+ IL_3614: ldloc.s V_5
+ IL_3616: box [mscorlib]System.Int64
+ IL_361b: ldloc.s V_15
+ IL_361d: box [mscorlib]System.Int64
+ IL_3622: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3627: ldloc.s V_6
+ IL_3629: ldloc.s V_16
+ IL_362b: beq.s IL_3648
+
+ IL_362d: ldc.i4.1
+ IL_362e: stloc.s V_20
+ IL_3630: ldstr "te264 check failed {0} {1}"
+ IL_3635: ldloc.s V_6
+ IL_3637: box [mscorlib]System.Int64
+ IL_363c: ldloc.s V_16
+ IL_363e: box [mscorlib]System.Int64
+ IL_3643: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3648: ldloc.s V_7
+ IL_364a: ldloc.s V_17
+ IL_364c: beq.s IL_3669
+
+ IL_364e: ldc.i4.1
+ IL_364f: stloc.s V_20
+ IL_3651: ldstr "te364 check failed {0} {1}"
+ IL_3656: ldloc.s V_7
+ IL_3658: box [mscorlib]System.Int64
+ IL_365d: ldloc.s V_17
+ IL_365f: box [mscorlib]System.Int64
+ IL_3664: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3669: ldloc.s V_8
+ IL_366b: ldloc.s V_18
+ IL_366d: beq.s IL_368a
+
+ IL_366f: ldc.i4.1
+ IL_3670: stloc.s V_20
+ IL_3672: ldstr "dummy check failed {0} {1}"
+ IL_3677: ldloc.s V_8
+ IL_3679: box [mscorlib]System.Int32
+ IL_367e: ldloc.s V_18
+ IL_3680: box [mscorlib]System.Int32
+ IL_3685: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_368a: ldloc.s V_9
+ IL_368c: ldloc.s V_19
+ IL_368e: beq.s IL_36ab
+
+ IL_3690: ldc.i4.1
+ IL_3691: stloc.s V_20
+ IL_3693: ldstr "dummy64 check failed {0} {1}"
+ IL_3698: ldloc.s V_9
+ IL_369a: box [mscorlib]System.Int64
+ IL_369f: ldloc.s V_19
+ IL_36a1: box [mscorlib]System.Int64
+ IL_36a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_36ab: ldsfld int32 IntrinsicTest::counter
+ IL_36b0: ldsfld int32 IntrinsicTest::id_counter
+ IL_36b5: beq.s IL_36d8
+
+ IL_36b7: ldstr "counter mismatch {0} {1}"
+ IL_36bc: ldsfld int32 IntrinsicTest::counter
+ IL_36c1: box [mscorlib]System.Int32
+ IL_36c6: ldsfld int32 IntrinsicTest::id_counter
+ IL_36cb: box [mscorlib]System.Int32
+ IL_36d0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_36d5: ldc.i4.1
+ IL_36d6: stloc.s V_20
+ IL_36d8: ldsfld int64 IntrinsicTest::counter64
+ IL_36dd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_36e2: beq.s IL_3705
+
+ IL_36e4: ldstr "counter64 mismatch {0} {1}"
+ IL_36e9: ldsfld int64 IntrinsicTest::counter64
+ IL_36ee: box [mscorlib]System.Int64
+ IL_36f3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_36f8: box [mscorlib]System.Int64
+ IL_36fd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3702: ldc.i4.1
+ IL_3703: stloc.s V_20
+ IL_3705: ldloc.s V_21
+ IL_3707: ldfld int32 IntrinsicTest::instanceCounter
+ IL_370c: ldloc.s V_21
+ IL_370e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3713: beq.s IL_373a
+
+ IL_3715: ldstr "instanceCounter mismatch {0} {1}"
+ IL_371a: ldloc.s V_21
+ IL_371c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3721: box [mscorlib]System.Int32
+ IL_3726: ldloc.s V_21
+ IL_3728: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_372d: box [mscorlib]System.Int32
+ IL_3732: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3737: ldc.i4.1
+ IL_3738: stloc.s V_20
+ IL_373a: ldloc.s V_21
+ IL_373c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3741: ldloc.s V_21
+ IL_3743: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3748: beq.s IL_376f
+
+ IL_374a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_374f: ldloc.s V_21
+ IL_3751: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3756: box [mscorlib]System.Int64
+ IL_375b: ldloc.s V_21
+ IL_375d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3762: box [mscorlib]System.Int64
+ IL_3767: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_376c: ldc.i4.1
+ IL_376d: stloc.s V_20
+ IL_376f: ldsfld int64 IntrinsicTest::temp
+ IL_3774: ldsfld int64 IntrinsicTest::idmp
+ IL_3779: beq.s IL_379c
+
+ IL_377b: ldstr "temp mismatch {0} {1}"
+ IL_3780: ldsfld int64 IntrinsicTest::temp
+ IL_3785: box [mscorlib]System.Int64
+ IL_378a: ldsfld int64 IntrinsicTest::idmp
+ IL_378f: box [mscorlib]System.Int64
+ IL_3794: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3799: ldc.i4.1
+ IL_379a: stloc.s V_20
+ IL_379c: ldsflda int64 IntrinsicTest::counter64
+ IL_37a1: ldsfld int64 IntrinsicTest::counter64
+ IL_37a6: ldloc.s V_21
+ IL_37a8: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_37ad: conv.i8
+ IL_37ae: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_37b3: stsfld int64 IntrinsicTest::counter64
+ IL_37b8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_37bd: stsfld int64 IntrinsicTest::id_counter64
+ IL_37c2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_37c7: ldloc.s V_21
+ IL_37c9: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_37ce: conv.i8
+ IL_37cf: bne.un.s IL_37dd
+
+ IL_37d1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_37d6: stsfld int64 IntrinsicTest::idjunk
+ IL_37db: br.s IL_37e7
+
+ IL_37dd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_37e2: stsfld int64 IntrinsicTest::idjunk
+ IL_37e7: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 1"
+ IL_37ec: call void [System.Console]System.Console::WriteLine(string)
+ IL_37f1: ldloc.0
+ IL_37f2: ldloc.s V_10
+ IL_37f4: beq.s IL_3810
+
+ IL_37f6: ldc.i4.1
+ IL_37f7: stloc.s V_20
+ IL_37f9: ldstr "te0 check failed {0} {1}"
+ IL_37fe: ldloc.0
+ IL_37ff: box [mscorlib]System.Int32
+ IL_3804: ldloc.s V_10
+ IL_3806: box [mscorlib]System.Int32
+ IL_380b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3810: ldloc.1
+ IL_3811: ldloc.s V_11
+ IL_3813: beq.s IL_382f
+
+ IL_3815: ldc.i4.1
+ IL_3816: stloc.s V_20
+ IL_3818: ldstr "te1 check failed {0} {1}"
+ IL_381d: ldloc.1
+ IL_381e: box [mscorlib]System.Int32
+ IL_3823: ldloc.s V_11
+ IL_3825: box [mscorlib]System.Int32
+ IL_382a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_382f: ldloc.2
+ IL_3830: ldloc.s V_12
+ IL_3832: beq.s IL_384e
+
+ IL_3834: ldc.i4.1
+ IL_3835: stloc.s V_20
+ IL_3837: ldstr "te2 check failed {0} {1}"
+ IL_383c: ldloc.2
+ IL_383d: box [mscorlib]System.Int32
+ IL_3842: ldloc.s V_12
+ IL_3844: box [mscorlib]System.Int32
+ IL_3849: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_384e: ldloc.3
+ IL_384f: ldloc.s V_13
+ IL_3851: beq.s IL_386d
+
+ IL_3853: ldc.i4.1
+ IL_3854: stloc.s V_20
+ IL_3856: ldstr "te3 check failed {0} {1}"
+ IL_385b: ldloc.3
+ IL_385c: box [mscorlib]System.Int32
+ IL_3861: ldloc.s V_13
+ IL_3863: box [mscorlib]System.Int32
+ IL_3868: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_386d: ldloc.s V_4
+ IL_386f: ldloc.s V_14
+ IL_3871: beq.s IL_388e
+
+ IL_3873: ldc.i4.1
+ IL_3874: stloc.s V_20
+ IL_3876: ldstr "te064 check failed {0} {1}"
+ IL_387b: ldloc.s V_4
+ IL_387d: box [mscorlib]System.Int64
+ IL_3882: ldloc.s V_14
+ IL_3884: box [mscorlib]System.Int64
+ IL_3889: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_388e: ldloc.s V_5
+ IL_3890: ldloc.s V_15
+ IL_3892: beq.s IL_38af
+
+ IL_3894: ldc.i4.1
+ IL_3895: stloc.s V_20
+ IL_3897: ldstr "te164 check failed {0} {1}"
+ IL_389c: ldloc.s V_5
+ IL_389e: box [mscorlib]System.Int64
+ IL_38a3: ldloc.s V_15
+ IL_38a5: box [mscorlib]System.Int64
+ IL_38aa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38af: ldloc.s V_6
+ IL_38b1: ldloc.s V_16
+ IL_38b3: beq.s IL_38d0
+
+ IL_38b5: ldc.i4.1
+ IL_38b6: stloc.s V_20
+ IL_38b8: ldstr "te264 check failed {0} {1}"
+ IL_38bd: ldloc.s V_6
+ IL_38bf: box [mscorlib]System.Int64
+ IL_38c4: ldloc.s V_16
+ IL_38c6: box [mscorlib]System.Int64
+ IL_38cb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38d0: ldloc.s V_7
+ IL_38d2: ldloc.s V_17
+ IL_38d4: beq.s IL_38f1
+
+ IL_38d6: ldc.i4.1
+ IL_38d7: stloc.s V_20
+ IL_38d9: ldstr "te364 check failed {0} {1}"
+ IL_38de: ldloc.s V_7
+ IL_38e0: box [mscorlib]System.Int64
+ IL_38e5: ldloc.s V_17
+ IL_38e7: box [mscorlib]System.Int64
+ IL_38ec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38f1: ldloc.s V_8
+ IL_38f3: ldloc.s V_18
+ IL_38f5: beq.s IL_3912
+
+ IL_38f7: ldc.i4.1
+ IL_38f8: stloc.s V_20
+ IL_38fa: ldstr "dummy check failed {0} {1}"
+ IL_38ff: ldloc.s V_8
+ IL_3901: box [mscorlib]System.Int32
+ IL_3906: ldloc.s V_18
+ IL_3908: box [mscorlib]System.Int32
+ IL_390d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3912: ldloc.s V_9
+ IL_3914: ldloc.s V_19
+ IL_3916: beq.s IL_3933
+
+ IL_3918: ldc.i4.1
+ IL_3919: stloc.s V_20
+ IL_391b: ldstr "dummy64 check failed {0} {1}"
+ IL_3920: ldloc.s V_9
+ IL_3922: box [mscorlib]System.Int64
+ IL_3927: ldloc.s V_19
+ IL_3929: box [mscorlib]System.Int64
+ IL_392e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3933: ldsfld int32 IntrinsicTest::counter
+ IL_3938: ldsfld int32 IntrinsicTest::id_counter
+ IL_393d: beq.s IL_3960
+
+ IL_393f: ldstr "counter mismatch {0} {1}"
+ IL_3944: ldsfld int32 IntrinsicTest::counter
+ IL_3949: box [mscorlib]System.Int32
+ IL_394e: ldsfld int32 IntrinsicTest::id_counter
+ IL_3953: box [mscorlib]System.Int32
+ IL_3958: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_395d: ldc.i4.1
+ IL_395e: stloc.s V_20
+ IL_3960: ldsfld int64 IntrinsicTest::counter64
+ IL_3965: ldsfld int64 IntrinsicTest::id_counter64
+ IL_396a: beq.s IL_398d
+
+ IL_396c: ldstr "counter64 mismatch {0} {1}"
+ IL_3971: ldsfld int64 IntrinsicTest::counter64
+ IL_3976: box [mscorlib]System.Int64
+ IL_397b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3980: box [mscorlib]System.Int64
+ IL_3985: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_398a: ldc.i4.1
+ IL_398b: stloc.s V_20
+ IL_398d: ldloc.s V_21
+ IL_398f: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3994: ldloc.s V_21
+ IL_3996: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_399b: beq.s IL_39c2
+
+ IL_399d: ldstr "instanceCounter mismatch {0} {1}"
+ IL_39a2: ldloc.s V_21
+ IL_39a4: ldfld int32 IntrinsicTest::instanceCounter
+ IL_39a9: box [mscorlib]System.Int32
+ IL_39ae: ldloc.s V_21
+ IL_39b0: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_39b5: box [mscorlib]System.Int32
+ IL_39ba: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_39bf: ldc.i4.1
+ IL_39c0: stloc.s V_20
+ IL_39c2: ldloc.s V_21
+ IL_39c4: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_39c9: ldloc.s V_21
+ IL_39cb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_39d0: beq.s IL_39f7
+
+ IL_39d2: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_39d7: ldloc.s V_21
+ IL_39d9: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_39de: box [mscorlib]System.Int64
+ IL_39e3: ldloc.s V_21
+ IL_39e5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_39ea: box [mscorlib]System.Int64
+ IL_39ef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_39f4: ldc.i4.1
+ IL_39f5: stloc.s V_20
+ IL_39f7: ldsfld int64 IntrinsicTest::temp
+ IL_39fc: ldsfld int64 IntrinsicTest::idmp
+ IL_3a01: beq.s IL_3a24
+
+ IL_3a03: ldstr "temp mismatch {0} {1}"
+ IL_3a08: ldsfld int64 IntrinsicTest::temp
+ IL_3a0d: box [mscorlib]System.Int64
+ IL_3a12: ldsfld int64 IntrinsicTest::idmp
+ IL_3a17: box [mscorlib]System.Int64
+ IL_3a1c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3a21: ldc.i4.1
+ IL_3a22: stloc.s V_20
+ IL_3a24: ldloc.s V_21
+ IL_3a26: ldsflda int64 IntrinsicTest::counter64
+ IL_3a2b: ldsfld int64 IntrinsicTest::counter64
+ IL_3a30: ldloc.s V_21
+ IL_3a32: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3a37: conv.i8
+ IL_3a38: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_3a3d: stfld int64 IntrinsicTest::instanceCounter64
+ IL_3a42: ldloc.s V_21
+ IL_3a44: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3a49: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3a4e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3a53: ldloc.s V_21
+ IL_3a55: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3a5a: conv.i8
+ IL_3a5b: bne.un.s IL_3a69
+
+ IL_3a5d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3a62: stsfld int64 IntrinsicTest::id_counter64
+ IL_3a67: br.s IL_3a73
+
+ IL_3a69: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3a6e: stsfld int64 IntrinsicTest::idjunk
+ IL_3a73: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 2"
+ IL_3a78: call void [System.Console]System.Console::WriteLine(string)
+ IL_3a7d: ldloc.0
+ IL_3a7e: ldloc.s V_10
+ IL_3a80: beq.s IL_3a9c
+
+ IL_3a82: ldc.i4.1
+ IL_3a83: stloc.s V_20
+ IL_3a85: ldstr "te0 check failed {0} {1}"
+ IL_3a8a: ldloc.0
+ IL_3a8b: box [mscorlib]System.Int32
+ IL_3a90: ldloc.s V_10
+ IL_3a92: box [mscorlib]System.Int32
+ IL_3a97: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3a9c: ldloc.1
+ IL_3a9d: ldloc.s V_11
+ IL_3a9f: beq.s IL_3abb
+
+ IL_3aa1: ldc.i4.1
+ IL_3aa2: stloc.s V_20
+ IL_3aa4: ldstr "te1 check failed {0} {1}"
+ IL_3aa9: ldloc.1
+ IL_3aaa: box [mscorlib]System.Int32
+ IL_3aaf: ldloc.s V_11
+ IL_3ab1: box [mscorlib]System.Int32
+ IL_3ab6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3abb: ldloc.2
+ IL_3abc: ldloc.s V_12
+ IL_3abe: beq.s IL_3ada
+
+ IL_3ac0: ldc.i4.1
+ IL_3ac1: stloc.s V_20
+ IL_3ac3: ldstr "te2 check failed {0} {1}"
+ IL_3ac8: ldloc.2
+ IL_3ac9: box [mscorlib]System.Int32
+ IL_3ace: ldloc.s V_12
+ IL_3ad0: box [mscorlib]System.Int32
+ IL_3ad5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ada: ldloc.3
+ IL_3adb: ldloc.s V_13
+ IL_3add: beq.s IL_3af9
+
+ IL_3adf: ldc.i4.1
+ IL_3ae0: stloc.s V_20
+ IL_3ae2: ldstr "te3 check failed {0} {1}"
+ IL_3ae7: ldloc.3
+ IL_3ae8: box [mscorlib]System.Int32
+ IL_3aed: ldloc.s V_13
+ IL_3aef: box [mscorlib]System.Int32
+ IL_3af4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3af9: ldloc.s V_4
+ IL_3afb: ldloc.s V_14
+ IL_3afd: beq.s IL_3b1a
+
+ IL_3aff: ldc.i4.1
+ IL_3b00: stloc.s V_20
+ IL_3b02: ldstr "te064 check failed {0} {1}"
+ IL_3b07: ldloc.s V_4
+ IL_3b09: box [mscorlib]System.Int64
+ IL_3b0e: ldloc.s V_14
+ IL_3b10: box [mscorlib]System.Int64
+ IL_3b15: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b1a: ldloc.s V_5
+ IL_3b1c: ldloc.s V_15
+ IL_3b1e: beq.s IL_3b3b
+
+ IL_3b20: ldc.i4.1
+ IL_3b21: stloc.s V_20
+ IL_3b23: ldstr "te164 check failed {0} {1}"
+ IL_3b28: ldloc.s V_5
+ IL_3b2a: box [mscorlib]System.Int64
+ IL_3b2f: ldloc.s V_15
+ IL_3b31: box [mscorlib]System.Int64
+ IL_3b36: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b3b: ldloc.s V_6
+ IL_3b3d: ldloc.s V_16
+ IL_3b3f: beq.s IL_3b5c
+
+ IL_3b41: ldc.i4.1
+ IL_3b42: stloc.s V_20
+ IL_3b44: ldstr "te264 check failed {0} {1}"
+ IL_3b49: ldloc.s V_6
+ IL_3b4b: box [mscorlib]System.Int64
+ IL_3b50: ldloc.s V_16
+ IL_3b52: box [mscorlib]System.Int64
+ IL_3b57: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b5c: ldloc.s V_7
+ IL_3b5e: ldloc.s V_17
+ IL_3b60: beq.s IL_3b7d
+
+ IL_3b62: ldc.i4.1
+ IL_3b63: stloc.s V_20
+ IL_3b65: ldstr "te364 check failed {0} {1}"
+ IL_3b6a: ldloc.s V_7
+ IL_3b6c: box [mscorlib]System.Int64
+ IL_3b71: ldloc.s V_17
+ IL_3b73: box [mscorlib]System.Int64
+ IL_3b78: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b7d: ldloc.s V_8
+ IL_3b7f: ldloc.s V_18
+ IL_3b81: beq.s IL_3b9e
+
+ IL_3b83: ldc.i4.1
+ IL_3b84: stloc.s V_20
+ IL_3b86: ldstr "dummy check failed {0} {1}"
+ IL_3b8b: ldloc.s V_8
+ IL_3b8d: box [mscorlib]System.Int32
+ IL_3b92: ldloc.s V_18
+ IL_3b94: box [mscorlib]System.Int32
+ IL_3b99: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b9e: ldloc.s V_9
+ IL_3ba0: ldloc.s V_19
+ IL_3ba2: beq.s IL_3bbf
+
+ IL_3ba4: ldc.i4.1
+ IL_3ba5: stloc.s V_20
+ IL_3ba7: ldstr "dummy64 check failed {0} {1}"
+ IL_3bac: ldloc.s V_9
+ IL_3bae: box [mscorlib]System.Int64
+ IL_3bb3: ldloc.s V_19
+ IL_3bb5: box [mscorlib]System.Int64
+ IL_3bba: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3bbf: ldsfld int32 IntrinsicTest::counter
+ IL_3bc4: ldsfld int32 IntrinsicTest::id_counter
+ IL_3bc9: beq.s IL_3bec
+
+ IL_3bcb: ldstr "counter mismatch {0} {1}"
+ IL_3bd0: ldsfld int32 IntrinsicTest::counter
+ IL_3bd5: box [mscorlib]System.Int32
+ IL_3bda: ldsfld int32 IntrinsicTest::id_counter
+ IL_3bdf: box [mscorlib]System.Int32
+ IL_3be4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3be9: ldc.i4.1
+ IL_3bea: stloc.s V_20
+ IL_3bec: ldsfld int64 IntrinsicTest::counter64
+ IL_3bf1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3bf6: beq.s IL_3c19
+
+ IL_3bf8: ldstr "counter64 mismatch {0} {1}"
+ IL_3bfd: ldsfld int64 IntrinsicTest::counter64
+ IL_3c02: box [mscorlib]System.Int64
+ IL_3c07: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3c0c: box [mscorlib]System.Int64
+ IL_3c11: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c16: ldc.i4.1
+ IL_3c17: stloc.s V_20
+ IL_3c19: ldloc.s V_21
+ IL_3c1b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3c20: ldloc.s V_21
+ IL_3c22: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3c27: beq.s IL_3c4e
+
+ IL_3c29: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3c2e: ldloc.s V_21
+ IL_3c30: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3c35: box [mscorlib]System.Int32
+ IL_3c3a: ldloc.s V_21
+ IL_3c3c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3c41: box [mscorlib]System.Int32
+ IL_3c46: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c4b: ldc.i4.1
+ IL_3c4c: stloc.s V_20
+ IL_3c4e: ldloc.s V_21
+ IL_3c50: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3c55: ldloc.s V_21
+ IL_3c57: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3c5c: beq.s IL_3c83
+
+ IL_3c5e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3c63: ldloc.s V_21
+ IL_3c65: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3c6a: box [mscorlib]System.Int64
+ IL_3c6f: ldloc.s V_21
+ IL_3c71: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3c76: box [mscorlib]System.Int64
+ IL_3c7b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c80: ldc.i4.1
+ IL_3c81: stloc.s V_20
+ IL_3c83: ldsfld int64 IntrinsicTest::temp
+ IL_3c88: ldsfld int64 IntrinsicTest::idmp
+ IL_3c8d: beq.s IL_3cb0
+
+ IL_3c8f: ldstr "temp mismatch {0} {1}"
+ IL_3c94: ldsfld int64 IntrinsicTest::temp
+ IL_3c99: box [mscorlib]System.Int64
+ IL_3c9e: ldsfld int64 IntrinsicTest::idmp
+ IL_3ca3: box [mscorlib]System.Int64
+ IL_3ca8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3cad: ldc.i4.1
+ IL_3cae: stloc.s V_20
+ IL_3cb0: ldsflda int64 IntrinsicTest::counter64
+ IL_3cb5: ldsfld int64 IntrinsicTest::counter64
+ IL_3cba: ldloc.s V_21
+ IL_3cbc: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3cc1: conv.i8
+ IL_3cc2: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_3cc7: stloc.s V_4
+ IL_3cc9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3cce: stloc.s V_14
+ IL_3cd0: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3cd5: ldloc.s V_21
+ IL_3cd7: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3cdc: conv.i8
+ IL_3cdd: bne.un.s IL_3ceb
+
+ IL_3cdf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3ce4: stsfld int64 IntrinsicTest::id_counter64
+ IL_3ce9: br.s IL_3cf5
+
+ IL_3ceb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3cf0: stsfld int64 IntrinsicTest::idjunk
+ IL_3cf5: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 3"
+ IL_3cfa: call void [System.Console]System.Console::WriteLine(string)
+ IL_3cff: ldloc.0
+ IL_3d00: ldloc.s V_10
+ IL_3d02: beq.s IL_3d1e
+
+ IL_3d04: ldc.i4.1
+ IL_3d05: stloc.s V_20
+ IL_3d07: ldstr "te0 check failed {0} {1}"
+ IL_3d0c: ldloc.0
+ IL_3d0d: box [mscorlib]System.Int32
+ IL_3d12: ldloc.s V_10
+ IL_3d14: box [mscorlib]System.Int32
+ IL_3d19: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d1e: ldloc.1
+ IL_3d1f: ldloc.s V_11
+ IL_3d21: beq.s IL_3d3d
+
+ IL_3d23: ldc.i4.1
+ IL_3d24: stloc.s V_20
+ IL_3d26: ldstr "te1 check failed {0} {1}"
+ IL_3d2b: ldloc.1
+ IL_3d2c: box [mscorlib]System.Int32
+ IL_3d31: ldloc.s V_11
+ IL_3d33: box [mscorlib]System.Int32
+ IL_3d38: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d3d: ldloc.2
+ IL_3d3e: ldloc.s V_12
+ IL_3d40: beq.s IL_3d5c
+
+ IL_3d42: ldc.i4.1
+ IL_3d43: stloc.s V_20
+ IL_3d45: ldstr "te2 check failed {0} {1}"
+ IL_3d4a: ldloc.2
+ IL_3d4b: box [mscorlib]System.Int32
+ IL_3d50: ldloc.s V_12
+ IL_3d52: box [mscorlib]System.Int32
+ IL_3d57: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d5c: ldloc.3
+ IL_3d5d: ldloc.s V_13
+ IL_3d5f: beq.s IL_3d7b
+
+ IL_3d61: ldc.i4.1
+ IL_3d62: stloc.s V_20
+ IL_3d64: ldstr "te3 check failed {0} {1}"
+ IL_3d69: ldloc.3
+ IL_3d6a: box [mscorlib]System.Int32
+ IL_3d6f: ldloc.s V_13
+ IL_3d71: box [mscorlib]System.Int32
+ IL_3d76: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d7b: ldloc.s V_4
+ IL_3d7d: ldloc.s V_14
+ IL_3d7f: beq.s IL_3d9c
+
+ IL_3d81: ldc.i4.1
+ IL_3d82: stloc.s V_20
+ IL_3d84: ldstr "te064 check failed {0} {1}"
+ IL_3d89: ldloc.s V_4
+ IL_3d8b: box [mscorlib]System.Int64
+ IL_3d90: ldloc.s V_14
+ IL_3d92: box [mscorlib]System.Int64
+ IL_3d97: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d9c: ldloc.s V_5
+ IL_3d9e: ldloc.s V_15
+ IL_3da0: beq.s IL_3dbd
+
+ IL_3da2: ldc.i4.1
+ IL_3da3: stloc.s V_20
+ IL_3da5: ldstr "te164 check failed {0} {1}"
+ IL_3daa: ldloc.s V_5
+ IL_3dac: box [mscorlib]System.Int64
+ IL_3db1: ldloc.s V_15
+ IL_3db3: box [mscorlib]System.Int64
+ IL_3db8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3dbd: ldloc.s V_6
+ IL_3dbf: ldloc.s V_16
+ IL_3dc1: beq.s IL_3dde
+
+ IL_3dc3: ldc.i4.1
+ IL_3dc4: stloc.s V_20
+ IL_3dc6: ldstr "te264 check failed {0} {1}"
+ IL_3dcb: ldloc.s V_6
+ IL_3dcd: box [mscorlib]System.Int64
+ IL_3dd2: ldloc.s V_16
+ IL_3dd4: box [mscorlib]System.Int64
+ IL_3dd9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3dde: ldloc.s V_7
+ IL_3de0: ldloc.s V_17
+ IL_3de2: beq.s IL_3dff
+
+ IL_3de4: ldc.i4.1
+ IL_3de5: stloc.s V_20
+ IL_3de7: ldstr "te364 check failed {0} {1}"
+ IL_3dec: ldloc.s V_7
+ IL_3dee: box [mscorlib]System.Int64
+ IL_3df3: ldloc.s V_17
+ IL_3df5: box [mscorlib]System.Int64
+ IL_3dfa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3dff: ldloc.s V_8
+ IL_3e01: ldloc.s V_18
+ IL_3e03: beq.s IL_3e20
+
+ IL_3e05: ldc.i4.1
+ IL_3e06: stloc.s V_20
+ IL_3e08: ldstr "dummy check failed {0} {1}"
+ IL_3e0d: ldloc.s V_8
+ IL_3e0f: box [mscorlib]System.Int32
+ IL_3e14: ldloc.s V_18
+ IL_3e16: box [mscorlib]System.Int32
+ IL_3e1b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e20: ldloc.s V_9
+ IL_3e22: ldloc.s V_19
+ IL_3e24: beq.s IL_3e41
+
+ IL_3e26: ldc.i4.1
+ IL_3e27: stloc.s V_20
+ IL_3e29: ldstr "dummy64 check failed {0} {1}"
+ IL_3e2e: ldloc.s V_9
+ IL_3e30: box [mscorlib]System.Int64
+ IL_3e35: ldloc.s V_19
+ IL_3e37: box [mscorlib]System.Int64
+ IL_3e3c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e41: ldsfld int32 IntrinsicTest::counter
+ IL_3e46: ldsfld int32 IntrinsicTest::id_counter
+ IL_3e4b: beq.s IL_3e6e
+
+ IL_3e4d: ldstr "counter mismatch {0} {1}"
+ IL_3e52: ldsfld int32 IntrinsicTest::counter
+ IL_3e57: box [mscorlib]System.Int32
+ IL_3e5c: ldsfld int32 IntrinsicTest::id_counter
+ IL_3e61: box [mscorlib]System.Int32
+ IL_3e66: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e6b: ldc.i4.1
+ IL_3e6c: stloc.s V_20
+ IL_3e6e: ldsfld int64 IntrinsicTest::counter64
+ IL_3e73: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3e78: beq.s IL_3e9b
+
+ IL_3e7a: ldstr "counter64 mismatch {0} {1}"
+ IL_3e7f: ldsfld int64 IntrinsicTest::counter64
+ IL_3e84: box [mscorlib]System.Int64
+ IL_3e89: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3e8e: box [mscorlib]System.Int64
+ IL_3e93: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e98: ldc.i4.1
+ IL_3e99: stloc.s V_20
+ IL_3e9b: ldloc.s V_21
+ IL_3e9d: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3ea2: ldloc.s V_21
+ IL_3ea4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3ea9: beq.s IL_3ed0
+
+ IL_3eab: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3eb0: ldloc.s V_21
+ IL_3eb2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3eb7: box [mscorlib]System.Int32
+ IL_3ebc: ldloc.s V_21
+ IL_3ebe: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3ec3: box [mscorlib]System.Int32
+ IL_3ec8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ecd: ldc.i4.1
+ IL_3ece: stloc.s V_20
+ IL_3ed0: ldloc.s V_21
+ IL_3ed2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3ed7: ldloc.s V_21
+ IL_3ed9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3ede: beq.s IL_3f05
+
+ IL_3ee0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3ee5: ldloc.s V_21
+ IL_3ee7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3eec: box [mscorlib]System.Int64
+ IL_3ef1: ldloc.s V_21
+ IL_3ef3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3ef8: box [mscorlib]System.Int64
+ IL_3efd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3f02: ldc.i4.1
+ IL_3f03: stloc.s V_20
+ IL_3f05: ldsfld int64 IntrinsicTest::temp
+ IL_3f0a: ldsfld int64 IntrinsicTest::idmp
+ IL_3f0f: beq.s IL_3f32
+
+ IL_3f11: ldstr "temp mismatch {0} {1}"
+ IL_3f16: ldsfld int64 IntrinsicTest::temp
+ IL_3f1b: box [mscorlib]System.Int64
+ IL_3f20: ldsfld int64 IntrinsicTest::idmp
+ IL_3f25: box [mscorlib]System.Int64
+ IL_3f2a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3f2f: ldc.i4.1
+ IL_3f30: stloc.s V_20
+ IL_3f32: ldsflda int64 IntrinsicTest::counter64
+ IL_3f37: ldsfld int64 IntrinsicTest::counter64
+ IL_3f3c: ldloc.s V_21
+ IL_3f3e: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3f43: conv.i8
+ IL_3f44: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_3f49: stsfld int64 IntrinsicTest::counter64
+ IL_3f4e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3f53: stsfld int64 IntrinsicTest::id_counter64
+ IL_3f58: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3f5d: ldloc.s V_21
+ IL_3f5f: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3f64: conv.i8
+ IL_3f65: bne.un.s IL_3f73
+
+ IL_3f67: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3f6c: stsfld int64 IntrinsicTest::idjunk
+ IL_3f71: br.s IL_3f7d
+
+ IL_3f73: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3f78: stsfld int64 IntrinsicTest::idjunk
+ IL_3f7d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 4"
+ IL_3f82: call void [System.Console]System.Console::WriteLine(string)
+ IL_3f87: ldloc.0
+ IL_3f88: ldloc.s V_10
+ IL_3f8a: beq.s IL_3fa6
+
+ IL_3f8c: ldc.i4.1
+ IL_3f8d: stloc.s V_20
+ IL_3f8f: ldstr "te0 check failed {0} {1}"
+ IL_3f94: ldloc.0
+ IL_3f95: box [mscorlib]System.Int32
+ IL_3f9a: ldloc.s V_10
+ IL_3f9c: box [mscorlib]System.Int32
+ IL_3fa1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fa6: ldloc.1
+ IL_3fa7: ldloc.s V_11
+ IL_3fa9: beq.s IL_3fc5
+
+ IL_3fab: ldc.i4.1
+ IL_3fac: stloc.s V_20
+ IL_3fae: ldstr "te1 check failed {0} {1}"
+ IL_3fb3: ldloc.1
+ IL_3fb4: box [mscorlib]System.Int32
+ IL_3fb9: ldloc.s V_11
+ IL_3fbb: box [mscorlib]System.Int32
+ IL_3fc0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fc5: ldloc.2
+ IL_3fc6: ldloc.s V_12
+ IL_3fc8: beq.s IL_3fe4
+
+ IL_3fca: ldc.i4.1
+ IL_3fcb: stloc.s V_20
+ IL_3fcd: ldstr "te2 check failed {0} {1}"
+ IL_3fd2: ldloc.2
+ IL_3fd3: box [mscorlib]System.Int32
+ IL_3fd8: ldloc.s V_12
+ IL_3fda: box [mscorlib]System.Int32
+ IL_3fdf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fe4: ldloc.3
+ IL_3fe5: ldloc.s V_13
+ IL_3fe7: beq.s IL_4003
+
+ IL_3fe9: ldc.i4.1
+ IL_3fea: stloc.s V_20
+ IL_3fec: ldstr "te3 check failed {0} {1}"
+ IL_3ff1: ldloc.3
+ IL_3ff2: box [mscorlib]System.Int32
+ IL_3ff7: ldloc.s V_13
+ IL_3ff9: box [mscorlib]System.Int32
+ IL_3ffe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4003: ldloc.s V_4
+ IL_4005: ldloc.s V_14
+ IL_4007: beq.s IL_4024
+
+ IL_4009: ldc.i4.1
+ IL_400a: stloc.s V_20
+ IL_400c: ldstr "te064 check failed {0} {1}"
+ IL_4011: ldloc.s V_4
+ IL_4013: box [mscorlib]System.Int64
+ IL_4018: ldloc.s V_14
+ IL_401a: box [mscorlib]System.Int64
+ IL_401f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4024: ldloc.s V_5
+ IL_4026: ldloc.s V_15
+ IL_4028: beq.s IL_4045
+
+ IL_402a: ldc.i4.1
+ IL_402b: stloc.s V_20
+ IL_402d: ldstr "te164 check failed {0} {1}"
+ IL_4032: ldloc.s V_5
+ IL_4034: box [mscorlib]System.Int64
+ IL_4039: ldloc.s V_15
+ IL_403b: box [mscorlib]System.Int64
+ IL_4040: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4045: ldloc.s V_6
+ IL_4047: ldloc.s V_16
+ IL_4049: beq.s IL_4066
+
+ IL_404b: ldc.i4.1
+ IL_404c: stloc.s V_20
+ IL_404e: ldstr "te264 check failed {0} {1}"
+ IL_4053: ldloc.s V_6
+ IL_4055: box [mscorlib]System.Int64
+ IL_405a: ldloc.s V_16
+ IL_405c: box [mscorlib]System.Int64
+ IL_4061: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4066: ldloc.s V_7
+ IL_4068: ldloc.s V_17
+ IL_406a: beq.s IL_4087
+
+ IL_406c: ldc.i4.1
+ IL_406d: stloc.s V_20
+ IL_406f: ldstr "te364 check failed {0} {1}"
+ IL_4074: ldloc.s V_7
+ IL_4076: box [mscorlib]System.Int64
+ IL_407b: ldloc.s V_17
+ IL_407d: box [mscorlib]System.Int64
+ IL_4082: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4087: ldloc.s V_8
+ IL_4089: ldloc.s V_18
+ IL_408b: beq.s IL_40a8
+
+ IL_408d: ldc.i4.1
+ IL_408e: stloc.s V_20
+ IL_4090: ldstr "dummy check failed {0} {1}"
+ IL_4095: ldloc.s V_8
+ IL_4097: box [mscorlib]System.Int32
+ IL_409c: ldloc.s V_18
+ IL_409e: box [mscorlib]System.Int32
+ IL_40a3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40a8: ldloc.s V_9
+ IL_40aa: ldloc.s V_19
+ IL_40ac: beq.s IL_40c9
+
+ IL_40ae: ldc.i4.1
+ IL_40af: stloc.s V_20
+ IL_40b1: ldstr "dummy64 check failed {0} {1}"
+ IL_40b6: ldloc.s V_9
+ IL_40b8: box [mscorlib]System.Int64
+ IL_40bd: ldloc.s V_19
+ IL_40bf: box [mscorlib]System.Int64
+ IL_40c4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40c9: ldsfld int32 IntrinsicTest::counter
+ IL_40ce: ldsfld int32 IntrinsicTest::id_counter
+ IL_40d3: beq.s IL_40f6
+
+ IL_40d5: ldstr "counter mismatch {0} {1}"
+ IL_40da: ldsfld int32 IntrinsicTest::counter
+ IL_40df: box [mscorlib]System.Int32
+ IL_40e4: ldsfld int32 IntrinsicTest::id_counter
+ IL_40e9: box [mscorlib]System.Int32
+ IL_40ee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40f3: ldc.i4.1
+ IL_40f4: stloc.s V_20
+ IL_40f6: ldsfld int64 IntrinsicTest::counter64
+ IL_40fb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4100: beq.s IL_4123
+
+ IL_4102: ldstr "counter64 mismatch {0} {1}"
+ IL_4107: ldsfld int64 IntrinsicTest::counter64
+ IL_410c: box [mscorlib]System.Int64
+ IL_4111: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4116: box [mscorlib]System.Int64
+ IL_411b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4120: ldc.i4.1
+ IL_4121: stloc.s V_20
+ IL_4123: ldloc.s V_21
+ IL_4125: ldfld int32 IntrinsicTest::instanceCounter
+ IL_412a: ldloc.s V_21
+ IL_412c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4131: beq.s IL_4158
+
+ IL_4133: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4138: ldloc.s V_21
+ IL_413a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_413f: box [mscorlib]System.Int32
+ IL_4144: ldloc.s V_21
+ IL_4146: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_414b: box [mscorlib]System.Int32
+ IL_4150: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4155: ldc.i4.1
+ IL_4156: stloc.s V_20
+ IL_4158: ldloc.s V_21
+ IL_415a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_415f: ldloc.s V_21
+ IL_4161: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4166: beq.s IL_418d
+
+ IL_4168: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_416d: ldloc.s V_21
+ IL_416f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4174: box [mscorlib]System.Int64
+ IL_4179: ldloc.s V_21
+ IL_417b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4180: box [mscorlib]System.Int64
+ IL_4185: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_418a: ldc.i4.1
+ IL_418b: stloc.s V_20
+ IL_418d: ldsfld int64 IntrinsicTest::temp
+ IL_4192: ldsfld int64 IntrinsicTest::idmp
+ IL_4197: beq.s IL_41ba
+
+ IL_4199: ldstr "temp mismatch {0} {1}"
+ IL_419e: ldsfld int64 IntrinsicTest::temp
+ IL_41a3: box [mscorlib]System.Int64
+ IL_41a8: ldsfld int64 IntrinsicTest::idmp
+ IL_41ad: box [mscorlib]System.Int64
+ IL_41b2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_41b7: ldc.i4.1
+ IL_41b8: stloc.s V_20
+ IL_41ba: ldloc.s V_21
+ IL_41bc: ldsflda int64 IntrinsicTest::counter64
+ IL_41c1: ldsfld int64 IntrinsicTest::counter64
+ IL_41c6: ldloc.s V_21
+ IL_41c8: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_41cd: conv.i8
+ IL_41ce: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_41d3: stfld int64 IntrinsicTest::instanceCounter64
+ IL_41d8: ldloc.s V_21
+ IL_41da: ldsfld int64 IntrinsicTest::id_counter64
+ IL_41df: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_41e4: ldsfld int64 IntrinsicTest::id_counter64
+ IL_41e9: ldloc.s V_21
+ IL_41eb: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_41f0: conv.i8
+ IL_41f1: bne.un.s IL_41ff
+
+ IL_41f3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_41f8: stsfld int64 IntrinsicTest::id_counter64
+ IL_41fd: br.s IL_4209
+
+ IL_41ff: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4204: stsfld int64 IntrinsicTest::idjunk
+ IL_4209: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 5"
+ IL_420e: call void [System.Console]System.Console::WriteLine(string)
+ IL_4213: ldloc.0
+ IL_4214: ldloc.s V_10
+ IL_4216: beq.s IL_4232
+
+ IL_4218: ldc.i4.1
+ IL_4219: stloc.s V_20
+ IL_421b: ldstr "te0 check failed {0} {1}"
+ IL_4220: ldloc.0
+ IL_4221: box [mscorlib]System.Int32
+ IL_4226: ldloc.s V_10
+ IL_4228: box [mscorlib]System.Int32
+ IL_422d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4232: ldloc.1
+ IL_4233: ldloc.s V_11
+ IL_4235: beq.s IL_4251
+
+ IL_4237: ldc.i4.1
+ IL_4238: stloc.s V_20
+ IL_423a: ldstr "te1 check failed {0} {1}"
+ IL_423f: ldloc.1
+ IL_4240: box [mscorlib]System.Int32
+ IL_4245: ldloc.s V_11
+ IL_4247: box [mscorlib]System.Int32
+ IL_424c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4251: ldloc.2
+ IL_4252: ldloc.s V_12
+ IL_4254: beq.s IL_4270
+
+ IL_4256: ldc.i4.1
+ IL_4257: stloc.s V_20
+ IL_4259: ldstr "te2 check failed {0} {1}"
+ IL_425e: ldloc.2
+ IL_425f: box [mscorlib]System.Int32
+ IL_4264: ldloc.s V_12
+ IL_4266: box [mscorlib]System.Int32
+ IL_426b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4270: ldloc.3
+ IL_4271: ldloc.s V_13
+ IL_4273: beq.s IL_428f
+
+ IL_4275: ldc.i4.1
+ IL_4276: stloc.s V_20
+ IL_4278: ldstr "te3 check failed {0} {1}"
+ IL_427d: ldloc.3
+ IL_427e: box [mscorlib]System.Int32
+ IL_4283: ldloc.s V_13
+ IL_4285: box [mscorlib]System.Int32
+ IL_428a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_428f: ldloc.s V_4
+ IL_4291: ldloc.s V_14
+ IL_4293: beq.s IL_42b0
+
+ IL_4295: ldc.i4.1
+ IL_4296: stloc.s V_20
+ IL_4298: ldstr "te064 check failed {0} {1}"
+ IL_429d: ldloc.s V_4
+ IL_429f: box [mscorlib]System.Int64
+ IL_42a4: ldloc.s V_14
+ IL_42a6: box [mscorlib]System.Int64
+ IL_42ab: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42b0: ldloc.s V_5
+ IL_42b2: ldloc.s V_15
+ IL_42b4: beq.s IL_42d1
+
+ IL_42b6: ldc.i4.1
+ IL_42b7: stloc.s V_20
+ IL_42b9: ldstr "te164 check failed {0} {1}"
+ IL_42be: ldloc.s V_5
+ IL_42c0: box [mscorlib]System.Int64
+ IL_42c5: ldloc.s V_15
+ IL_42c7: box [mscorlib]System.Int64
+ IL_42cc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42d1: ldloc.s V_6
+ IL_42d3: ldloc.s V_16
+ IL_42d5: beq.s IL_42f2
+
+ IL_42d7: ldc.i4.1
+ IL_42d8: stloc.s V_20
+ IL_42da: ldstr "te264 check failed {0} {1}"
+ IL_42df: ldloc.s V_6
+ IL_42e1: box [mscorlib]System.Int64
+ IL_42e6: ldloc.s V_16
+ IL_42e8: box [mscorlib]System.Int64
+ IL_42ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42f2: ldloc.s V_7
+ IL_42f4: ldloc.s V_17
+ IL_42f6: beq.s IL_4313
+
+ IL_42f8: ldc.i4.1
+ IL_42f9: stloc.s V_20
+ IL_42fb: ldstr "te364 check failed {0} {1}"
+ IL_4300: ldloc.s V_7
+ IL_4302: box [mscorlib]System.Int64
+ IL_4307: ldloc.s V_17
+ IL_4309: box [mscorlib]System.Int64
+ IL_430e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4313: ldloc.s V_8
+ IL_4315: ldloc.s V_18
+ IL_4317: beq.s IL_4334
+
+ IL_4319: ldc.i4.1
+ IL_431a: stloc.s V_20
+ IL_431c: ldstr "dummy check failed {0} {1}"
+ IL_4321: ldloc.s V_8
+ IL_4323: box [mscorlib]System.Int32
+ IL_4328: ldloc.s V_18
+ IL_432a: box [mscorlib]System.Int32
+ IL_432f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4334: ldloc.s V_9
+ IL_4336: ldloc.s V_19
+ IL_4338: beq.s IL_4355
+
+ IL_433a: ldc.i4.1
+ IL_433b: stloc.s V_20
+ IL_433d: ldstr "dummy64 check failed {0} {1}"
+ IL_4342: ldloc.s V_9
+ IL_4344: box [mscorlib]System.Int64
+ IL_4349: ldloc.s V_19
+ IL_434b: box [mscorlib]System.Int64
+ IL_4350: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4355: ldsfld int32 IntrinsicTest::counter
+ IL_435a: ldsfld int32 IntrinsicTest::id_counter
+ IL_435f: beq.s IL_4382
+
+ IL_4361: ldstr "counter mismatch {0} {1}"
+ IL_4366: ldsfld int32 IntrinsicTest::counter
+ IL_436b: box [mscorlib]System.Int32
+ IL_4370: ldsfld int32 IntrinsicTest::id_counter
+ IL_4375: box [mscorlib]System.Int32
+ IL_437a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_437f: ldc.i4.1
+ IL_4380: stloc.s V_20
+ IL_4382: ldsfld int64 IntrinsicTest::counter64
+ IL_4387: ldsfld int64 IntrinsicTest::id_counter64
+ IL_438c: beq.s IL_43af
+
+ IL_438e: ldstr "counter64 mismatch {0} {1}"
+ IL_4393: ldsfld int64 IntrinsicTest::counter64
+ IL_4398: box [mscorlib]System.Int64
+ IL_439d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_43a2: box [mscorlib]System.Int64
+ IL_43a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_43ac: ldc.i4.1
+ IL_43ad: stloc.s V_20
+ IL_43af: ldloc.s V_21
+ IL_43b1: ldfld int32 IntrinsicTest::instanceCounter
+ IL_43b6: ldloc.s V_21
+ IL_43b8: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_43bd: beq.s IL_43e4
+
+ IL_43bf: ldstr "instanceCounter mismatch {0} {1}"
+ IL_43c4: ldloc.s V_21
+ IL_43c6: ldfld int32 IntrinsicTest::instanceCounter
+ IL_43cb: box [mscorlib]System.Int32
+ IL_43d0: ldloc.s V_21
+ IL_43d2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_43d7: box [mscorlib]System.Int32
+ IL_43dc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_43e1: ldc.i4.1
+ IL_43e2: stloc.s V_20
+ IL_43e4: ldloc.s V_21
+ IL_43e6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_43eb: ldloc.s V_21
+ IL_43ed: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_43f2: beq.s IL_4419
+
+ IL_43f4: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_43f9: ldloc.s V_21
+ IL_43fb: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4400: box [mscorlib]System.Int64
+ IL_4405: ldloc.s V_21
+ IL_4407: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_440c: box [mscorlib]System.Int64
+ IL_4411: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4416: ldc.i4.1
+ IL_4417: stloc.s V_20
+ IL_4419: ldsfld int64 IntrinsicTest::temp
+ IL_441e: ldsfld int64 IntrinsicTest::idmp
+ IL_4423: beq.s IL_4446
+
+ IL_4425: ldstr "temp mismatch {0} {1}"
+ IL_442a: ldsfld int64 IntrinsicTest::temp
+ IL_442f: box [mscorlib]System.Int64
+ IL_4434: ldsfld int64 IntrinsicTest::idmp
+ IL_4439: box [mscorlib]System.Int64
+ IL_443e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4443: ldc.i4.1
+ IL_4444: stloc.s V_20
+ IL_4446: ldsflda int64 IntrinsicTest::counter64
+ IL_444b: ldsfld int64 IntrinsicTest::counter64
+ IL_4450: ldloc.s V_21
+ IL_4452: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_4457: conv.i8
+ IL_4458: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_445d: stloc.s V_7
+ IL_445f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4464: stloc.s V_17
+ IL_4466: ldsfld int64 IntrinsicTest::id_counter64
+ IL_446b: ldloc.s V_21
+ IL_446d: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_4472: conv.i8
+ IL_4473: bne.un.s IL_4481
+
+ IL_4475: ldsfld int64 IntrinsicTest::id_counter64
+ IL_447a: stsfld int64 IntrinsicTest::id_counter64
+ IL_447f: br.s IL_448b
+
+ IL_4481: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4486: stsfld int64 IntrinsicTest::idjunk
+ IL_448b: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 3 6"
+ IL_4490: call void [System.Console]System.Console::WriteLine(string)
+ IL_4495: ldloc.0
+ IL_4496: ldloc.s V_10
+ IL_4498: beq.s IL_44b4
+
+ IL_449a: ldc.i4.1
+ IL_449b: stloc.s V_20
+ IL_449d: ldstr "te0 check failed {0} {1}"
+ IL_44a2: ldloc.0
+ IL_44a3: box [mscorlib]System.Int32
+ IL_44a8: ldloc.s V_10
+ IL_44aa: box [mscorlib]System.Int32
+ IL_44af: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44b4: ldloc.1
+ IL_44b5: ldloc.s V_11
+ IL_44b7: beq.s IL_44d3
+
+ IL_44b9: ldc.i4.1
+ IL_44ba: stloc.s V_20
+ IL_44bc: ldstr "te1 check failed {0} {1}"
+ IL_44c1: ldloc.1
+ IL_44c2: box [mscorlib]System.Int32
+ IL_44c7: ldloc.s V_11
+ IL_44c9: box [mscorlib]System.Int32
+ IL_44ce: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44d3: ldloc.2
+ IL_44d4: ldloc.s V_12
+ IL_44d6: beq.s IL_44f2
+
+ IL_44d8: ldc.i4.1
+ IL_44d9: stloc.s V_20
+ IL_44db: ldstr "te2 check failed {0} {1}"
+ IL_44e0: ldloc.2
+ IL_44e1: box [mscorlib]System.Int32
+ IL_44e6: ldloc.s V_12
+ IL_44e8: box [mscorlib]System.Int32
+ IL_44ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44f2: ldloc.3
+ IL_44f3: ldloc.s V_13
+ IL_44f5: beq.s IL_4511
+
+ IL_44f7: ldc.i4.1
+ IL_44f8: stloc.s V_20
+ IL_44fa: ldstr "te3 check failed {0} {1}"
+ IL_44ff: ldloc.3
+ IL_4500: box [mscorlib]System.Int32
+ IL_4505: ldloc.s V_13
+ IL_4507: box [mscorlib]System.Int32
+ IL_450c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4511: ldloc.s V_4
+ IL_4513: ldloc.s V_14
+ IL_4515: beq.s IL_4532
+
+ IL_4517: ldc.i4.1
+ IL_4518: stloc.s V_20
+ IL_451a: ldstr "te064 check failed {0} {1}"
+ IL_451f: ldloc.s V_4
+ IL_4521: box [mscorlib]System.Int64
+ IL_4526: ldloc.s V_14
+ IL_4528: box [mscorlib]System.Int64
+ IL_452d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4532: ldloc.s V_5
+ IL_4534: ldloc.s V_15
+ IL_4536: beq.s IL_4553
+
+ IL_4538: ldc.i4.1
+ IL_4539: stloc.s V_20
+ IL_453b: ldstr "te164 check failed {0} {1}"
+ IL_4540: ldloc.s V_5
+ IL_4542: box [mscorlib]System.Int64
+ IL_4547: ldloc.s V_15
+ IL_4549: box [mscorlib]System.Int64
+ IL_454e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4553: ldloc.s V_6
+ IL_4555: ldloc.s V_16
+ IL_4557: beq.s IL_4574
+
+ IL_4559: ldc.i4.1
+ IL_455a: stloc.s V_20
+ IL_455c: ldstr "te264 check failed {0} {1}"
+ IL_4561: ldloc.s V_6
+ IL_4563: box [mscorlib]System.Int64
+ IL_4568: ldloc.s V_16
+ IL_456a: box [mscorlib]System.Int64
+ IL_456f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4574: ldloc.s V_7
+ IL_4576: ldloc.s V_17
+ IL_4578: beq.s IL_4595
+
+ IL_457a: ldc.i4.1
+ IL_457b: stloc.s V_20
+ IL_457d: ldstr "te364 check failed {0} {1}"
+ IL_4582: ldloc.s V_7
+ IL_4584: box [mscorlib]System.Int64
+ IL_4589: ldloc.s V_17
+ IL_458b: box [mscorlib]System.Int64
+ IL_4590: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4595: ldloc.s V_8
+ IL_4597: ldloc.s V_18
+ IL_4599: beq.s IL_45b6
+
+ IL_459b: ldc.i4.1
+ IL_459c: stloc.s V_20
+ IL_459e: ldstr "dummy check failed {0} {1}"
+ IL_45a3: ldloc.s V_8
+ IL_45a5: box [mscorlib]System.Int32
+ IL_45aa: ldloc.s V_18
+ IL_45ac: box [mscorlib]System.Int32
+ IL_45b1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_45b6: ldloc.s V_9
+ IL_45b8: ldloc.s V_19
+ IL_45ba: beq.s IL_45d7
+
+ IL_45bc: ldc.i4.1
+ IL_45bd: stloc.s V_20
+ IL_45bf: ldstr "dummy64 check failed {0} {1}"
+ IL_45c4: ldloc.s V_9
+ IL_45c6: box [mscorlib]System.Int64
+ IL_45cb: ldloc.s V_19
+ IL_45cd: box [mscorlib]System.Int64
+ IL_45d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_45d7: ldsfld int32 IntrinsicTest::counter
+ IL_45dc: ldsfld int32 IntrinsicTest::id_counter
+ IL_45e1: beq.s IL_4604
+
+ IL_45e3: ldstr "counter mismatch {0} {1}"
+ IL_45e8: ldsfld int32 IntrinsicTest::counter
+ IL_45ed: box [mscorlib]System.Int32
+ IL_45f2: ldsfld int32 IntrinsicTest::id_counter
+ IL_45f7: box [mscorlib]System.Int32
+ IL_45fc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4601: ldc.i4.1
+ IL_4602: stloc.s V_20
+ IL_4604: ldsfld int64 IntrinsicTest::counter64
+ IL_4609: ldsfld int64 IntrinsicTest::id_counter64
+ IL_460e: beq.s IL_4631
+
+ IL_4610: ldstr "counter64 mismatch {0} {1}"
+ IL_4615: ldsfld int64 IntrinsicTest::counter64
+ IL_461a: box [mscorlib]System.Int64
+ IL_461f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4624: box [mscorlib]System.Int64
+ IL_4629: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_462e: ldc.i4.1
+ IL_462f: stloc.s V_20
+ IL_4631: ldloc.s V_21
+ IL_4633: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4638: ldloc.s V_21
+ IL_463a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_463f: beq.s IL_4666
+
+ IL_4641: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4646: ldloc.s V_21
+ IL_4648: ldfld int32 IntrinsicTest::instanceCounter
+ IL_464d: box [mscorlib]System.Int32
+ IL_4652: ldloc.s V_21
+ IL_4654: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4659: box [mscorlib]System.Int32
+ IL_465e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4663: ldc.i4.1
+ IL_4664: stloc.s V_20
+ IL_4666: ldloc.s V_21
+ IL_4668: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_466d: ldloc.s V_21
+ IL_466f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4674: beq.s IL_469b
+
+ IL_4676: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_467b: ldloc.s V_21
+ IL_467d: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4682: box [mscorlib]System.Int64
+ IL_4687: ldloc.s V_21
+ IL_4689: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_468e: box [mscorlib]System.Int64
+ IL_4693: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4698: ldc.i4.1
+ IL_4699: stloc.s V_20
+ IL_469b: ldsfld int64 IntrinsicTest::temp
+ IL_46a0: ldsfld int64 IntrinsicTest::idmp
+ IL_46a5: beq.s IL_46c8
+
+ IL_46a7: ldstr "temp mismatch {0} {1}"
+ IL_46ac: ldsfld int64 IntrinsicTest::temp
+ IL_46b1: box [mscorlib]System.Int64
+ IL_46b6: ldsfld int64 IntrinsicTest::idmp
+ IL_46bb: box [mscorlib]System.Int64
+ IL_46c0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_46c5: ldc.i4.1
+ IL_46c6: stloc.s V_20
+ IL_46c8: ldsflda int64 IntrinsicTest::counter64
+ IL_46cd: ldsfld int64 IntrinsicTest::counter64
+ IL_46d2: ldc.i4 0x261a0
+ IL_46d7: conv.i8
+ IL_46d8: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_46dd: stloc.s V_4
+ IL_46df: ldsfld int64 IntrinsicTest::id_counter64
+ IL_46e4: stloc.s V_14
+ IL_46e6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_46eb: ldc.i4 0x261a0
+ IL_46f0: conv.i8
+ IL_46f1: bne.un.s IL_46ff
+
+ IL_46f3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_46f8: stsfld int64 IntrinsicTest::id_counter64
+ IL_46fd: br.s IL_4709
+
+ IL_46ff: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4704: stsfld int64 IntrinsicTest::idjunk
+ IL_4709: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 0"
+ IL_470e: call void [System.Console]System.Console::WriteLine(string)
+ IL_4713: ldloc.0
+ IL_4714: ldloc.s V_10
+ IL_4716: beq.s IL_4732
+
+ IL_4718: ldc.i4.1
+ IL_4719: stloc.s V_20
+ IL_471b: ldstr "te0 check failed {0} {1}"
+ IL_4720: ldloc.0
+ IL_4721: box [mscorlib]System.Int32
+ IL_4726: ldloc.s V_10
+ IL_4728: box [mscorlib]System.Int32
+ IL_472d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4732: ldloc.1
+ IL_4733: ldloc.s V_11
+ IL_4735: beq.s IL_4751
+
+ IL_4737: ldc.i4.1
+ IL_4738: stloc.s V_20
+ IL_473a: ldstr "te1 check failed {0} {1}"
+ IL_473f: ldloc.1
+ IL_4740: box [mscorlib]System.Int32
+ IL_4745: ldloc.s V_11
+ IL_4747: box [mscorlib]System.Int32
+ IL_474c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4751: ldloc.2
+ IL_4752: ldloc.s V_12
+ IL_4754: beq.s IL_4770
+
+ IL_4756: ldc.i4.1
+ IL_4757: stloc.s V_20
+ IL_4759: ldstr "te2 check failed {0} {1}"
+ IL_475e: ldloc.2
+ IL_475f: box [mscorlib]System.Int32
+ IL_4764: ldloc.s V_12
+ IL_4766: box [mscorlib]System.Int32
+ IL_476b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4770: ldloc.3
+ IL_4771: ldloc.s V_13
+ IL_4773: beq.s IL_478f
+
+ IL_4775: ldc.i4.1
+ IL_4776: stloc.s V_20
+ IL_4778: ldstr "te3 check failed {0} {1}"
+ IL_477d: ldloc.3
+ IL_477e: box [mscorlib]System.Int32
+ IL_4783: ldloc.s V_13
+ IL_4785: box [mscorlib]System.Int32
+ IL_478a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_478f: ldloc.s V_4
+ IL_4791: ldloc.s V_14
+ IL_4793: beq.s IL_47b0
+
+ IL_4795: ldc.i4.1
+ IL_4796: stloc.s V_20
+ IL_4798: ldstr "te064 check failed {0} {1}"
+ IL_479d: ldloc.s V_4
+ IL_479f: box [mscorlib]System.Int64
+ IL_47a4: ldloc.s V_14
+ IL_47a6: box [mscorlib]System.Int64
+ IL_47ab: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47b0: ldloc.s V_5
+ IL_47b2: ldloc.s V_15
+ IL_47b4: beq.s IL_47d1
+
+ IL_47b6: ldc.i4.1
+ IL_47b7: stloc.s V_20
+ IL_47b9: ldstr "te164 check failed {0} {1}"
+ IL_47be: ldloc.s V_5
+ IL_47c0: box [mscorlib]System.Int64
+ IL_47c5: ldloc.s V_15
+ IL_47c7: box [mscorlib]System.Int64
+ IL_47cc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47d1: ldloc.s V_6
+ IL_47d3: ldloc.s V_16
+ IL_47d5: beq.s IL_47f2
+
+ IL_47d7: ldc.i4.1
+ IL_47d8: stloc.s V_20
+ IL_47da: ldstr "te264 check failed {0} {1}"
+ IL_47df: ldloc.s V_6
+ IL_47e1: box [mscorlib]System.Int64
+ IL_47e6: ldloc.s V_16
+ IL_47e8: box [mscorlib]System.Int64
+ IL_47ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47f2: ldloc.s V_7
+ IL_47f4: ldloc.s V_17
+ IL_47f6: beq.s IL_4813
+
+ IL_47f8: ldc.i4.1
+ IL_47f9: stloc.s V_20
+ IL_47fb: ldstr "te364 check failed {0} {1}"
+ IL_4800: ldloc.s V_7
+ IL_4802: box [mscorlib]System.Int64
+ IL_4807: ldloc.s V_17
+ IL_4809: box [mscorlib]System.Int64
+ IL_480e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4813: ldloc.s V_8
+ IL_4815: ldloc.s V_18
+ IL_4817: beq.s IL_4834
+
+ IL_4819: ldc.i4.1
+ IL_481a: stloc.s V_20
+ IL_481c: ldstr "dummy check failed {0} {1}"
+ IL_4821: ldloc.s V_8
+ IL_4823: box [mscorlib]System.Int32
+ IL_4828: ldloc.s V_18
+ IL_482a: box [mscorlib]System.Int32
+ IL_482f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4834: ldloc.s V_9
+ IL_4836: ldloc.s V_19
+ IL_4838: beq.s IL_4855
+
+ IL_483a: ldc.i4.1
+ IL_483b: stloc.s V_20
+ IL_483d: ldstr "dummy64 check failed {0} {1}"
+ IL_4842: ldloc.s V_9
+ IL_4844: box [mscorlib]System.Int64
+ IL_4849: ldloc.s V_19
+ IL_484b: box [mscorlib]System.Int64
+ IL_4850: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4855: ldsfld int32 IntrinsicTest::counter
+ IL_485a: ldsfld int32 IntrinsicTest::id_counter
+ IL_485f: beq.s IL_4882
+
+ IL_4861: ldstr "counter mismatch {0} {1}"
+ IL_4866: ldsfld int32 IntrinsicTest::counter
+ IL_486b: box [mscorlib]System.Int32
+ IL_4870: ldsfld int32 IntrinsicTest::id_counter
+ IL_4875: box [mscorlib]System.Int32
+ IL_487a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_487f: ldc.i4.1
+ IL_4880: stloc.s V_20
+ IL_4882: ldsfld int64 IntrinsicTest::counter64
+ IL_4887: ldsfld int64 IntrinsicTest::id_counter64
+ IL_488c: beq.s IL_48af
+
+ IL_488e: ldstr "counter64 mismatch {0} {1}"
+ IL_4893: ldsfld int64 IntrinsicTest::counter64
+ IL_4898: box [mscorlib]System.Int64
+ IL_489d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_48a2: box [mscorlib]System.Int64
+ IL_48a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_48ac: ldc.i4.1
+ IL_48ad: stloc.s V_20
+ IL_48af: ldloc.s V_21
+ IL_48b1: ldfld int32 IntrinsicTest::instanceCounter
+ IL_48b6: ldloc.s V_21
+ IL_48b8: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_48bd: beq.s IL_48e4
+
+ IL_48bf: ldstr "instanceCounter mismatch {0} {1}"
+ IL_48c4: ldloc.s V_21
+ IL_48c6: ldfld int32 IntrinsicTest::instanceCounter
+ IL_48cb: box [mscorlib]System.Int32
+ IL_48d0: ldloc.s V_21
+ IL_48d2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_48d7: box [mscorlib]System.Int32
+ IL_48dc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_48e1: ldc.i4.1
+ IL_48e2: stloc.s V_20
+ IL_48e4: ldloc.s V_21
+ IL_48e6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_48eb: ldloc.s V_21
+ IL_48ed: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_48f2: beq.s IL_4919
+
+ IL_48f4: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_48f9: ldloc.s V_21
+ IL_48fb: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4900: box [mscorlib]System.Int64
+ IL_4905: ldloc.s V_21
+ IL_4907: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_490c: box [mscorlib]System.Int64
+ IL_4911: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4916: ldc.i4.1
+ IL_4917: stloc.s V_20
+ IL_4919: ldsfld int64 IntrinsicTest::temp
+ IL_491e: ldsfld int64 IntrinsicTest::idmp
+ IL_4923: beq.s IL_4946
+
+ IL_4925: ldstr "temp mismatch {0} {1}"
+ IL_492a: ldsfld int64 IntrinsicTest::temp
+ IL_492f: box [mscorlib]System.Int64
+ IL_4934: ldsfld int64 IntrinsicTest::idmp
+ IL_4939: box [mscorlib]System.Int64
+ IL_493e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4943: ldc.i4.1
+ IL_4944: stloc.s V_20
+ IL_4946: ldsflda int64 IntrinsicTest::counter64
+ IL_494b: ldsfld int64 IntrinsicTest::counter64
+ IL_4950: ldc.i4 0x261a0
+ IL_4955: conv.i8
+ IL_4956: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_495b: stsfld int64 IntrinsicTest::counter64
+ IL_4960: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4965: stsfld int64 IntrinsicTest::id_counter64
+ IL_496a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_496f: ldc.i4 0x261a0
+ IL_4974: conv.i8
+ IL_4975: bne.un.s IL_4983
+
+ IL_4977: ldsfld int64 IntrinsicTest::id_counter64
+ IL_497c: stsfld int64 IntrinsicTest::idjunk
+ IL_4981: br.s IL_498d
+
+ IL_4983: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4988: stsfld int64 IntrinsicTest::idjunk
+ IL_498d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 1"
+ IL_4992: call void [System.Console]System.Console::WriteLine(string)
+ IL_4997: ldloc.0
+ IL_4998: ldloc.s V_10
+ IL_499a: beq.s IL_49b6
+
+ IL_499c: ldc.i4.1
+ IL_499d: stloc.s V_20
+ IL_499f: ldstr "te0 check failed {0} {1}"
+ IL_49a4: ldloc.0
+ IL_49a5: box [mscorlib]System.Int32
+ IL_49aa: ldloc.s V_10
+ IL_49ac: box [mscorlib]System.Int32
+ IL_49b1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49b6: ldloc.1
+ IL_49b7: ldloc.s V_11
+ IL_49b9: beq.s IL_49d5
+
+ IL_49bb: ldc.i4.1
+ IL_49bc: stloc.s V_20
+ IL_49be: ldstr "te1 check failed {0} {1}"
+ IL_49c3: ldloc.1
+ IL_49c4: box [mscorlib]System.Int32
+ IL_49c9: ldloc.s V_11
+ IL_49cb: box [mscorlib]System.Int32
+ IL_49d0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49d5: ldloc.2
+ IL_49d6: ldloc.s V_12
+ IL_49d8: beq.s IL_49f4
+
+ IL_49da: ldc.i4.1
+ IL_49db: stloc.s V_20
+ IL_49dd: ldstr "te2 check failed {0} {1}"
+ IL_49e2: ldloc.2
+ IL_49e3: box [mscorlib]System.Int32
+ IL_49e8: ldloc.s V_12
+ IL_49ea: box [mscorlib]System.Int32
+ IL_49ef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49f4: ldloc.3
+ IL_49f5: ldloc.s V_13
+ IL_49f7: beq.s IL_4a13
+
+ IL_49f9: ldc.i4.1
+ IL_49fa: stloc.s V_20
+ IL_49fc: ldstr "te3 check failed {0} {1}"
+ IL_4a01: ldloc.3
+ IL_4a02: box [mscorlib]System.Int32
+ IL_4a07: ldloc.s V_13
+ IL_4a09: box [mscorlib]System.Int32
+ IL_4a0e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a13: ldloc.s V_4
+ IL_4a15: ldloc.s V_14
+ IL_4a17: beq.s IL_4a34
+
+ IL_4a19: ldc.i4.1
+ IL_4a1a: stloc.s V_20
+ IL_4a1c: ldstr "te064 check failed {0} {1}"
+ IL_4a21: ldloc.s V_4
+ IL_4a23: box [mscorlib]System.Int64
+ IL_4a28: ldloc.s V_14
+ IL_4a2a: box [mscorlib]System.Int64
+ IL_4a2f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a34: ldloc.s V_5
+ IL_4a36: ldloc.s V_15
+ IL_4a38: beq.s IL_4a55
+
+ IL_4a3a: ldc.i4.1
+ IL_4a3b: stloc.s V_20
+ IL_4a3d: ldstr "te164 check failed {0} {1}"
+ IL_4a42: ldloc.s V_5
+ IL_4a44: box [mscorlib]System.Int64
+ IL_4a49: ldloc.s V_15
+ IL_4a4b: box [mscorlib]System.Int64
+ IL_4a50: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a55: ldloc.s V_6
+ IL_4a57: ldloc.s V_16
+ IL_4a59: beq.s IL_4a76
+
+ IL_4a5b: ldc.i4.1
+ IL_4a5c: stloc.s V_20
+ IL_4a5e: ldstr "te264 check failed {0} {1}"
+ IL_4a63: ldloc.s V_6
+ IL_4a65: box [mscorlib]System.Int64
+ IL_4a6a: ldloc.s V_16
+ IL_4a6c: box [mscorlib]System.Int64
+ IL_4a71: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a76: ldloc.s V_7
+ IL_4a78: ldloc.s V_17
+ IL_4a7a: beq.s IL_4a97
+
+ IL_4a7c: ldc.i4.1
+ IL_4a7d: stloc.s V_20
+ IL_4a7f: ldstr "te364 check failed {0} {1}"
+ IL_4a84: ldloc.s V_7
+ IL_4a86: box [mscorlib]System.Int64
+ IL_4a8b: ldloc.s V_17
+ IL_4a8d: box [mscorlib]System.Int64
+ IL_4a92: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a97: ldloc.s V_8
+ IL_4a99: ldloc.s V_18
+ IL_4a9b: beq.s IL_4ab8
+
+ IL_4a9d: ldc.i4.1
+ IL_4a9e: stloc.s V_20
+ IL_4aa0: ldstr "dummy check failed {0} {1}"
+ IL_4aa5: ldloc.s V_8
+ IL_4aa7: box [mscorlib]System.Int32
+ IL_4aac: ldloc.s V_18
+ IL_4aae: box [mscorlib]System.Int32
+ IL_4ab3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ab8: ldloc.s V_9
+ IL_4aba: ldloc.s V_19
+ IL_4abc: beq.s IL_4ad9
+
+ IL_4abe: ldc.i4.1
+ IL_4abf: stloc.s V_20
+ IL_4ac1: ldstr "dummy64 check failed {0} {1}"
+ IL_4ac6: ldloc.s V_9
+ IL_4ac8: box [mscorlib]System.Int64
+ IL_4acd: ldloc.s V_19
+ IL_4acf: box [mscorlib]System.Int64
+ IL_4ad4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ad9: ldsfld int32 IntrinsicTest::counter
+ IL_4ade: ldsfld int32 IntrinsicTest::id_counter
+ IL_4ae3: beq.s IL_4b06
+
+ IL_4ae5: ldstr "counter mismatch {0} {1}"
+ IL_4aea: ldsfld int32 IntrinsicTest::counter
+ IL_4aef: box [mscorlib]System.Int32
+ IL_4af4: ldsfld int32 IntrinsicTest::id_counter
+ IL_4af9: box [mscorlib]System.Int32
+ IL_4afe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b03: ldc.i4.1
+ IL_4b04: stloc.s V_20
+ IL_4b06: ldsfld int64 IntrinsicTest::counter64
+ IL_4b0b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4b10: beq.s IL_4b33
+
+ IL_4b12: ldstr "counter64 mismatch {0} {1}"
+ IL_4b17: ldsfld int64 IntrinsicTest::counter64
+ IL_4b1c: box [mscorlib]System.Int64
+ IL_4b21: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4b26: box [mscorlib]System.Int64
+ IL_4b2b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b30: ldc.i4.1
+ IL_4b31: stloc.s V_20
+ IL_4b33: ldloc.s V_21
+ IL_4b35: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4b3a: ldloc.s V_21
+ IL_4b3c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4b41: beq.s IL_4b68
+
+ IL_4b43: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4b48: ldloc.s V_21
+ IL_4b4a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4b4f: box [mscorlib]System.Int32
+ IL_4b54: ldloc.s V_21
+ IL_4b56: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4b5b: box [mscorlib]System.Int32
+ IL_4b60: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b65: ldc.i4.1
+ IL_4b66: stloc.s V_20
+ IL_4b68: ldloc.s V_21
+ IL_4b6a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4b6f: ldloc.s V_21
+ IL_4b71: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4b76: beq.s IL_4b9d
+
+ IL_4b78: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_4b7d: ldloc.s V_21
+ IL_4b7f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4b84: box [mscorlib]System.Int64
+ IL_4b89: ldloc.s V_21
+ IL_4b8b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4b90: box [mscorlib]System.Int64
+ IL_4b95: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b9a: ldc.i4.1
+ IL_4b9b: stloc.s V_20
+ IL_4b9d: ldsfld int64 IntrinsicTest::temp
+ IL_4ba2: ldsfld int64 IntrinsicTest::idmp
+ IL_4ba7: beq.s IL_4bca
+
+ IL_4ba9: ldstr "temp mismatch {0} {1}"
+ IL_4bae: ldsfld int64 IntrinsicTest::temp
+ IL_4bb3: box [mscorlib]System.Int64
+ IL_4bb8: ldsfld int64 IntrinsicTest::idmp
+ IL_4bbd: box [mscorlib]System.Int64
+ IL_4bc2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4bc7: ldc.i4.1
+ IL_4bc8: stloc.s V_20
+ IL_4bca: ldloc.s V_21
+ IL_4bcc: ldsflda int64 IntrinsicTest::counter64
+ IL_4bd1: ldsfld int64 IntrinsicTest::counter64
+ IL_4bd6: ldc.i4 0x261a0
+ IL_4bdb: conv.i8
+ IL_4bdc: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_4be1: stfld int64 IntrinsicTest::instanceCounter64
+ IL_4be6: ldloc.s V_21
+ IL_4be8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4bed: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4bf2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4bf7: ldc.i4 0x261a0
+ IL_4bfc: conv.i8
+ IL_4bfd: bne.un.s IL_4c0b
+
+ IL_4bff: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4c04: stsfld int64 IntrinsicTest::id_counter64
+ IL_4c09: br.s IL_4c15
+
+ IL_4c0b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4c10: stsfld int64 IntrinsicTest::idjunk
+ IL_4c15: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 2"
+ IL_4c1a: call void [System.Console]System.Console::WriteLine(string)
+ IL_4c1f: ldloc.0
+ IL_4c20: ldloc.s V_10
+ IL_4c22: beq.s IL_4c3e
+
+ IL_4c24: ldc.i4.1
+ IL_4c25: stloc.s V_20
+ IL_4c27: ldstr "te0 check failed {0} {1}"
+ IL_4c2c: ldloc.0
+ IL_4c2d: box [mscorlib]System.Int32
+ IL_4c32: ldloc.s V_10
+ IL_4c34: box [mscorlib]System.Int32
+ IL_4c39: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c3e: ldloc.1
+ IL_4c3f: ldloc.s V_11
+ IL_4c41: beq.s IL_4c5d
+
+ IL_4c43: ldc.i4.1
+ IL_4c44: stloc.s V_20
+ IL_4c46: ldstr "te1 check failed {0} {1}"
+ IL_4c4b: ldloc.1
+ IL_4c4c: box [mscorlib]System.Int32
+ IL_4c51: ldloc.s V_11
+ IL_4c53: box [mscorlib]System.Int32
+ IL_4c58: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c5d: ldloc.2
+ IL_4c5e: ldloc.s V_12
+ IL_4c60: beq.s IL_4c7c
+
+ IL_4c62: ldc.i4.1
+ IL_4c63: stloc.s V_20
+ IL_4c65: ldstr "te2 check failed {0} {1}"
+ IL_4c6a: ldloc.2
+ IL_4c6b: box [mscorlib]System.Int32
+ IL_4c70: ldloc.s V_12
+ IL_4c72: box [mscorlib]System.Int32
+ IL_4c77: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c7c: ldloc.3
+ IL_4c7d: ldloc.s V_13
+ IL_4c7f: beq.s IL_4c9b
+
+ IL_4c81: ldc.i4.1
+ IL_4c82: stloc.s V_20
+ IL_4c84: ldstr "te3 check failed {0} {1}"
+ IL_4c89: ldloc.3
+ IL_4c8a: box [mscorlib]System.Int32
+ IL_4c8f: ldloc.s V_13
+ IL_4c91: box [mscorlib]System.Int32
+ IL_4c96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c9b: ldloc.s V_4
+ IL_4c9d: ldloc.s V_14
+ IL_4c9f: beq.s IL_4cbc
+
+ IL_4ca1: ldc.i4.1
+ IL_4ca2: stloc.s V_20
+ IL_4ca4: ldstr "te064 check failed {0} {1}"
+ IL_4ca9: ldloc.s V_4
+ IL_4cab: box [mscorlib]System.Int64
+ IL_4cb0: ldloc.s V_14
+ IL_4cb2: box [mscorlib]System.Int64
+ IL_4cb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cbc: ldloc.s V_5
+ IL_4cbe: ldloc.s V_15
+ IL_4cc0: beq.s IL_4cdd
+
+ IL_4cc2: ldc.i4.1
+ IL_4cc3: stloc.s V_20
+ IL_4cc5: ldstr "te164 check failed {0} {1}"
+ IL_4cca: ldloc.s V_5
+ IL_4ccc: box [mscorlib]System.Int64
+ IL_4cd1: ldloc.s V_15
+ IL_4cd3: box [mscorlib]System.Int64
+ IL_4cd8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cdd: ldloc.s V_6
+ IL_4cdf: ldloc.s V_16
+ IL_4ce1: beq.s IL_4cfe
+
+ IL_4ce3: ldc.i4.1
+ IL_4ce4: stloc.s V_20
+ IL_4ce6: ldstr "te264 check failed {0} {1}"
+ IL_4ceb: ldloc.s V_6
+ IL_4ced: box [mscorlib]System.Int64
+ IL_4cf2: ldloc.s V_16
+ IL_4cf4: box [mscorlib]System.Int64
+ IL_4cf9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cfe: ldloc.s V_7
+ IL_4d00: ldloc.s V_17
+ IL_4d02: beq.s IL_4d1f
+
+ IL_4d04: ldc.i4.1
+ IL_4d05: stloc.s V_20
+ IL_4d07: ldstr "te364 check failed {0} {1}"
+ IL_4d0c: ldloc.s V_7
+ IL_4d0e: box [mscorlib]System.Int64
+ IL_4d13: ldloc.s V_17
+ IL_4d15: box [mscorlib]System.Int64
+ IL_4d1a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d1f: ldloc.s V_8
+ IL_4d21: ldloc.s V_18
+ IL_4d23: beq.s IL_4d40
+
+ IL_4d25: ldc.i4.1
+ IL_4d26: stloc.s V_20
+ IL_4d28: ldstr "dummy check failed {0} {1}"
+ IL_4d2d: ldloc.s V_8
+ IL_4d2f: box [mscorlib]System.Int32
+ IL_4d34: ldloc.s V_18
+ IL_4d36: box [mscorlib]System.Int32
+ IL_4d3b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d40: ldloc.s V_9
+ IL_4d42: ldloc.s V_19
+ IL_4d44: beq.s IL_4d61
+
+ IL_4d46: ldc.i4.1
+ IL_4d47: stloc.s V_20
+ IL_4d49: ldstr "dummy64 check failed {0} {1}"
+ IL_4d4e: ldloc.s V_9
+ IL_4d50: box [mscorlib]System.Int64
+ IL_4d55: ldloc.s V_19
+ IL_4d57: box [mscorlib]System.Int64
+ IL_4d5c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d61: ldsfld int32 IntrinsicTest::counter
+ IL_4d66: ldsfld int32 IntrinsicTest::id_counter
+ IL_4d6b: beq.s IL_4d8e
+
+ IL_4d6d: ldstr "counter mismatch {0} {1}"
+ IL_4d72: ldsfld int32 IntrinsicTest::counter
+ IL_4d77: box [mscorlib]System.Int32
+ IL_4d7c: ldsfld int32 IntrinsicTest::id_counter
+ IL_4d81: box [mscorlib]System.Int32
+ IL_4d86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d8b: ldc.i4.1
+ IL_4d8c: stloc.s V_20
+ IL_4d8e: ldsfld int64 IntrinsicTest::counter64
+ IL_4d93: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4d98: beq.s IL_4dbb
+
+ IL_4d9a: ldstr "counter64 mismatch {0} {1}"
+ IL_4d9f: ldsfld int64 IntrinsicTest::counter64
+ IL_4da4: box [mscorlib]System.Int64
+ IL_4da9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4dae: box [mscorlib]System.Int64
+ IL_4db3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4db8: ldc.i4.1
+ IL_4db9: stloc.s V_20
+ IL_4dbb: ldloc.s V_21
+ IL_4dbd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4dc2: ldloc.s V_21
+ IL_4dc4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4dc9: beq.s IL_4df0
+
+ IL_4dcb: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4dd0: ldloc.s V_21
+ IL_4dd2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4dd7: box [mscorlib]System.Int32
+ IL_4ddc: ldloc.s V_21
+ IL_4dde: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4de3: box [mscorlib]System.Int32
+ IL_4de8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ded: ldc.i4.1
+ IL_4dee: stloc.s V_20
+ IL_4df0: ldloc.s V_21
+ IL_4df2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4df7: ldloc.s V_21
+ IL_4df9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4dfe: beq.s IL_4e25
+
+ IL_4e00: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_4e05: ldloc.s V_21
+ IL_4e07: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4e0c: box [mscorlib]System.Int64
+ IL_4e11: ldloc.s V_21
+ IL_4e13: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4e18: box [mscorlib]System.Int64
+ IL_4e1d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4e22: ldc.i4.1
+ IL_4e23: stloc.s V_20
+ IL_4e25: ldsfld int64 IntrinsicTest::temp
+ IL_4e2a: ldsfld int64 IntrinsicTest::idmp
+ IL_4e2f: beq.s IL_4e52
+
+ IL_4e31: ldstr "temp mismatch {0} {1}"
+ IL_4e36: ldsfld int64 IntrinsicTest::temp
+ IL_4e3b: box [mscorlib]System.Int64
+ IL_4e40: ldsfld int64 IntrinsicTest::idmp
+ IL_4e45: box [mscorlib]System.Int64
+ IL_4e4a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4e4f: ldc.i4.1
+ IL_4e50: stloc.s V_20
+ IL_4e52: ldsflda int64 IntrinsicTest::counter64
+ IL_4e57: ldsfld int64 IntrinsicTest::counter64
+ IL_4e5c: ldc.i4 0x261a0
+ IL_4e61: conv.i8
+ IL_4e62: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_4e67: stloc.s V_4
+ IL_4e69: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4e6e: stloc.s V_14
+ IL_4e70: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4e75: ldc.i4 0x261a0
+ IL_4e7a: conv.i8
+ IL_4e7b: bne.un.s IL_4e89
+
+ IL_4e7d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4e82: stsfld int64 IntrinsicTest::id_counter64
+ IL_4e87: br.s IL_4e93
+
+ IL_4e89: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4e8e: stsfld int64 IntrinsicTest::idjunk
+ IL_4e93: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 3"
+ IL_4e98: call void [System.Console]System.Console::WriteLine(string)
+ IL_4e9d: ldloc.0
+ IL_4e9e: ldloc.s V_10
+ IL_4ea0: beq.s IL_4ebc
+
+ IL_4ea2: ldc.i4.1
+ IL_4ea3: stloc.s V_20
+ IL_4ea5: ldstr "te0 check failed {0} {1}"
+ IL_4eaa: ldloc.0
+ IL_4eab: box [mscorlib]System.Int32
+ IL_4eb0: ldloc.s V_10
+ IL_4eb2: box [mscorlib]System.Int32
+ IL_4eb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ebc: ldloc.1
+ IL_4ebd: ldloc.s V_11
+ IL_4ebf: beq.s IL_4edb
+
+ IL_4ec1: ldc.i4.1
+ IL_4ec2: stloc.s V_20
+ IL_4ec4: ldstr "te1 check failed {0} {1}"
+ IL_4ec9: ldloc.1
+ IL_4eca: box [mscorlib]System.Int32
+ IL_4ecf: ldloc.s V_11
+ IL_4ed1: box [mscorlib]System.Int32
+ IL_4ed6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4edb: ldloc.2
+ IL_4edc: ldloc.s V_12
+ IL_4ede: beq.s IL_4efa
+
+ IL_4ee0: ldc.i4.1
+ IL_4ee1: stloc.s V_20
+ IL_4ee3: ldstr "te2 check failed {0} {1}"
+ IL_4ee8: ldloc.2
+ IL_4ee9: box [mscorlib]System.Int32
+ IL_4eee: ldloc.s V_12
+ IL_4ef0: box [mscorlib]System.Int32
+ IL_4ef5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4efa: ldloc.3
+ IL_4efb: ldloc.s V_13
+ IL_4efd: beq.s IL_4f19
+
+ IL_4eff: ldc.i4.1
+ IL_4f00: stloc.s V_20
+ IL_4f02: ldstr "te3 check failed {0} {1}"
+ IL_4f07: ldloc.3
+ IL_4f08: box [mscorlib]System.Int32
+ IL_4f0d: ldloc.s V_13
+ IL_4f0f: box [mscorlib]System.Int32
+ IL_4f14: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f19: ldloc.s V_4
+ IL_4f1b: ldloc.s V_14
+ IL_4f1d: beq.s IL_4f3a
+
+ IL_4f1f: ldc.i4.1
+ IL_4f20: stloc.s V_20
+ IL_4f22: ldstr "te064 check failed {0} {1}"
+ IL_4f27: ldloc.s V_4
+ IL_4f29: box [mscorlib]System.Int64
+ IL_4f2e: ldloc.s V_14
+ IL_4f30: box [mscorlib]System.Int64
+ IL_4f35: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f3a: ldloc.s V_5
+ IL_4f3c: ldloc.s V_15
+ IL_4f3e: beq.s IL_4f5b
+
+ IL_4f40: ldc.i4.1
+ IL_4f41: stloc.s V_20
+ IL_4f43: ldstr "te164 check failed {0} {1}"
+ IL_4f48: ldloc.s V_5
+ IL_4f4a: box [mscorlib]System.Int64
+ IL_4f4f: ldloc.s V_15
+ IL_4f51: box [mscorlib]System.Int64
+ IL_4f56: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f5b: ldloc.s V_6
+ IL_4f5d: ldloc.s V_16
+ IL_4f5f: beq.s IL_4f7c
+
+ IL_4f61: ldc.i4.1
+ IL_4f62: stloc.s V_20
+ IL_4f64: ldstr "te264 check failed {0} {1}"
+ IL_4f69: ldloc.s V_6
+ IL_4f6b: box [mscorlib]System.Int64
+ IL_4f70: ldloc.s V_16
+ IL_4f72: box [mscorlib]System.Int64
+ IL_4f77: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f7c: ldloc.s V_7
+ IL_4f7e: ldloc.s V_17
+ IL_4f80: beq.s IL_4f9d
+
+ IL_4f82: ldc.i4.1
+ IL_4f83: stloc.s V_20
+ IL_4f85: ldstr "te364 check failed {0} {1}"
+ IL_4f8a: ldloc.s V_7
+ IL_4f8c: box [mscorlib]System.Int64
+ IL_4f91: ldloc.s V_17
+ IL_4f93: box [mscorlib]System.Int64
+ IL_4f98: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f9d: ldloc.s V_8
+ IL_4f9f: ldloc.s V_18
+ IL_4fa1: beq.s IL_4fbe
+
+ IL_4fa3: ldc.i4.1
+ IL_4fa4: stloc.s V_20
+ IL_4fa6: ldstr "dummy check failed {0} {1}"
+ IL_4fab: ldloc.s V_8
+ IL_4fad: box [mscorlib]System.Int32
+ IL_4fb2: ldloc.s V_18
+ IL_4fb4: box [mscorlib]System.Int32
+ IL_4fb9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4fbe: ldloc.s V_9
+ IL_4fc0: ldloc.s V_19
+ IL_4fc2: beq.s IL_4fdf
+
+ IL_4fc4: ldc.i4.1
+ IL_4fc5: stloc.s V_20
+ IL_4fc7: ldstr "dummy64 check failed {0} {1}"
+ IL_4fcc: ldloc.s V_9
+ IL_4fce: box [mscorlib]System.Int64
+ IL_4fd3: ldloc.s V_19
+ IL_4fd5: box [mscorlib]System.Int64
+ IL_4fda: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4fdf: ldsfld int32 IntrinsicTest::counter
+ IL_4fe4: ldsfld int32 IntrinsicTest::id_counter
+ IL_4fe9: beq.s IL_500c
+
+ IL_4feb: ldstr "counter mismatch {0} {1}"
+ IL_4ff0: ldsfld int32 IntrinsicTest::counter
+ IL_4ff5: box [mscorlib]System.Int32
+ IL_4ffa: ldsfld int32 IntrinsicTest::id_counter
+ IL_4fff: box [mscorlib]System.Int32
+ IL_5004: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5009: ldc.i4.1
+ IL_500a: stloc.s V_20
+ IL_500c: ldsfld int64 IntrinsicTest::counter64
+ IL_5011: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5016: beq.s IL_5039
+
+ IL_5018: ldstr "counter64 mismatch {0} {1}"
+ IL_501d: ldsfld int64 IntrinsicTest::counter64
+ IL_5022: box [mscorlib]System.Int64
+ IL_5027: ldsfld int64 IntrinsicTest::id_counter64
+ IL_502c: box [mscorlib]System.Int64
+ IL_5031: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5036: ldc.i4.1
+ IL_5037: stloc.s V_20
+ IL_5039: ldloc.s V_21
+ IL_503b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5040: ldloc.s V_21
+ IL_5042: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5047: beq.s IL_506e
+
+ IL_5049: ldstr "instanceCounter mismatch {0} {1}"
+ IL_504e: ldloc.s V_21
+ IL_5050: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5055: box [mscorlib]System.Int32
+ IL_505a: ldloc.s V_21
+ IL_505c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5061: box [mscorlib]System.Int32
+ IL_5066: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_506b: ldc.i4.1
+ IL_506c: stloc.s V_20
+ IL_506e: ldloc.s V_21
+ IL_5070: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5075: ldloc.s V_21
+ IL_5077: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_507c: beq.s IL_50a3
+
+ IL_507e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5083: ldloc.s V_21
+ IL_5085: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_508a: box [mscorlib]System.Int64
+ IL_508f: ldloc.s V_21
+ IL_5091: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5096: box [mscorlib]System.Int64
+ IL_509b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_50a0: ldc.i4.1
+ IL_50a1: stloc.s V_20
+ IL_50a3: ldsfld int64 IntrinsicTest::temp
+ IL_50a8: ldsfld int64 IntrinsicTest::idmp
+ IL_50ad: beq.s IL_50d0
+
+ IL_50af: ldstr "temp mismatch {0} {1}"
+ IL_50b4: ldsfld int64 IntrinsicTest::temp
+ IL_50b9: box [mscorlib]System.Int64
+ IL_50be: ldsfld int64 IntrinsicTest::idmp
+ IL_50c3: box [mscorlib]System.Int64
+ IL_50c8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_50cd: ldc.i4.1
+ IL_50ce: stloc.s V_20
+ IL_50d0: ldsflda int64 IntrinsicTest::counter64
+ IL_50d5: ldsfld int64 IntrinsicTest::counter64
+ IL_50da: ldc.i4 0x261a0
+ IL_50df: conv.i8
+ IL_50e0: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_50e5: stsfld int64 IntrinsicTest::counter64
+ IL_50ea: ldsfld int64 IntrinsicTest::id_counter64
+ IL_50ef: stsfld int64 IntrinsicTest::id_counter64
+ IL_50f4: ldsfld int64 IntrinsicTest::id_counter64
+ IL_50f9: ldc.i4 0x261a0
+ IL_50fe: conv.i8
+ IL_50ff: bne.un.s IL_510d
+
+ IL_5101: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5106: stsfld int64 IntrinsicTest::idjunk
+ IL_510b: br.s IL_5117
+
+ IL_510d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5112: stsfld int64 IntrinsicTest::idjunk
+ IL_5117: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 4"
+ IL_511c: call void [System.Console]System.Console::WriteLine(string)
+ IL_5121: ldloc.0
+ IL_5122: ldloc.s V_10
+ IL_5124: beq.s IL_5140
+
+ IL_5126: ldc.i4.1
+ IL_5127: stloc.s V_20
+ IL_5129: ldstr "te0 check failed {0} {1}"
+ IL_512e: ldloc.0
+ IL_512f: box [mscorlib]System.Int32
+ IL_5134: ldloc.s V_10
+ IL_5136: box [mscorlib]System.Int32
+ IL_513b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5140: ldloc.1
+ IL_5141: ldloc.s V_11
+ IL_5143: beq.s IL_515f
+
+ IL_5145: ldc.i4.1
+ IL_5146: stloc.s V_20
+ IL_5148: ldstr "te1 check failed {0} {1}"
+ IL_514d: ldloc.1
+ IL_514e: box [mscorlib]System.Int32
+ IL_5153: ldloc.s V_11
+ IL_5155: box [mscorlib]System.Int32
+ IL_515a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_515f: ldloc.2
+ IL_5160: ldloc.s V_12
+ IL_5162: beq.s IL_517e
+
+ IL_5164: ldc.i4.1
+ IL_5165: stloc.s V_20
+ IL_5167: ldstr "te2 check failed {0} {1}"
+ IL_516c: ldloc.2
+ IL_516d: box [mscorlib]System.Int32
+ IL_5172: ldloc.s V_12
+ IL_5174: box [mscorlib]System.Int32
+ IL_5179: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_517e: ldloc.3
+ IL_517f: ldloc.s V_13
+ IL_5181: beq.s IL_519d
+
+ IL_5183: ldc.i4.1
+ IL_5184: stloc.s V_20
+ IL_5186: ldstr "te3 check failed {0} {1}"
+ IL_518b: ldloc.3
+ IL_518c: box [mscorlib]System.Int32
+ IL_5191: ldloc.s V_13
+ IL_5193: box [mscorlib]System.Int32
+ IL_5198: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_519d: ldloc.s V_4
+ IL_519f: ldloc.s V_14
+ IL_51a1: beq.s IL_51be
+
+ IL_51a3: ldc.i4.1
+ IL_51a4: stloc.s V_20
+ IL_51a6: ldstr "te064 check failed {0} {1}"
+ IL_51ab: ldloc.s V_4
+ IL_51ad: box [mscorlib]System.Int64
+ IL_51b2: ldloc.s V_14
+ IL_51b4: box [mscorlib]System.Int64
+ IL_51b9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_51be: ldloc.s V_5
+ IL_51c0: ldloc.s V_15
+ IL_51c2: beq.s IL_51df
+
+ IL_51c4: ldc.i4.1
+ IL_51c5: stloc.s V_20
+ IL_51c7: ldstr "te164 check failed {0} {1}"
+ IL_51cc: ldloc.s V_5
+ IL_51ce: box [mscorlib]System.Int64
+ IL_51d3: ldloc.s V_15
+ IL_51d5: box [mscorlib]System.Int64
+ IL_51da: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_51df: ldloc.s V_6
+ IL_51e1: ldloc.s V_16
+ IL_51e3: beq.s IL_5200
+
+ IL_51e5: ldc.i4.1
+ IL_51e6: stloc.s V_20
+ IL_51e8: ldstr "te264 check failed {0} {1}"
+ IL_51ed: ldloc.s V_6
+ IL_51ef: box [mscorlib]System.Int64
+ IL_51f4: ldloc.s V_16
+ IL_51f6: box [mscorlib]System.Int64
+ IL_51fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5200: ldloc.s V_7
+ IL_5202: ldloc.s V_17
+ IL_5204: beq.s IL_5221
+
+ IL_5206: ldc.i4.1
+ IL_5207: stloc.s V_20
+ IL_5209: ldstr "te364 check failed {0} {1}"
+ IL_520e: ldloc.s V_7
+ IL_5210: box [mscorlib]System.Int64
+ IL_5215: ldloc.s V_17
+ IL_5217: box [mscorlib]System.Int64
+ IL_521c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5221: ldloc.s V_8
+ IL_5223: ldloc.s V_18
+ IL_5225: beq.s IL_5242
+
+ IL_5227: ldc.i4.1
+ IL_5228: stloc.s V_20
+ IL_522a: ldstr "dummy check failed {0} {1}"
+ IL_522f: ldloc.s V_8
+ IL_5231: box [mscorlib]System.Int32
+ IL_5236: ldloc.s V_18
+ IL_5238: box [mscorlib]System.Int32
+ IL_523d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5242: ldloc.s V_9
+ IL_5244: ldloc.s V_19
+ IL_5246: beq.s IL_5263
+
+ IL_5248: ldc.i4.1
+ IL_5249: stloc.s V_20
+ IL_524b: ldstr "dummy64 check failed {0} {1}"
+ IL_5250: ldloc.s V_9
+ IL_5252: box [mscorlib]System.Int64
+ IL_5257: ldloc.s V_19
+ IL_5259: box [mscorlib]System.Int64
+ IL_525e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5263: ldsfld int32 IntrinsicTest::counter
+ IL_5268: ldsfld int32 IntrinsicTest::id_counter
+ IL_526d: beq.s IL_5290
+
+ IL_526f: ldstr "counter mismatch {0} {1}"
+ IL_5274: ldsfld int32 IntrinsicTest::counter
+ IL_5279: box [mscorlib]System.Int32
+ IL_527e: ldsfld int32 IntrinsicTest::id_counter
+ IL_5283: box [mscorlib]System.Int32
+ IL_5288: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_528d: ldc.i4.1
+ IL_528e: stloc.s V_20
+ IL_5290: ldsfld int64 IntrinsicTest::counter64
+ IL_5295: ldsfld int64 IntrinsicTest::id_counter64
+ IL_529a: beq.s IL_52bd
+
+ IL_529c: ldstr "counter64 mismatch {0} {1}"
+ IL_52a1: ldsfld int64 IntrinsicTest::counter64
+ IL_52a6: box [mscorlib]System.Int64
+ IL_52ab: ldsfld int64 IntrinsicTest::id_counter64
+ IL_52b0: box [mscorlib]System.Int64
+ IL_52b5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_52ba: ldc.i4.1
+ IL_52bb: stloc.s V_20
+ IL_52bd: ldloc.s V_21
+ IL_52bf: ldfld int32 IntrinsicTest::instanceCounter
+ IL_52c4: ldloc.s V_21
+ IL_52c6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_52cb: beq.s IL_52f2
+
+ IL_52cd: ldstr "instanceCounter mismatch {0} {1}"
+ IL_52d2: ldloc.s V_21
+ IL_52d4: ldfld int32 IntrinsicTest::instanceCounter
+ IL_52d9: box [mscorlib]System.Int32
+ IL_52de: ldloc.s V_21
+ IL_52e0: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_52e5: box [mscorlib]System.Int32
+ IL_52ea: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_52ef: ldc.i4.1
+ IL_52f0: stloc.s V_20
+ IL_52f2: ldloc.s V_21
+ IL_52f4: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_52f9: ldloc.s V_21
+ IL_52fb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5300: beq.s IL_5327
+
+ IL_5302: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5307: ldloc.s V_21
+ IL_5309: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_530e: box [mscorlib]System.Int64
+ IL_5313: ldloc.s V_21
+ IL_5315: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_531a: box [mscorlib]System.Int64
+ IL_531f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5324: ldc.i4.1
+ IL_5325: stloc.s V_20
+ IL_5327: ldsfld int64 IntrinsicTest::temp
+ IL_532c: ldsfld int64 IntrinsicTest::idmp
+ IL_5331: beq.s IL_5354
+
+ IL_5333: ldstr "temp mismatch {0} {1}"
+ IL_5338: ldsfld int64 IntrinsicTest::temp
+ IL_533d: box [mscorlib]System.Int64
+ IL_5342: ldsfld int64 IntrinsicTest::idmp
+ IL_5347: box [mscorlib]System.Int64
+ IL_534c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5351: ldc.i4.1
+ IL_5352: stloc.s V_20
+ IL_5354: ldloc.s V_21
+ IL_5356: ldsflda int64 IntrinsicTest::counter64
+ IL_535b: ldsfld int64 IntrinsicTest::counter64
+ IL_5360: ldc.i4 0x261a0
+ IL_5365: conv.i8
+ IL_5366: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_536b: stfld int64 IntrinsicTest::instanceCounter64
+ IL_5370: ldloc.s V_21
+ IL_5372: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5377: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_537c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5381: ldc.i4 0x261a0
+ IL_5386: conv.i8
+ IL_5387: bne.un.s IL_5395
+
+ IL_5389: ldsfld int64 IntrinsicTest::id_counter64
+ IL_538e: stsfld int64 IntrinsicTest::id_counter64
+ IL_5393: br.s IL_539f
+
+ IL_5395: ldsfld int64 IntrinsicTest::id_counter64
+ IL_539a: stsfld int64 IntrinsicTest::idjunk
+ IL_539f: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 5"
+ IL_53a4: call void [System.Console]System.Console::WriteLine(string)
+ IL_53a9: ldloc.0
+ IL_53aa: ldloc.s V_10
+ IL_53ac: beq.s IL_53c8
+
+ IL_53ae: ldc.i4.1
+ IL_53af: stloc.s V_20
+ IL_53b1: ldstr "te0 check failed {0} {1}"
+ IL_53b6: ldloc.0
+ IL_53b7: box [mscorlib]System.Int32
+ IL_53bc: ldloc.s V_10
+ IL_53be: box [mscorlib]System.Int32
+ IL_53c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_53c8: ldloc.1
+ IL_53c9: ldloc.s V_11
+ IL_53cb: beq.s IL_53e7
+
+ IL_53cd: ldc.i4.1
+ IL_53ce: stloc.s V_20
+ IL_53d0: ldstr "te1 check failed {0} {1}"
+ IL_53d5: ldloc.1
+ IL_53d6: box [mscorlib]System.Int32
+ IL_53db: ldloc.s V_11
+ IL_53dd: box [mscorlib]System.Int32
+ IL_53e2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_53e7: ldloc.2
+ IL_53e8: ldloc.s V_12
+ IL_53ea: beq.s IL_5406
+
+ IL_53ec: ldc.i4.1
+ IL_53ed: stloc.s V_20
+ IL_53ef: ldstr "te2 check failed {0} {1}"
+ IL_53f4: ldloc.2
+ IL_53f5: box [mscorlib]System.Int32
+ IL_53fa: ldloc.s V_12
+ IL_53fc: box [mscorlib]System.Int32
+ IL_5401: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5406: ldloc.3
+ IL_5407: ldloc.s V_13
+ IL_5409: beq.s IL_5425
+
+ IL_540b: ldc.i4.1
+ IL_540c: stloc.s V_20
+ IL_540e: ldstr "te3 check failed {0} {1}"
+ IL_5413: ldloc.3
+ IL_5414: box [mscorlib]System.Int32
+ IL_5419: ldloc.s V_13
+ IL_541b: box [mscorlib]System.Int32
+ IL_5420: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5425: ldloc.s V_4
+ IL_5427: ldloc.s V_14
+ IL_5429: beq.s IL_5446
+
+ IL_542b: ldc.i4.1
+ IL_542c: stloc.s V_20
+ IL_542e: ldstr "te064 check failed {0} {1}"
+ IL_5433: ldloc.s V_4
+ IL_5435: box [mscorlib]System.Int64
+ IL_543a: ldloc.s V_14
+ IL_543c: box [mscorlib]System.Int64
+ IL_5441: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5446: ldloc.s V_5
+ IL_5448: ldloc.s V_15
+ IL_544a: beq.s IL_5467
+
+ IL_544c: ldc.i4.1
+ IL_544d: stloc.s V_20
+ IL_544f: ldstr "te164 check failed {0} {1}"
+ IL_5454: ldloc.s V_5
+ IL_5456: box [mscorlib]System.Int64
+ IL_545b: ldloc.s V_15
+ IL_545d: box [mscorlib]System.Int64
+ IL_5462: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5467: ldloc.s V_6
+ IL_5469: ldloc.s V_16
+ IL_546b: beq.s IL_5488
+
+ IL_546d: ldc.i4.1
+ IL_546e: stloc.s V_20
+ IL_5470: ldstr "te264 check failed {0} {1}"
+ IL_5475: ldloc.s V_6
+ IL_5477: box [mscorlib]System.Int64
+ IL_547c: ldloc.s V_16
+ IL_547e: box [mscorlib]System.Int64
+ IL_5483: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5488: ldloc.s V_7
+ IL_548a: ldloc.s V_17
+ IL_548c: beq.s IL_54a9
+
+ IL_548e: ldc.i4.1
+ IL_548f: stloc.s V_20
+ IL_5491: ldstr "te364 check failed {0} {1}"
+ IL_5496: ldloc.s V_7
+ IL_5498: box [mscorlib]System.Int64
+ IL_549d: ldloc.s V_17
+ IL_549f: box [mscorlib]System.Int64
+ IL_54a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54a9: ldloc.s V_8
+ IL_54ab: ldloc.s V_18
+ IL_54ad: beq.s IL_54ca
+
+ IL_54af: ldc.i4.1
+ IL_54b0: stloc.s V_20
+ IL_54b2: ldstr "dummy check failed {0} {1}"
+ IL_54b7: ldloc.s V_8
+ IL_54b9: box [mscorlib]System.Int32
+ IL_54be: ldloc.s V_18
+ IL_54c0: box [mscorlib]System.Int32
+ IL_54c5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54ca: ldloc.s V_9
+ IL_54cc: ldloc.s V_19
+ IL_54ce: beq.s IL_54eb
+
+ IL_54d0: ldc.i4.1
+ IL_54d1: stloc.s V_20
+ IL_54d3: ldstr "dummy64 check failed {0} {1}"
+ IL_54d8: ldloc.s V_9
+ IL_54da: box [mscorlib]System.Int64
+ IL_54df: ldloc.s V_19
+ IL_54e1: box [mscorlib]System.Int64
+ IL_54e6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54eb: ldsfld int32 IntrinsicTest::counter
+ IL_54f0: ldsfld int32 IntrinsicTest::id_counter
+ IL_54f5: beq.s IL_5518
+
+ IL_54f7: ldstr "counter mismatch {0} {1}"
+ IL_54fc: ldsfld int32 IntrinsicTest::counter
+ IL_5501: box [mscorlib]System.Int32
+ IL_5506: ldsfld int32 IntrinsicTest::id_counter
+ IL_550b: box [mscorlib]System.Int32
+ IL_5510: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5515: ldc.i4.1
+ IL_5516: stloc.s V_20
+ IL_5518: ldsfld int64 IntrinsicTest::counter64
+ IL_551d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5522: beq.s IL_5545
+
+ IL_5524: ldstr "counter64 mismatch {0} {1}"
+ IL_5529: ldsfld int64 IntrinsicTest::counter64
+ IL_552e: box [mscorlib]System.Int64
+ IL_5533: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5538: box [mscorlib]System.Int64
+ IL_553d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5542: ldc.i4.1
+ IL_5543: stloc.s V_20
+ IL_5545: ldloc.s V_21
+ IL_5547: ldfld int32 IntrinsicTest::instanceCounter
+ IL_554c: ldloc.s V_21
+ IL_554e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5553: beq.s IL_557a
+
+ IL_5555: ldstr "instanceCounter mismatch {0} {1}"
+ IL_555a: ldloc.s V_21
+ IL_555c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5561: box [mscorlib]System.Int32
+ IL_5566: ldloc.s V_21
+ IL_5568: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_556d: box [mscorlib]System.Int32
+ IL_5572: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5577: ldc.i4.1
+ IL_5578: stloc.s V_20
+ IL_557a: ldloc.s V_21
+ IL_557c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5581: ldloc.s V_21
+ IL_5583: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5588: beq.s IL_55af
+
+ IL_558a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_558f: ldloc.s V_21
+ IL_5591: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5596: box [mscorlib]System.Int64
+ IL_559b: ldloc.s V_21
+ IL_559d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_55a2: box [mscorlib]System.Int64
+ IL_55a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_55ac: ldc.i4.1
+ IL_55ad: stloc.s V_20
+ IL_55af: ldsfld int64 IntrinsicTest::temp
+ IL_55b4: ldsfld int64 IntrinsicTest::idmp
+ IL_55b9: beq.s IL_55dc
+
+ IL_55bb: ldstr "temp mismatch {0} {1}"
+ IL_55c0: ldsfld int64 IntrinsicTest::temp
+ IL_55c5: box [mscorlib]System.Int64
+ IL_55ca: ldsfld int64 IntrinsicTest::idmp
+ IL_55cf: box [mscorlib]System.Int64
+ IL_55d4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_55d9: ldc.i4.1
+ IL_55da: stloc.s V_20
+ IL_55dc: ldsflda int64 IntrinsicTest::counter64
+ IL_55e1: ldsfld int64 IntrinsicTest::counter64
+ IL_55e6: ldc.i4 0x261a0
+ IL_55eb: conv.i8
+ IL_55ec: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_55f1: stloc.s V_7
+ IL_55f3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_55f8: stloc.s V_17
+ IL_55fa: ldsfld int64 IntrinsicTest::id_counter64
+ IL_55ff: ldc.i4 0x261a0
+ IL_5604: conv.i8
+ IL_5605: bne.un.s IL_5613
+
+ IL_5607: ldsfld int64 IntrinsicTest::id_counter64
+ IL_560c: stsfld int64 IntrinsicTest::id_counter64
+ IL_5611: br.s IL_561d
+
+ IL_5613: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5618: stsfld int64 IntrinsicTest::idjunk
+ IL_561d: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 4 6"
+ IL_5622: call void [System.Console]System.Console::WriteLine(string)
+ IL_5627: ldloc.0
+ IL_5628: ldloc.s V_10
+ IL_562a: beq.s IL_5646
+
+ IL_562c: ldc.i4.1
+ IL_562d: stloc.s V_20
+ IL_562f: ldstr "te0 check failed {0} {1}"
+ IL_5634: ldloc.0
+ IL_5635: box [mscorlib]System.Int32
+ IL_563a: ldloc.s V_10
+ IL_563c: box [mscorlib]System.Int32
+ IL_5641: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5646: ldloc.1
+ IL_5647: ldloc.s V_11
+ IL_5649: beq.s IL_5665
+
+ IL_564b: ldc.i4.1
+ IL_564c: stloc.s V_20
+ IL_564e: ldstr "te1 check failed {0} {1}"
+ IL_5653: ldloc.1
+ IL_5654: box [mscorlib]System.Int32
+ IL_5659: ldloc.s V_11
+ IL_565b: box [mscorlib]System.Int32
+ IL_5660: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5665: ldloc.2
+ IL_5666: ldloc.s V_12
+ IL_5668: beq.s IL_5684
+
+ IL_566a: ldc.i4.1
+ IL_566b: stloc.s V_20
+ IL_566d: ldstr "te2 check failed {0} {1}"
+ IL_5672: ldloc.2
+ IL_5673: box [mscorlib]System.Int32
+ IL_5678: ldloc.s V_12
+ IL_567a: box [mscorlib]System.Int32
+ IL_567f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5684: ldloc.3
+ IL_5685: ldloc.s V_13
+ IL_5687: beq.s IL_56a3
+
+ IL_5689: ldc.i4.1
+ IL_568a: stloc.s V_20
+ IL_568c: ldstr "te3 check failed {0} {1}"
+ IL_5691: ldloc.3
+ IL_5692: box [mscorlib]System.Int32
+ IL_5697: ldloc.s V_13
+ IL_5699: box [mscorlib]System.Int32
+ IL_569e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_56a3: ldloc.s V_4
+ IL_56a5: ldloc.s V_14
+ IL_56a7: beq.s IL_56c4
+
+ IL_56a9: ldc.i4.1
+ IL_56aa: stloc.s V_20
+ IL_56ac: ldstr "te064 check failed {0} {1}"
+ IL_56b1: ldloc.s V_4
+ IL_56b3: box [mscorlib]System.Int64
+ IL_56b8: ldloc.s V_14
+ IL_56ba: box [mscorlib]System.Int64
+ IL_56bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_56c4: ldloc.s V_5
+ IL_56c6: ldloc.s V_15
+ IL_56c8: beq.s IL_56e5
+
+ IL_56ca: ldc.i4.1
+ IL_56cb: stloc.s V_20
+ IL_56cd: ldstr "te164 check failed {0} {1}"
+ IL_56d2: ldloc.s V_5
+ IL_56d4: box [mscorlib]System.Int64
+ IL_56d9: ldloc.s V_15
+ IL_56db: box [mscorlib]System.Int64
+ IL_56e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_56e5: ldloc.s V_6
+ IL_56e7: ldloc.s V_16
+ IL_56e9: beq.s IL_5706
+
+ IL_56eb: ldc.i4.1
+ IL_56ec: stloc.s V_20
+ IL_56ee: ldstr "te264 check failed {0} {1}"
+ IL_56f3: ldloc.s V_6
+ IL_56f5: box [mscorlib]System.Int64
+ IL_56fa: ldloc.s V_16
+ IL_56fc: box [mscorlib]System.Int64
+ IL_5701: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5706: ldloc.s V_7
+ IL_5708: ldloc.s V_17
+ IL_570a: beq.s IL_5727
+
+ IL_570c: ldc.i4.1
+ IL_570d: stloc.s V_20
+ IL_570f: ldstr "te364 check failed {0} {1}"
+ IL_5714: ldloc.s V_7
+ IL_5716: box [mscorlib]System.Int64
+ IL_571b: ldloc.s V_17
+ IL_571d: box [mscorlib]System.Int64
+ IL_5722: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5727: ldloc.s V_8
+ IL_5729: ldloc.s V_18
+ IL_572b: beq.s IL_5748
+
+ IL_572d: ldc.i4.1
+ IL_572e: stloc.s V_20
+ IL_5730: ldstr "dummy check failed {0} {1}"
+ IL_5735: ldloc.s V_8
+ IL_5737: box [mscorlib]System.Int32
+ IL_573c: ldloc.s V_18
+ IL_573e: box [mscorlib]System.Int32
+ IL_5743: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5748: ldloc.s V_9
+ IL_574a: ldloc.s V_19
+ IL_574c: beq.s IL_5769
+
+ IL_574e: ldc.i4.1
+ IL_574f: stloc.s V_20
+ IL_5751: ldstr "dummy64 check failed {0} {1}"
+ IL_5756: ldloc.s V_9
+ IL_5758: box [mscorlib]System.Int64
+ IL_575d: ldloc.s V_19
+ IL_575f: box [mscorlib]System.Int64
+ IL_5764: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5769: ldsfld int32 IntrinsicTest::counter
+ IL_576e: ldsfld int32 IntrinsicTest::id_counter
+ IL_5773: beq.s IL_5796
+
+ IL_5775: ldstr "counter mismatch {0} {1}"
+ IL_577a: ldsfld int32 IntrinsicTest::counter
+ IL_577f: box [mscorlib]System.Int32
+ IL_5784: ldsfld int32 IntrinsicTest::id_counter
+ IL_5789: box [mscorlib]System.Int32
+ IL_578e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5793: ldc.i4.1
+ IL_5794: stloc.s V_20
+ IL_5796: ldsfld int64 IntrinsicTest::counter64
+ IL_579b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_57a0: beq.s IL_57c3
+
+ IL_57a2: ldstr "counter64 mismatch {0} {1}"
+ IL_57a7: ldsfld int64 IntrinsicTest::counter64
+ IL_57ac: box [mscorlib]System.Int64
+ IL_57b1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_57b6: box [mscorlib]System.Int64
+ IL_57bb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_57c0: ldc.i4.1
+ IL_57c1: stloc.s V_20
+ IL_57c3: ldloc.s V_21
+ IL_57c5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_57ca: ldloc.s V_21
+ IL_57cc: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_57d1: beq.s IL_57f8
+
+ IL_57d3: ldstr "instanceCounter mismatch {0} {1}"
+ IL_57d8: ldloc.s V_21
+ IL_57da: ldfld int32 IntrinsicTest::instanceCounter
+ IL_57df: box [mscorlib]System.Int32
+ IL_57e4: ldloc.s V_21
+ IL_57e6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_57eb: box [mscorlib]System.Int32
+ IL_57f0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_57f5: ldc.i4.1
+ IL_57f6: stloc.s V_20
+ IL_57f8: ldloc.s V_21
+ IL_57fa: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_57ff: ldloc.s V_21
+ IL_5801: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5806: beq.s IL_582d
+
+ IL_5808: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_580d: ldloc.s V_21
+ IL_580f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5814: box [mscorlib]System.Int64
+ IL_5819: ldloc.s V_21
+ IL_581b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5820: box [mscorlib]System.Int64
+ IL_5825: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_582a: ldc.i4.1
+ IL_582b: stloc.s V_20
+ IL_582d: ldsfld int64 IntrinsicTest::temp
+ IL_5832: ldsfld int64 IntrinsicTest::idmp
+ IL_5837: beq.s IL_585a
+
+ IL_5839: ldstr "temp mismatch {0} {1}"
+ IL_583e: ldsfld int64 IntrinsicTest::temp
+ IL_5843: box [mscorlib]System.Int64
+ IL_5848: ldsfld int64 IntrinsicTest::idmp
+ IL_584d: box [mscorlib]System.Int64
+ IL_5852: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5857: ldc.i4.1
+ IL_5858: stloc.s V_20
+ IL_585a: ldsflda int64 IntrinsicTest::counter64
+ IL_585f: ldsfld int64 IntrinsicTest::counter64
+ IL_5864: ldloc.s V_5
+ IL_5866: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_586b: stloc.s V_4
+ IL_586d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5872: stloc.s V_14
+ IL_5874: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5879: ldloc.s V_15
+ IL_587b: bne.un.s IL_5889
+
+ IL_587d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5882: stsfld int64 IntrinsicTest::id_counter64
+ IL_5887: br.s IL_5893
+
+ IL_5889: ldsfld int64 IntrinsicTest::id_counter64
+ IL_588e: stsfld int64 IntrinsicTest::idjunk
+ IL_5893: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 0"
+ IL_5898: call void [System.Console]System.Console::WriteLine(string)
+ IL_589d: ldloc.0
+ IL_589e: ldloc.s V_10
+ IL_58a0: beq.s IL_58bc
+
+ IL_58a2: ldc.i4.1
+ IL_58a3: stloc.s V_20
+ IL_58a5: ldstr "te0 check failed {0} {1}"
+ IL_58aa: ldloc.0
+ IL_58ab: box [mscorlib]System.Int32
+ IL_58b0: ldloc.s V_10
+ IL_58b2: box [mscorlib]System.Int32
+ IL_58b7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58bc: ldloc.1
+ IL_58bd: ldloc.s V_11
+ IL_58bf: beq.s IL_58db
+
+ IL_58c1: ldc.i4.1
+ IL_58c2: stloc.s V_20
+ IL_58c4: ldstr "te1 check failed {0} {1}"
+ IL_58c9: ldloc.1
+ IL_58ca: box [mscorlib]System.Int32
+ IL_58cf: ldloc.s V_11
+ IL_58d1: box [mscorlib]System.Int32
+ IL_58d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58db: ldloc.2
+ IL_58dc: ldloc.s V_12
+ IL_58de: beq.s IL_58fa
+
+ IL_58e0: ldc.i4.1
+ IL_58e1: stloc.s V_20
+ IL_58e3: ldstr "te2 check failed {0} {1}"
+ IL_58e8: ldloc.2
+ IL_58e9: box [mscorlib]System.Int32
+ IL_58ee: ldloc.s V_12
+ IL_58f0: box [mscorlib]System.Int32
+ IL_58f5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58fa: ldloc.3
+ IL_58fb: ldloc.s V_13
+ IL_58fd: beq.s IL_5919
+
+ IL_58ff: ldc.i4.1
+ IL_5900: stloc.s V_20
+ IL_5902: ldstr "te3 check failed {0} {1}"
+ IL_5907: ldloc.3
+ IL_5908: box [mscorlib]System.Int32
+ IL_590d: ldloc.s V_13
+ IL_590f: box [mscorlib]System.Int32
+ IL_5914: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5919: ldloc.s V_4
+ IL_591b: ldloc.s V_14
+ IL_591d: beq.s IL_593a
+
+ IL_591f: ldc.i4.1
+ IL_5920: stloc.s V_20
+ IL_5922: ldstr "te064 check failed {0} {1}"
+ IL_5927: ldloc.s V_4
+ IL_5929: box [mscorlib]System.Int64
+ IL_592e: ldloc.s V_14
+ IL_5930: box [mscorlib]System.Int64
+ IL_5935: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_593a: ldloc.s V_5
+ IL_593c: ldloc.s V_15
+ IL_593e: beq.s IL_595b
+
+ IL_5940: ldc.i4.1
+ IL_5941: stloc.s V_20
+ IL_5943: ldstr "te164 check failed {0} {1}"
+ IL_5948: ldloc.s V_5
+ IL_594a: box [mscorlib]System.Int64
+ IL_594f: ldloc.s V_15
+ IL_5951: box [mscorlib]System.Int64
+ IL_5956: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_595b: ldloc.s V_6
+ IL_595d: ldloc.s V_16
+ IL_595f: beq.s IL_597c
+
+ IL_5961: ldc.i4.1
+ IL_5962: stloc.s V_20
+ IL_5964: ldstr "te264 check failed {0} {1}"
+ IL_5969: ldloc.s V_6
+ IL_596b: box [mscorlib]System.Int64
+ IL_5970: ldloc.s V_16
+ IL_5972: box [mscorlib]System.Int64
+ IL_5977: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_597c: ldloc.s V_7
+ IL_597e: ldloc.s V_17
+ IL_5980: beq.s IL_599d
+
+ IL_5982: ldc.i4.1
+ IL_5983: stloc.s V_20
+ IL_5985: ldstr "te364 check failed {0} {1}"
+ IL_598a: ldloc.s V_7
+ IL_598c: box [mscorlib]System.Int64
+ IL_5991: ldloc.s V_17
+ IL_5993: box [mscorlib]System.Int64
+ IL_5998: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_599d: ldloc.s V_8
+ IL_599f: ldloc.s V_18
+ IL_59a1: beq.s IL_59be
+
+ IL_59a3: ldc.i4.1
+ IL_59a4: stloc.s V_20
+ IL_59a6: ldstr "dummy check failed {0} {1}"
+ IL_59ab: ldloc.s V_8
+ IL_59ad: box [mscorlib]System.Int32
+ IL_59b2: ldloc.s V_18
+ IL_59b4: box [mscorlib]System.Int32
+ IL_59b9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_59be: ldloc.s V_9
+ IL_59c0: ldloc.s V_19
+ IL_59c2: beq.s IL_59df
+
+ IL_59c4: ldc.i4.1
+ IL_59c5: stloc.s V_20
+ IL_59c7: ldstr "dummy64 check failed {0} {1}"
+ IL_59cc: ldloc.s V_9
+ IL_59ce: box [mscorlib]System.Int64
+ IL_59d3: ldloc.s V_19
+ IL_59d5: box [mscorlib]System.Int64
+ IL_59da: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_59df: ldsfld int32 IntrinsicTest::counter
+ IL_59e4: ldsfld int32 IntrinsicTest::id_counter
+ IL_59e9: beq.s IL_5a0c
+
+ IL_59eb: ldstr "counter mismatch {0} {1}"
+ IL_59f0: ldsfld int32 IntrinsicTest::counter
+ IL_59f5: box [mscorlib]System.Int32
+ IL_59fa: ldsfld int32 IntrinsicTest::id_counter
+ IL_59ff: box [mscorlib]System.Int32
+ IL_5a04: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a09: ldc.i4.1
+ IL_5a0a: stloc.s V_20
+ IL_5a0c: ldsfld int64 IntrinsicTest::counter64
+ IL_5a11: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5a16: beq.s IL_5a39
+
+ IL_5a18: ldstr "counter64 mismatch {0} {1}"
+ IL_5a1d: ldsfld int64 IntrinsicTest::counter64
+ IL_5a22: box [mscorlib]System.Int64
+ IL_5a27: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5a2c: box [mscorlib]System.Int64
+ IL_5a31: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a36: ldc.i4.1
+ IL_5a37: stloc.s V_20
+ IL_5a39: ldloc.s V_21
+ IL_5a3b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5a40: ldloc.s V_21
+ IL_5a42: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5a47: beq.s IL_5a6e
+
+ IL_5a49: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5a4e: ldloc.s V_21
+ IL_5a50: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5a55: box [mscorlib]System.Int32
+ IL_5a5a: ldloc.s V_21
+ IL_5a5c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5a61: box [mscorlib]System.Int32
+ IL_5a66: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a6b: ldc.i4.1
+ IL_5a6c: stloc.s V_20
+ IL_5a6e: ldloc.s V_21
+ IL_5a70: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5a75: ldloc.s V_21
+ IL_5a77: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5a7c: beq.s IL_5aa3
+
+ IL_5a7e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5a83: ldloc.s V_21
+ IL_5a85: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5a8a: box [mscorlib]System.Int64
+ IL_5a8f: ldloc.s V_21
+ IL_5a91: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5a96: box [mscorlib]System.Int64
+ IL_5a9b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5aa0: ldc.i4.1
+ IL_5aa1: stloc.s V_20
+ IL_5aa3: ldsfld int64 IntrinsicTest::temp
+ IL_5aa8: ldsfld int64 IntrinsicTest::idmp
+ IL_5aad: beq.s IL_5ad0
+
+ IL_5aaf: ldstr "temp mismatch {0} {1}"
+ IL_5ab4: ldsfld int64 IntrinsicTest::temp
+ IL_5ab9: box [mscorlib]System.Int64
+ IL_5abe: ldsfld int64 IntrinsicTest::idmp
+ IL_5ac3: box [mscorlib]System.Int64
+ IL_5ac8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5acd: ldc.i4.1
+ IL_5ace: stloc.s V_20
+ IL_5ad0: ldsflda int64 IntrinsicTest::counter64
+ IL_5ad5: ldsfld int64 IntrinsicTest::counter64
+ IL_5ada: ldloc.s V_5
+ IL_5adc: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_5ae1: stsfld int64 IntrinsicTest::counter64
+ IL_5ae6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5aeb: stsfld int64 IntrinsicTest::id_counter64
+ IL_5af0: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5af5: ldloc.s V_15
+ IL_5af7: bne.un.s IL_5b05
+
+ IL_5af9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5afe: stsfld int64 IntrinsicTest::idjunk
+ IL_5b03: br.s IL_5b0f
+
+ IL_5b05: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5b0a: stsfld int64 IntrinsicTest::idjunk
+ IL_5b0f: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 1"
+ IL_5b14: call void [System.Console]System.Console::WriteLine(string)
+ IL_5b19: ldloc.0
+ IL_5b1a: ldloc.s V_10
+ IL_5b1c: beq.s IL_5b38
+
+ IL_5b1e: ldc.i4.1
+ IL_5b1f: stloc.s V_20
+ IL_5b21: ldstr "te0 check failed {0} {1}"
+ IL_5b26: ldloc.0
+ IL_5b27: box [mscorlib]System.Int32
+ IL_5b2c: ldloc.s V_10
+ IL_5b2e: box [mscorlib]System.Int32
+ IL_5b33: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b38: ldloc.1
+ IL_5b39: ldloc.s V_11
+ IL_5b3b: beq.s IL_5b57
+
+ IL_5b3d: ldc.i4.1
+ IL_5b3e: stloc.s V_20
+ IL_5b40: ldstr "te1 check failed {0} {1}"
+ IL_5b45: ldloc.1
+ IL_5b46: box [mscorlib]System.Int32
+ IL_5b4b: ldloc.s V_11
+ IL_5b4d: box [mscorlib]System.Int32
+ IL_5b52: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b57: ldloc.2
+ IL_5b58: ldloc.s V_12
+ IL_5b5a: beq.s IL_5b76
+
+ IL_5b5c: ldc.i4.1
+ IL_5b5d: stloc.s V_20
+ IL_5b5f: ldstr "te2 check failed {0} {1}"
+ IL_5b64: ldloc.2
+ IL_5b65: box [mscorlib]System.Int32
+ IL_5b6a: ldloc.s V_12
+ IL_5b6c: box [mscorlib]System.Int32
+ IL_5b71: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b76: ldloc.3
+ IL_5b77: ldloc.s V_13
+ IL_5b79: beq.s IL_5b95
+
+ IL_5b7b: ldc.i4.1
+ IL_5b7c: stloc.s V_20
+ IL_5b7e: ldstr "te3 check failed {0} {1}"
+ IL_5b83: ldloc.3
+ IL_5b84: box [mscorlib]System.Int32
+ IL_5b89: ldloc.s V_13
+ IL_5b8b: box [mscorlib]System.Int32
+ IL_5b90: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b95: ldloc.s V_4
+ IL_5b97: ldloc.s V_14
+ IL_5b99: beq.s IL_5bb6
+
+ IL_5b9b: ldc.i4.1
+ IL_5b9c: stloc.s V_20
+ IL_5b9e: ldstr "te064 check failed {0} {1}"
+ IL_5ba3: ldloc.s V_4
+ IL_5ba5: box [mscorlib]System.Int64
+ IL_5baa: ldloc.s V_14
+ IL_5bac: box [mscorlib]System.Int64
+ IL_5bb1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bb6: ldloc.s V_5
+ IL_5bb8: ldloc.s V_15
+ IL_5bba: beq.s IL_5bd7
+
+ IL_5bbc: ldc.i4.1
+ IL_5bbd: stloc.s V_20
+ IL_5bbf: ldstr "te164 check failed {0} {1}"
+ IL_5bc4: ldloc.s V_5
+ IL_5bc6: box [mscorlib]System.Int64
+ IL_5bcb: ldloc.s V_15
+ IL_5bcd: box [mscorlib]System.Int64
+ IL_5bd2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bd7: ldloc.s V_6
+ IL_5bd9: ldloc.s V_16
+ IL_5bdb: beq.s IL_5bf8
+
+ IL_5bdd: ldc.i4.1
+ IL_5bde: stloc.s V_20
+ IL_5be0: ldstr "te264 check failed {0} {1}"
+ IL_5be5: ldloc.s V_6
+ IL_5be7: box [mscorlib]System.Int64
+ IL_5bec: ldloc.s V_16
+ IL_5bee: box [mscorlib]System.Int64
+ IL_5bf3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bf8: ldloc.s V_7
+ IL_5bfa: ldloc.s V_17
+ IL_5bfc: beq.s IL_5c19
+
+ IL_5bfe: ldc.i4.1
+ IL_5bff: stloc.s V_20
+ IL_5c01: ldstr "te364 check failed {0} {1}"
+ IL_5c06: ldloc.s V_7
+ IL_5c08: box [mscorlib]System.Int64
+ IL_5c0d: ldloc.s V_17
+ IL_5c0f: box [mscorlib]System.Int64
+ IL_5c14: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c19: ldloc.s V_8
+ IL_5c1b: ldloc.s V_18
+ IL_5c1d: beq.s IL_5c3a
+
+ IL_5c1f: ldc.i4.1
+ IL_5c20: stloc.s V_20
+ IL_5c22: ldstr "dummy check failed {0} {1}"
+ IL_5c27: ldloc.s V_8
+ IL_5c29: box [mscorlib]System.Int32
+ IL_5c2e: ldloc.s V_18
+ IL_5c30: box [mscorlib]System.Int32
+ IL_5c35: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c3a: ldloc.s V_9
+ IL_5c3c: ldloc.s V_19
+ IL_5c3e: beq.s IL_5c5b
+
+ IL_5c40: ldc.i4.1
+ IL_5c41: stloc.s V_20
+ IL_5c43: ldstr "dummy64 check failed {0} {1}"
+ IL_5c48: ldloc.s V_9
+ IL_5c4a: box [mscorlib]System.Int64
+ IL_5c4f: ldloc.s V_19
+ IL_5c51: box [mscorlib]System.Int64
+ IL_5c56: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c5b: ldsfld int32 IntrinsicTest::counter
+ IL_5c60: ldsfld int32 IntrinsicTest::id_counter
+ IL_5c65: beq.s IL_5c88
+
+ IL_5c67: ldstr "counter mismatch {0} {1}"
+ IL_5c6c: ldsfld int32 IntrinsicTest::counter
+ IL_5c71: box [mscorlib]System.Int32
+ IL_5c76: ldsfld int32 IntrinsicTest::id_counter
+ IL_5c7b: box [mscorlib]System.Int32
+ IL_5c80: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c85: ldc.i4.1
+ IL_5c86: stloc.s V_20
+ IL_5c88: ldsfld int64 IntrinsicTest::counter64
+ IL_5c8d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5c92: beq.s IL_5cb5
+
+ IL_5c94: ldstr "counter64 mismatch {0} {1}"
+ IL_5c99: ldsfld int64 IntrinsicTest::counter64
+ IL_5c9e: box [mscorlib]System.Int64
+ IL_5ca3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5ca8: box [mscorlib]System.Int64
+ IL_5cad: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5cb2: ldc.i4.1
+ IL_5cb3: stloc.s V_20
+ IL_5cb5: ldloc.s V_21
+ IL_5cb7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5cbc: ldloc.s V_21
+ IL_5cbe: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5cc3: beq.s IL_5cea
+
+ IL_5cc5: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5cca: ldloc.s V_21
+ IL_5ccc: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5cd1: box [mscorlib]System.Int32
+ IL_5cd6: ldloc.s V_21
+ IL_5cd8: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5cdd: box [mscorlib]System.Int32
+ IL_5ce2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5ce7: ldc.i4.1
+ IL_5ce8: stloc.s V_20
+ IL_5cea: ldloc.s V_21
+ IL_5cec: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5cf1: ldloc.s V_21
+ IL_5cf3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5cf8: beq.s IL_5d1f
+
+ IL_5cfa: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5cff: ldloc.s V_21
+ IL_5d01: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5d06: box [mscorlib]System.Int64
+ IL_5d0b: ldloc.s V_21
+ IL_5d0d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5d12: box [mscorlib]System.Int64
+ IL_5d17: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5d1c: ldc.i4.1
+ IL_5d1d: stloc.s V_20
+ IL_5d1f: ldsfld int64 IntrinsicTest::temp
+ IL_5d24: ldsfld int64 IntrinsicTest::idmp
+ IL_5d29: beq.s IL_5d4c
+
+ IL_5d2b: ldstr "temp mismatch {0} {1}"
+ IL_5d30: ldsfld int64 IntrinsicTest::temp
+ IL_5d35: box [mscorlib]System.Int64
+ IL_5d3a: ldsfld int64 IntrinsicTest::idmp
+ IL_5d3f: box [mscorlib]System.Int64
+ IL_5d44: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5d49: ldc.i4.1
+ IL_5d4a: stloc.s V_20
+ IL_5d4c: ldloc.s V_21
+ IL_5d4e: ldsflda int64 IntrinsicTest::counter64
+ IL_5d53: ldsfld int64 IntrinsicTest::counter64
+ IL_5d58: ldloc.s V_5
+ IL_5d5a: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_5d5f: stfld int64 IntrinsicTest::instanceCounter64
+ IL_5d64: ldloc.s V_21
+ IL_5d66: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5d6b: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5d70: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5d75: ldloc.s V_15
+ IL_5d77: bne.un.s IL_5d85
+
+ IL_5d79: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5d7e: stsfld int64 IntrinsicTest::id_counter64
+ IL_5d83: br.s IL_5d8f
+
+ IL_5d85: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5d8a: stsfld int64 IntrinsicTest::idjunk
+ IL_5d8f: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 2"
+ IL_5d94: call void [System.Console]System.Console::WriteLine(string)
+ IL_5d99: ldloc.0
+ IL_5d9a: ldloc.s V_10
+ IL_5d9c: beq.s IL_5db8
+
+ IL_5d9e: ldc.i4.1
+ IL_5d9f: stloc.s V_20
+ IL_5da1: ldstr "te0 check failed {0} {1}"
+ IL_5da6: ldloc.0
+ IL_5da7: box [mscorlib]System.Int32
+ IL_5dac: ldloc.s V_10
+ IL_5dae: box [mscorlib]System.Int32
+ IL_5db3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5db8: ldloc.1
+ IL_5db9: ldloc.s V_11
+ IL_5dbb: beq.s IL_5dd7
+
+ IL_5dbd: ldc.i4.1
+ IL_5dbe: stloc.s V_20
+ IL_5dc0: ldstr "te1 check failed {0} {1}"
+ IL_5dc5: ldloc.1
+ IL_5dc6: box [mscorlib]System.Int32
+ IL_5dcb: ldloc.s V_11
+ IL_5dcd: box [mscorlib]System.Int32
+ IL_5dd2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5dd7: ldloc.2
+ IL_5dd8: ldloc.s V_12
+ IL_5dda: beq.s IL_5df6
+
+ IL_5ddc: ldc.i4.1
+ IL_5ddd: stloc.s V_20
+ IL_5ddf: ldstr "te2 check failed {0} {1}"
+ IL_5de4: ldloc.2
+ IL_5de5: box [mscorlib]System.Int32
+ IL_5dea: ldloc.s V_12
+ IL_5dec: box [mscorlib]System.Int32
+ IL_5df1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5df6: ldloc.3
+ IL_5df7: ldloc.s V_13
+ IL_5df9: beq.s IL_5e15
+
+ IL_5dfb: ldc.i4.1
+ IL_5dfc: stloc.s V_20
+ IL_5dfe: ldstr "te3 check failed {0} {1}"
+ IL_5e03: ldloc.3
+ IL_5e04: box [mscorlib]System.Int32
+ IL_5e09: ldloc.s V_13
+ IL_5e0b: box [mscorlib]System.Int32
+ IL_5e10: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e15: ldloc.s V_4
+ IL_5e17: ldloc.s V_14
+ IL_5e19: beq.s IL_5e36
+
+ IL_5e1b: ldc.i4.1
+ IL_5e1c: stloc.s V_20
+ IL_5e1e: ldstr "te064 check failed {0} {1}"
+ IL_5e23: ldloc.s V_4
+ IL_5e25: box [mscorlib]System.Int64
+ IL_5e2a: ldloc.s V_14
+ IL_5e2c: box [mscorlib]System.Int64
+ IL_5e31: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e36: ldloc.s V_5
+ IL_5e38: ldloc.s V_15
+ IL_5e3a: beq.s IL_5e57
+
+ IL_5e3c: ldc.i4.1
+ IL_5e3d: stloc.s V_20
+ IL_5e3f: ldstr "te164 check failed {0} {1}"
+ IL_5e44: ldloc.s V_5
+ IL_5e46: box [mscorlib]System.Int64
+ IL_5e4b: ldloc.s V_15
+ IL_5e4d: box [mscorlib]System.Int64
+ IL_5e52: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e57: ldloc.s V_6
+ IL_5e59: ldloc.s V_16
+ IL_5e5b: beq.s IL_5e78
+
+ IL_5e5d: ldc.i4.1
+ IL_5e5e: stloc.s V_20
+ IL_5e60: ldstr "te264 check failed {0} {1}"
+ IL_5e65: ldloc.s V_6
+ IL_5e67: box [mscorlib]System.Int64
+ IL_5e6c: ldloc.s V_16
+ IL_5e6e: box [mscorlib]System.Int64
+ IL_5e73: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e78: ldloc.s V_7
+ IL_5e7a: ldloc.s V_17
+ IL_5e7c: beq.s IL_5e99
+
+ IL_5e7e: ldc.i4.1
+ IL_5e7f: stloc.s V_20
+ IL_5e81: ldstr "te364 check failed {0} {1}"
+ IL_5e86: ldloc.s V_7
+ IL_5e88: box [mscorlib]System.Int64
+ IL_5e8d: ldloc.s V_17
+ IL_5e8f: box [mscorlib]System.Int64
+ IL_5e94: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e99: ldloc.s V_8
+ IL_5e9b: ldloc.s V_18
+ IL_5e9d: beq.s IL_5eba
+
+ IL_5e9f: ldc.i4.1
+ IL_5ea0: stloc.s V_20
+ IL_5ea2: ldstr "dummy check failed {0} {1}"
+ IL_5ea7: ldloc.s V_8
+ IL_5ea9: box [mscorlib]System.Int32
+ IL_5eae: ldloc.s V_18
+ IL_5eb0: box [mscorlib]System.Int32
+ IL_5eb5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5eba: ldloc.s V_9
+ IL_5ebc: ldloc.s V_19
+ IL_5ebe: beq.s IL_5edb
+
+ IL_5ec0: ldc.i4.1
+ IL_5ec1: stloc.s V_20
+ IL_5ec3: ldstr "dummy64 check failed {0} {1}"
+ IL_5ec8: ldloc.s V_9
+ IL_5eca: box [mscorlib]System.Int64
+ IL_5ecf: ldloc.s V_19
+ IL_5ed1: box [mscorlib]System.Int64
+ IL_5ed6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5edb: ldsfld int32 IntrinsicTest::counter
+ IL_5ee0: ldsfld int32 IntrinsicTest::id_counter
+ IL_5ee5: beq.s IL_5f08
+
+ IL_5ee7: ldstr "counter mismatch {0} {1}"
+ IL_5eec: ldsfld int32 IntrinsicTest::counter
+ IL_5ef1: box [mscorlib]System.Int32
+ IL_5ef6: ldsfld int32 IntrinsicTest::id_counter
+ IL_5efb: box [mscorlib]System.Int32
+ IL_5f00: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f05: ldc.i4.1
+ IL_5f06: stloc.s V_20
+ IL_5f08: ldsfld int64 IntrinsicTest::counter64
+ IL_5f0d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5f12: beq.s IL_5f35
+
+ IL_5f14: ldstr "counter64 mismatch {0} {1}"
+ IL_5f19: ldsfld int64 IntrinsicTest::counter64
+ IL_5f1e: box [mscorlib]System.Int64
+ IL_5f23: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5f28: box [mscorlib]System.Int64
+ IL_5f2d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f32: ldc.i4.1
+ IL_5f33: stloc.s V_20
+ IL_5f35: ldloc.s V_21
+ IL_5f37: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5f3c: ldloc.s V_21
+ IL_5f3e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5f43: beq.s IL_5f6a
+
+ IL_5f45: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5f4a: ldloc.s V_21
+ IL_5f4c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5f51: box [mscorlib]System.Int32
+ IL_5f56: ldloc.s V_21
+ IL_5f58: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5f5d: box [mscorlib]System.Int32
+ IL_5f62: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f67: ldc.i4.1
+ IL_5f68: stloc.s V_20
+ IL_5f6a: ldloc.s V_21
+ IL_5f6c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5f71: ldloc.s V_21
+ IL_5f73: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5f78: beq.s IL_5f9f
+
+ IL_5f7a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5f7f: ldloc.s V_21
+ IL_5f81: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5f86: box [mscorlib]System.Int64
+ IL_5f8b: ldloc.s V_21
+ IL_5f8d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5f92: box [mscorlib]System.Int64
+ IL_5f97: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f9c: ldc.i4.1
+ IL_5f9d: stloc.s V_20
+ IL_5f9f: ldsfld int64 IntrinsicTest::temp
+ IL_5fa4: ldsfld int64 IntrinsicTest::idmp
+ IL_5fa9: beq.s IL_5fcc
+
+ IL_5fab: ldstr "temp mismatch {0} {1}"
+ IL_5fb0: ldsfld int64 IntrinsicTest::temp
+ IL_5fb5: box [mscorlib]System.Int64
+ IL_5fba: ldsfld int64 IntrinsicTest::idmp
+ IL_5fbf: box [mscorlib]System.Int64
+ IL_5fc4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5fc9: ldc.i4.1
+ IL_5fca: stloc.s V_20
+ IL_5fcc: ldsflda int64 IntrinsicTest::counter64
+ IL_5fd1: ldsfld int64 IntrinsicTest::counter64
+ IL_5fd6: ldloc.s V_5
+ IL_5fd8: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_5fdd: stloc.s V_4
+ IL_5fdf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5fe4: stloc.s V_14
+ IL_5fe6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5feb: ldloc.s V_15
+ IL_5fed: bne.un.s IL_5ffb
+
+ IL_5fef: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5ff4: stsfld int64 IntrinsicTest::id_counter64
+ IL_5ff9: br.s IL_6005
+
+ IL_5ffb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6000: stsfld int64 IntrinsicTest::idjunk
+ IL_6005: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 3"
+ IL_600a: call void [System.Console]System.Console::WriteLine(string)
+ IL_600f: ldloc.0
+ IL_6010: ldloc.s V_10
+ IL_6012: beq.s IL_602e
+
+ IL_6014: ldc.i4.1
+ IL_6015: stloc.s V_20
+ IL_6017: ldstr "te0 check failed {0} {1}"
+ IL_601c: ldloc.0
+ IL_601d: box [mscorlib]System.Int32
+ IL_6022: ldloc.s V_10
+ IL_6024: box [mscorlib]System.Int32
+ IL_6029: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_602e: ldloc.1
+ IL_602f: ldloc.s V_11
+ IL_6031: beq.s IL_604d
+
+ IL_6033: ldc.i4.1
+ IL_6034: stloc.s V_20
+ IL_6036: ldstr "te1 check failed {0} {1}"
+ IL_603b: ldloc.1
+ IL_603c: box [mscorlib]System.Int32
+ IL_6041: ldloc.s V_11
+ IL_6043: box [mscorlib]System.Int32
+ IL_6048: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_604d: ldloc.2
+ IL_604e: ldloc.s V_12
+ IL_6050: beq.s IL_606c
+
+ IL_6052: ldc.i4.1
+ IL_6053: stloc.s V_20
+ IL_6055: ldstr "te2 check failed {0} {1}"
+ IL_605a: ldloc.2
+ IL_605b: box [mscorlib]System.Int32
+ IL_6060: ldloc.s V_12
+ IL_6062: box [mscorlib]System.Int32
+ IL_6067: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_606c: ldloc.3
+ IL_606d: ldloc.s V_13
+ IL_606f: beq.s IL_608b
+
+ IL_6071: ldc.i4.1
+ IL_6072: stloc.s V_20
+ IL_6074: ldstr "te3 check failed {0} {1}"
+ IL_6079: ldloc.3
+ IL_607a: box [mscorlib]System.Int32
+ IL_607f: ldloc.s V_13
+ IL_6081: box [mscorlib]System.Int32
+ IL_6086: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_608b: ldloc.s V_4
+ IL_608d: ldloc.s V_14
+ IL_608f: beq.s IL_60ac
+
+ IL_6091: ldc.i4.1
+ IL_6092: stloc.s V_20
+ IL_6094: ldstr "te064 check failed {0} {1}"
+ IL_6099: ldloc.s V_4
+ IL_609b: box [mscorlib]System.Int64
+ IL_60a0: ldloc.s V_14
+ IL_60a2: box [mscorlib]System.Int64
+ IL_60a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60ac: ldloc.s V_5
+ IL_60ae: ldloc.s V_15
+ IL_60b0: beq.s IL_60cd
+
+ IL_60b2: ldc.i4.1
+ IL_60b3: stloc.s V_20
+ IL_60b5: ldstr "te164 check failed {0} {1}"
+ IL_60ba: ldloc.s V_5
+ IL_60bc: box [mscorlib]System.Int64
+ IL_60c1: ldloc.s V_15
+ IL_60c3: box [mscorlib]System.Int64
+ IL_60c8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60cd: ldloc.s V_6
+ IL_60cf: ldloc.s V_16
+ IL_60d1: beq.s IL_60ee
+
+ IL_60d3: ldc.i4.1
+ IL_60d4: stloc.s V_20
+ IL_60d6: ldstr "te264 check failed {0} {1}"
+ IL_60db: ldloc.s V_6
+ IL_60dd: box [mscorlib]System.Int64
+ IL_60e2: ldloc.s V_16
+ IL_60e4: box [mscorlib]System.Int64
+ IL_60e9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60ee: ldloc.s V_7
+ IL_60f0: ldloc.s V_17
+ IL_60f2: beq.s IL_610f
+
+ IL_60f4: ldc.i4.1
+ IL_60f5: stloc.s V_20
+ IL_60f7: ldstr "te364 check failed {0} {1}"
+ IL_60fc: ldloc.s V_7
+ IL_60fe: box [mscorlib]System.Int64
+ IL_6103: ldloc.s V_17
+ IL_6105: box [mscorlib]System.Int64
+ IL_610a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_610f: ldloc.s V_8
+ IL_6111: ldloc.s V_18
+ IL_6113: beq.s IL_6130
+
+ IL_6115: ldc.i4.1
+ IL_6116: stloc.s V_20
+ IL_6118: ldstr "dummy check failed {0} {1}"
+ IL_611d: ldloc.s V_8
+ IL_611f: box [mscorlib]System.Int32
+ IL_6124: ldloc.s V_18
+ IL_6126: box [mscorlib]System.Int32
+ IL_612b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6130: ldloc.s V_9
+ IL_6132: ldloc.s V_19
+ IL_6134: beq.s IL_6151
+
+ IL_6136: ldc.i4.1
+ IL_6137: stloc.s V_20
+ IL_6139: ldstr "dummy64 check failed {0} {1}"
+ IL_613e: ldloc.s V_9
+ IL_6140: box [mscorlib]System.Int64
+ IL_6145: ldloc.s V_19
+ IL_6147: box [mscorlib]System.Int64
+ IL_614c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6151: ldsfld int32 IntrinsicTest::counter
+ IL_6156: ldsfld int32 IntrinsicTest::id_counter
+ IL_615b: beq.s IL_617e
+
+ IL_615d: ldstr "counter mismatch {0} {1}"
+ IL_6162: ldsfld int32 IntrinsicTest::counter
+ IL_6167: box [mscorlib]System.Int32
+ IL_616c: ldsfld int32 IntrinsicTest::id_counter
+ IL_6171: box [mscorlib]System.Int32
+ IL_6176: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_617b: ldc.i4.1
+ IL_617c: stloc.s V_20
+ IL_617e: ldsfld int64 IntrinsicTest::counter64
+ IL_6183: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6188: beq.s IL_61ab
+
+ IL_618a: ldstr "counter64 mismatch {0} {1}"
+ IL_618f: ldsfld int64 IntrinsicTest::counter64
+ IL_6194: box [mscorlib]System.Int64
+ IL_6199: ldsfld int64 IntrinsicTest::id_counter64
+ IL_619e: box [mscorlib]System.Int64
+ IL_61a3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_61a8: ldc.i4.1
+ IL_61a9: stloc.s V_20
+ IL_61ab: ldloc.s V_21
+ IL_61ad: ldfld int32 IntrinsicTest::instanceCounter
+ IL_61b2: ldloc.s V_21
+ IL_61b4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_61b9: beq.s IL_61e0
+
+ IL_61bb: ldstr "instanceCounter mismatch {0} {1}"
+ IL_61c0: ldloc.s V_21
+ IL_61c2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_61c7: box [mscorlib]System.Int32
+ IL_61cc: ldloc.s V_21
+ IL_61ce: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_61d3: box [mscorlib]System.Int32
+ IL_61d8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_61dd: ldc.i4.1
+ IL_61de: stloc.s V_20
+ IL_61e0: ldloc.s V_21
+ IL_61e2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_61e7: ldloc.s V_21
+ IL_61e9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_61ee: beq.s IL_6215
+
+ IL_61f0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_61f5: ldloc.s V_21
+ IL_61f7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_61fc: box [mscorlib]System.Int64
+ IL_6201: ldloc.s V_21
+ IL_6203: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6208: box [mscorlib]System.Int64
+ IL_620d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6212: ldc.i4.1
+ IL_6213: stloc.s V_20
+ IL_6215: ldsfld int64 IntrinsicTest::temp
+ IL_621a: ldsfld int64 IntrinsicTest::idmp
+ IL_621f: beq.s IL_6242
+
+ IL_6221: ldstr "temp mismatch {0} {1}"
+ IL_6226: ldsfld int64 IntrinsicTest::temp
+ IL_622b: box [mscorlib]System.Int64
+ IL_6230: ldsfld int64 IntrinsicTest::idmp
+ IL_6235: box [mscorlib]System.Int64
+ IL_623a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_623f: ldc.i4.1
+ IL_6240: stloc.s V_20
+ IL_6242: ldsflda int64 IntrinsicTest::counter64
+ IL_6247: ldsfld int64 IntrinsicTest::counter64
+ IL_624c: ldloc.s V_5
+ IL_624e: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_6253: stsfld int64 IntrinsicTest::counter64
+ IL_6258: ldsfld int64 IntrinsicTest::id_counter64
+ IL_625d: stsfld int64 IntrinsicTest::id_counter64
+ IL_6262: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6267: ldloc.s V_15
+ IL_6269: bne.un.s IL_6277
+
+ IL_626b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6270: stsfld int64 IntrinsicTest::idjunk
+ IL_6275: br.s IL_6281
+
+ IL_6277: ldsfld int64 IntrinsicTest::id_counter64
+ IL_627c: stsfld int64 IntrinsicTest::idjunk
+ IL_6281: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 4"
+ IL_6286: call void [System.Console]System.Console::WriteLine(string)
+ IL_628b: ldloc.0
+ IL_628c: ldloc.s V_10
+ IL_628e: beq.s IL_62aa
+
+ IL_6290: ldc.i4.1
+ IL_6291: stloc.s V_20
+ IL_6293: ldstr "te0 check failed {0} {1}"
+ IL_6298: ldloc.0
+ IL_6299: box [mscorlib]System.Int32
+ IL_629e: ldloc.s V_10
+ IL_62a0: box [mscorlib]System.Int32
+ IL_62a5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62aa: ldloc.1
+ IL_62ab: ldloc.s V_11
+ IL_62ad: beq.s IL_62c9
+
+ IL_62af: ldc.i4.1
+ IL_62b0: stloc.s V_20
+ IL_62b2: ldstr "te1 check failed {0} {1}"
+ IL_62b7: ldloc.1
+ IL_62b8: box [mscorlib]System.Int32
+ IL_62bd: ldloc.s V_11
+ IL_62bf: box [mscorlib]System.Int32
+ IL_62c4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62c9: ldloc.2
+ IL_62ca: ldloc.s V_12
+ IL_62cc: beq.s IL_62e8
+
+ IL_62ce: ldc.i4.1
+ IL_62cf: stloc.s V_20
+ IL_62d1: ldstr "te2 check failed {0} {1}"
+ IL_62d6: ldloc.2
+ IL_62d7: box [mscorlib]System.Int32
+ IL_62dc: ldloc.s V_12
+ IL_62de: box [mscorlib]System.Int32
+ IL_62e3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62e8: ldloc.3
+ IL_62e9: ldloc.s V_13
+ IL_62eb: beq.s IL_6307
+
+ IL_62ed: ldc.i4.1
+ IL_62ee: stloc.s V_20
+ IL_62f0: ldstr "te3 check failed {0} {1}"
+ IL_62f5: ldloc.3
+ IL_62f6: box [mscorlib]System.Int32
+ IL_62fb: ldloc.s V_13
+ IL_62fd: box [mscorlib]System.Int32
+ IL_6302: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6307: ldloc.s V_4
+ IL_6309: ldloc.s V_14
+ IL_630b: beq.s IL_6328
+
+ IL_630d: ldc.i4.1
+ IL_630e: stloc.s V_20
+ IL_6310: ldstr "te064 check failed {0} {1}"
+ IL_6315: ldloc.s V_4
+ IL_6317: box [mscorlib]System.Int64
+ IL_631c: ldloc.s V_14
+ IL_631e: box [mscorlib]System.Int64
+ IL_6323: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6328: ldloc.s V_5
+ IL_632a: ldloc.s V_15
+ IL_632c: beq.s IL_6349
+
+ IL_632e: ldc.i4.1
+ IL_632f: stloc.s V_20
+ IL_6331: ldstr "te164 check failed {0} {1}"
+ IL_6336: ldloc.s V_5
+ IL_6338: box [mscorlib]System.Int64
+ IL_633d: ldloc.s V_15
+ IL_633f: box [mscorlib]System.Int64
+ IL_6344: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6349: ldloc.s V_6
+ IL_634b: ldloc.s V_16
+ IL_634d: beq.s IL_636a
+
+ IL_634f: ldc.i4.1
+ IL_6350: stloc.s V_20
+ IL_6352: ldstr "te264 check failed {0} {1}"
+ IL_6357: ldloc.s V_6
+ IL_6359: box [mscorlib]System.Int64
+ IL_635e: ldloc.s V_16
+ IL_6360: box [mscorlib]System.Int64
+ IL_6365: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_636a: ldloc.s V_7
+ IL_636c: ldloc.s V_17
+ IL_636e: beq.s IL_638b
+
+ IL_6370: ldc.i4.1
+ IL_6371: stloc.s V_20
+ IL_6373: ldstr "te364 check failed {0} {1}"
+ IL_6378: ldloc.s V_7
+ IL_637a: box [mscorlib]System.Int64
+ IL_637f: ldloc.s V_17
+ IL_6381: box [mscorlib]System.Int64
+ IL_6386: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_638b: ldloc.s V_8
+ IL_638d: ldloc.s V_18
+ IL_638f: beq.s IL_63ac
+
+ IL_6391: ldc.i4.1
+ IL_6392: stloc.s V_20
+ IL_6394: ldstr "dummy check failed {0} {1}"
+ IL_6399: ldloc.s V_8
+ IL_639b: box [mscorlib]System.Int32
+ IL_63a0: ldloc.s V_18
+ IL_63a2: box [mscorlib]System.Int32
+ IL_63a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63ac: ldloc.s V_9
+ IL_63ae: ldloc.s V_19
+ IL_63b0: beq.s IL_63cd
+
+ IL_63b2: ldc.i4.1
+ IL_63b3: stloc.s V_20
+ IL_63b5: ldstr "dummy64 check failed {0} {1}"
+ IL_63ba: ldloc.s V_9
+ IL_63bc: box [mscorlib]System.Int64
+ IL_63c1: ldloc.s V_19
+ IL_63c3: box [mscorlib]System.Int64
+ IL_63c8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63cd: ldsfld int32 IntrinsicTest::counter
+ IL_63d2: ldsfld int32 IntrinsicTest::id_counter
+ IL_63d7: beq.s IL_63fa
+
+ IL_63d9: ldstr "counter mismatch {0} {1}"
+ IL_63de: ldsfld int32 IntrinsicTest::counter
+ IL_63e3: box [mscorlib]System.Int32
+ IL_63e8: ldsfld int32 IntrinsicTest::id_counter
+ IL_63ed: box [mscorlib]System.Int32
+ IL_63f2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63f7: ldc.i4.1
+ IL_63f8: stloc.s V_20
+ IL_63fa: ldsfld int64 IntrinsicTest::counter64
+ IL_63ff: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6404: beq.s IL_6427
+
+ IL_6406: ldstr "counter64 mismatch {0} {1}"
+ IL_640b: ldsfld int64 IntrinsicTest::counter64
+ IL_6410: box [mscorlib]System.Int64
+ IL_6415: ldsfld int64 IntrinsicTest::id_counter64
+ IL_641a: box [mscorlib]System.Int64
+ IL_641f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6424: ldc.i4.1
+ IL_6425: stloc.s V_20
+ IL_6427: ldloc.s V_21
+ IL_6429: ldfld int32 IntrinsicTest::instanceCounter
+ IL_642e: ldloc.s V_21
+ IL_6430: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6435: beq.s IL_645c
+
+ IL_6437: ldstr "instanceCounter mismatch {0} {1}"
+ IL_643c: ldloc.s V_21
+ IL_643e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6443: box [mscorlib]System.Int32
+ IL_6448: ldloc.s V_21
+ IL_644a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_644f: box [mscorlib]System.Int32
+ IL_6454: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6459: ldc.i4.1
+ IL_645a: stloc.s V_20
+ IL_645c: ldloc.s V_21
+ IL_645e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6463: ldloc.s V_21
+ IL_6465: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_646a: beq.s IL_6491
+
+ IL_646c: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6471: ldloc.s V_21
+ IL_6473: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6478: box [mscorlib]System.Int64
+ IL_647d: ldloc.s V_21
+ IL_647f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6484: box [mscorlib]System.Int64
+ IL_6489: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_648e: ldc.i4.1
+ IL_648f: stloc.s V_20
+ IL_6491: ldsfld int64 IntrinsicTest::temp
+ IL_6496: ldsfld int64 IntrinsicTest::idmp
+ IL_649b: beq.s IL_64be
+
+ IL_649d: ldstr "temp mismatch {0} {1}"
+ IL_64a2: ldsfld int64 IntrinsicTest::temp
+ IL_64a7: box [mscorlib]System.Int64
+ IL_64ac: ldsfld int64 IntrinsicTest::idmp
+ IL_64b1: box [mscorlib]System.Int64
+ IL_64b6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_64bb: ldc.i4.1
+ IL_64bc: stloc.s V_20
+ IL_64be: ldloc.s V_21
+ IL_64c0: ldsflda int64 IntrinsicTest::counter64
+ IL_64c5: ldsfld int64 IntrinsicTest::counter64
+ IL_64ca: ldloc.s V_5
+ IL_64cc: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_64d1: stfld int64 IntrinsicTest::instanceCounter64
+ IL_64d6: ldloc.s V_21
+ IL_64d8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_64dd: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_64e2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_64e7: ldloc.s V_15
+ IL_64e9: bne.un.s IL_64f7
+
+ IL_64eb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_64f0: stsfld int64 IntrinsicTest::id_counter64
+ IL_64f5: br.s IL_6501
+
+ IL_64f7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_64fc: stsfld int64 IntrinsicTest::idjunk
+ IL_6501: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 5"
+ IL_6506: call void [System.Console]System.Console::WriteLine(string)
+ IL_650b: ldloc.0
+ IL_650c: ldloc.s V_10
+ IL_650e: beq.s IL_652a
+
+ IL_6510: ldc.i4.1
+ IL_6511: stloc.s V_20
+ IL_6513: ldstr "te0 check failed {0} {1}"
+ IL_6518: ldloc.0
+ IL_6519: box [mscorlib]System.Int32
+ IL_651e: ldloc.s V_10
+ IL_6520: box [mscorlib]System.Int32
+ IL_6525: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_652a: ldloc.1
+ IL_652b: ldloc.s V_11
+ IL_652d: beq.s IL_6549
+
+ IL_652f: ldc.i4.1
+ IL_6530: stloc.s V_20
+ IL_6532: ldstr "te1 check failed {0} {1}"
+ IL_6537: ldloc.1
+ IL_6538: box [mscorlib]System.Int32
+ IL_653d: ldloc.s V_11
+ IL_653f: box [mscorlib]System.Int32
+ IL_6544: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6549: ldloc.2
+ IL_654a: ldloc.s V_12
+ IL_654c: beq.s IL_6568
+
+ IL_654e: ldc.i4.1
+ IL_654f: stloc.s V_20
+ IL_6551: ldstr "te2 check failed {0} {1}"
+ IL_6556: ldloc.2
+ IL_6557: box [mscorlib]System.Int32
+ IL_655c: ldloc.s V_12
+ IL_655e: box [mscorlib]System.Int32
+ IL_6563: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6568: ldloc.3
+ IL_6569: ldloc.s V_13
+ IL_656b: beq.s IL_6587
+
+ IL_656d: ldc.i4.1
+ IL_656e: stloc.s V_20
+ IL_6570: ldstr "te3 check failed {0} {1}"
+ IL_6575: ldloc.3
+ IL_6576: box [mscorlib]System.Int32
+ IL_657b: ldloc.s V_13
+ IL_657d: box [mscorlib]System.Int32
+ IL_6582: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6587: ldloc.s V_4
+ IL_6589: ldloc.s V_14
+ IL_658b: beq.s IL_65a8
+
+ IL_658d: ldc.i4.1
+ IL_658e: stloc.s V_20
+ IL_6590: ldstr "te064 check failed {0} {1}"
+ IL_6595: ldloc.s V_4
+ IL_6597: box [mscorlib]System.Int64
+ IL_659c: ldloc.s V_14
+ IL_659e: box [mscorlib]System.Int64
+ IL_65a3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65a8: ldloc.s V_5
+ IL_65aa: ldloc.s V_15
+ IL_65ac: beq.s IL_65c9
+
+ IL_65ae: ldc.i4.1
+ IL_65af: stloc.s V_20
+ IL_65b1: ldstr "te164 check failed {0} {1}"
+ IL_65b6: ldloc.s V_5
+ IL_65b8: box [mscorlib]System.Int64
+ IL_65bd: ldloc.s V_15
+ IL_65bf: box [mscorlib]System.Int64
+ IL_65c4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65c9: ldloc.s V_6
+ IL_65cb: ldloc.s V_16
+ IL_65cd: beq.s IL_65ea
+
+ IL_65cf: ldc.i4.1
+ IL_65d0: stloc.s V_20
+ IL_65d2: ldstr "te264 check failed {0} {1}"
+ IL_65d7: ldloc.s V_6
+ IL_65d9: box [mscorlib]System.Int64
+ IL_65de: ldloc.s V_16
+ IL_65e0: box [mscorlib]System.Int64
+ IL_65e5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65ea: ldloc.s V_7
+ IL_65ec: ldloc.s V_17
+ IL_65ee: beq.s IL_660b
+
+ IL_65f0: ldc.i4.1
+ IL_65f1: stloc.s V_20
+ IL_65f3: ldstr "te364 check failed {0} {1}"
+ IL_65f8: ldloc.s V_7
+ IL_65fa: box [mscorlib]System.Int64
+ IL_65ff: ldloc.s V_17
+ IL_6601: box [mscorlib]System.Int64
+ IL_6606: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_660b: ldloc.s V_8
+ IL_660d: ldloc.s V_18
+ IL_660f: beq.s IL_662c
+
+ IL_6611: ldc.i4.1
+ IL_6612: stloc.s V_20
+ IL_6614: ldstr "dummy check failed {0} {1}"
+ IL_6619: ldloc.s V_8
+ IL_661b: box [mscorlib]System.Int32
+ IL_6620: ldloc.s V_18
+ IL_6622: box [mscorlib]System.Int32
+ IL_6627: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_662c: ldloc.s V_9
+ IL_662e: ldloc.s V_19
+ IL_6630: beq.s IL_664d
+
+ IL_6632: ldc.i4.1
+ IL_6633: stloc.s V_20
+ IL_6635: ldstr "dummy64 check failed {0} {1}"
+ IL_663a: ldloc.s V_9
+ IL_663c: box [mscorlib]System.Int64
+ IL_6641: ldloc.s V_19
+ IL_6643: box [mscorlib]System.Int64
+ IL_6648: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_664d: ldsfld int32 IntrinsicTest::counter
+ IL_6652: ldsfld int32 IntrinsicTest::id_counter
+ IL_6657: beq.s IL_667a
+
+ IL_6659: ldstr "counter mismatch {0} {1}"
+ IL_665e: ldsfld int32 IntrinsicTest::counter
+ IL_6663: box [mscorlib]System.Int32
+ IL_6668: ldsfld int32 IntrinsicTest::id_counter
+ IL_666d: box [mscorlib]System.Int32
+ IL_6672: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6677: ldc.i4.1
+ IL_6678: stloc.s V_20
+ IL_667a: ldsfld int64 IntrinsicTest::counter64
+ IL_667f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6684: beq.s IL_66a7
+
+ IL_6686: ldstr "counter64 mismatch {0} {1}"
+ IL_668b: ldsfld int64 IntrinsicTest::counter64
+ IL_6690: box [mscorlib]System.Int64
+ IL_6695: ldsfld int64 IntrinsicTest::id_counter64
+ IL_669a: box [mscorlib]System.Int64
+ IL_669f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_66a4: ldc.i4.1
+ IL_66a5: stloc.s V_20
+ IL_66a7: ldloc.s V_21
+ IL_66a9: ldfld int32 IntrinsicTest::instanceCounter
+ IL_66ae: ldloc.s V_21
+ IL_66b0: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_66b5: beq.s IL_66dc
+
+ IL_66b7: ldstr "instanceCounter mismatch {0} {1}"
+ IL_66bc: ldloc.s V_21
+ IL_66be: ldfld int32 IntrinsicTest::instanceCounter
+ IL_66c3: box [mscorlib]System.Int32
+ IL_66c8: ldloc.s V_21
+ IL_66ca: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_66cf: box [mscorlib]System.Int32
+ IL_66d4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_66d9: ldc.i4.1
+ IL_66da: stloc.s V_20
+ IL_66dc: ldloc.s V_21
+ IL_66de: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_66e3: ldloc.s V_21
+ IL_66e5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_66ea: beq.s IL_6711
+
+ IL_66ec: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_66f1: ldloc.s V_21
+ IL_66f3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_66f8: box [mscorlib]System.Int64
+ IL_66fd: ldloc.s V_21
+ IL_66ff: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6704: box [mscorlib]System.Int64
+ IL_6709: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_670e: ldc.i4.1
+ IL_670f: stloc.s V_20
+ IL_6711: ldsfld int64 IntrinsicTest::temp
+ IL_6716: ldsfld int64 IntrinsicTest::idmp
+ IL_671b: beq.s IL_673e
+
+ IL_671d: ldstr "temp mismatch {0} {1}"
+ IL_6722: ldsfld int64 IntrinsicTest::temp
+ IL_6727: box [mscorlib]System.Int64
+ IL_672c: ldsfld int64 IntrinsicTest::idmp
+ IL_6731: box [mscorlib]System.Int64
+ IL_6736: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_673b: ldc.i4.1
+ IL_673c: stloc.s V_20
+ IL_673e: ldsflda int64 IntrinsicTest::counter64
+ IL_6743: ldsfld int64 IntrinsicTest::counter64
+ IL_6748: ldloc.s V_5
+ IL_674a: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_674f: stloc.s V_7
+ IL_6751: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6756: stloc.s V_17
+ IL_6758: ldsfld int64 IntrinsicTest::id_counter64
+ IL_675d: ldloc.s V_15
+ IL_675f: bne.un.s IL_676d
+
+ IL_6761: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6766: stsfld int64 IntrinsicTest::id_counter64
+ IL_676b: br.s IL_6777
+
+ IL_676d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6772: stsfld int64 IntrinsicTest::idjunk
+ IL_6777: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 5 6"
+ IL_677c: call void [System.Console]System.Console::WriteLine(string)
+ IL_6781: ldloc.0
+ IL_6782: ldloc.s V_10
+ IL_6784: beq.s IL_67a0
+
+ IL_6786: ldc.i4.1
+ IL_6787: stloc.s V_20
+ IL_6789: ldstr "te0 check failed {0} {1}"
+ IL_678e: ldloc.0
+ IL_678f: box [mscorlib]System.Int32
+ IL_6794: ldloc.s V_10
+ IL_6796: box [mscorlib]System.Int32
+ IL_679b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67a0: ldloc.1
+ IL_67a1: ldloc.s V_11
+ IL_67a3: beq.s IL_67bf
+
+ IL_67a5: ldc.i4.1
+ IL_67a6: stloc.s V_20
+ IL_67a8: ldstr "te1 check failed {0} {1}"
+ IL_67ad: ldloc.1
+ IL_67ae: box [mscorlib]System.Int32
+ IL_67b3: ldloc.s V_11
+ IL_67b5: box [mscorlib]System.Int32
+ IL_67ba: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67bf: ldloc.2
+ IL_67c0: ldloc.s V_12
+ IL_67c2: beq.s IL_67de
+
+ IL_67c4: ldc.i4.1
+ IL_67c5: stloc.s V_20
+ IL_67c7: ldstr "te2 check failed {0} {1}"
+ IL_67cc: ldloc.2
+ IL_67cd: box [mscorlib]System.Int32
+ IL_67d2: ldloc.s V_12
+ IL_67d4: box [mscorlib]System.Int32
+ IL_67d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67de: ldloc.3
+ IL_67df: ldloc.s V_13
+ IL_67e1: beq.s IL_67fd
+
+ IL_67e3: ldc.i4.1
+ IL_67e4: stloc.s V_20
+ IL_67e6: ldstr "te3 check failed {0} {1}"
+ IL_67eb: ldloc.3
+ IL_67ec: box [mscorlib]System.Int32
+ IL_67f1: ldloc.s V_13
+ IL_67f3: box [mscorlib]System.Int32
+ IL_67f8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67fd: ldloc.s V_4
+ IL_67ff: ldloc.s V_14
+ IL_6801: beq.s IL_681e
+
+ IL_6803: ldc.i4.1
+ IL_6804: stloc.s V_20
+ IL_6806: ldstr "te064 check failed {0} {1}"
+ IL_680b: ldloc.s V_4
+ IL_680d: box [mscorlib]System.Int64
+ IL_6812: ldloc.s V_14
+ IL_6814: box [mscorlib]System.Int64
+ IL_6819: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_681e: ldloc.s V_5
+ IL_6820: ldloc.s V_15
+ IL_6822: beq.s IL_683f
+
+ IL_6824: ldc.i4.1
+ IL_6825: stloc.s V_20
+ IL_6827: ldstr "te164 check failed {0} {1}"
+ IL_682c: ldloc.s V_5
+ IL_682e: box [mscorlib]System.Int64
+ IL_6833: ldloc.s V_15
+ IL_6835: box [mscorlib]System.Int64
+ IL_683a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_683f: ldloc.s V_6
+ IL_6841: ldloc.s V_16
+ IL_6843: beq.s IL_6860
+
+ IL_6845: ldc.i4.1
+ IL_6846: stloc.s V_20
+ IL_6848: ldstr "te264 check failed {0} {1}"
+ IL_684d: ldloc.s V_6
+ IL_684f: box [mscorlib]System.Int64
+ IL_6854: ldloc.s V_16
+ IL_6856: box [mscorlib]System.Int64
+ IL_685b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6860: ldloc.s V_7
+ IL_6862: ldloc.s V_17
+ IL_6864: beq.s IL_6881
+
+ IL_6866: ldc.i4.1
+ IL_6867: stloc.s V_20
+ IL_6869: ldstr "te364 check failed {0} {1}"
+ IL_686e: ldloc.s V_7
+ IL_6870: box [mscorlib]System.Int64
+ IL_6875: ldloc.s V_17
+ IL_6877: box [mscorlib]System.Int64
+ IL_687c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6881: ldloc.s V_8
+ IL_6883: ldloc.s V_18
+ IL_6885: beq.s IL_68a2
+
+ IL_6887: ldc.i4.1
+ IL_6888: stloc.s V_20
+ IL_688a: ldstr "dummy check failed {0} {1}"
+ IL_688f: ldloc.s V_8
+ IL_6891: box [mscorlib]System.Int32
+ IL_6896: ldloc.s V_18
+ IL_6898: box [mscorlib]System.Int32
+ IL_689d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_68a2: ldloc.s V_9
+ IL_68a4: ldloc.s V_19
+ IL_68a6: beq.s IL_68c3
+
+ IL_68a8: ldc.i4.1
+ IL_68a9: stloc.s V_20
+ IL_68ab: ldstr "dummy64 check failed {0} {1}"
+ IL_68b0: ldloc.s V_9
+ IL_68b2: box [mscorlib]System.Int64
+ IL_68b7: ldloc.s V_19
+ IL_68b9: box [mscorlib]System.Int64
+ IL_68be: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_68c3: ldsfld int32 IntrinsicTest::counter
+ IL_68c8: ldsfld int32 IntrinsicTest::id_counter
+ IL_68cd: beq.s IL_68f0
+
+ IL_68cf: ldstr "counter mismatch {0} {1}"
+ IL_68d4: ldsfld int32 IntrinsicTest::counter
+ IL_68d9: box [mscorlib]System.Int32
+ IL_68de: ldsfld int32 IntrinsicTest::id_counter
+ IL_68e3: box [mscorlib]System.Int32
+ IL_68e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_68ed: ldc.i4.1
+ IL_68ee: stloc.s V_20
+ IL_68f0: ldsfld int64 IntrinsicTest::counter64
+ IL_68f5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_68fa: beq.s IL_691d
+
+ IL_68fc: ldstr "counter64 mismatch {0} {1}"
+ IL_6901: ldsfld int64 IntrinsicTest::counter64
+ IL_6906: box [mscorlib]System.Int64
+ IL_690b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6910: box [mscorlib]System.Int64
+ IL_6915: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_691a: ldc.i4.1
+ IL_691b: stloc.s V_20
+ IL_691d: ldloc.s V_21
+ IL_691f: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6924: ldloc.s V_21
+ IL_6926: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_692b: beq.s IL_6952
+
+ IL_692d: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6932: ldloc.s V_21
+ IL_6934: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6939: box [mscorlib]System.Int32
+ IL_693e: ldloc.s V_21
+ IL_6940: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6945: box [mscorlib]System.Int32
+ IL_694a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_694f: ldc.i4.1
+ IL_6950: stloc.s V_20
+ IL_6952: ldloc.s V_21
+ IL_6954: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6959: ldloc.s V_21
+ IL_695b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6960: beq.s IL_6987
+
+ IL_6962: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6967: ldloc.s V_21
+ IL_6969: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_696e: box [mscorlib]System.Int64
+ IL_6973: ldloc.s V_21
+ IL_6975: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_697a: box [mscorlib]System.Int64
+ IL_697f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6984: ldc.i4.1
+ IL_6985: stloc.s V_20
+ IL_6987: ldsfld int64 IntrinsicTest::temp
+ IL_698c: ldsfld int64 IntrinsicTest::idmp
+ IL_6991: beq.s IL_69b4
+
+ IL_6993: ldstr "temp mismatch {0} {1}"
+ IL_6998: ldsfld int64 IntrinsicTest::temp
+ IL_699d: box [mscorlib]System.Int64
+ IL_69a2: ldsfld int64 IntrinsicTest::idmp
+ IL_69a7: box [mscorlib]System.Int64
+ IL_69ac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_69b1: ldc.i4.1
+ IL_69b2: stloc.s V_20
+ IL_69b4: ldsflda int64 IntrinsicTest::counter64
+ IL_69b9: ldsfld int64 IntrinsicTest::counter64
+ IL_69be: ldloc.s V_6
+ IL_69c0: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_69c5: stloc.s V_4
+ IL_69c7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_69cc: stloc.s V_14
+ IL_69ce: ldsfld int64 IntrinsicTest::id_counter64
+ IL_69d3: ldloc.s V_16
+ IL_69d5: bne.un.s IL_69e3
+
+ IL_69d7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_69dc: stsfld int64 IntrinsicTest::id_counter64
+ IL_69e1: br.s IL_69ed
+
+ IL_69e3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_69e8: stsfld int64 IntrinsicTest::idjunk
+ IL_69ed: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 0"
+ IL_69f2: call void [System.Console]System.Console::WriteLine(string)
+ IL_69f7: ldloc.0
+ IL_69f8: ldloc.s V_10
+ IL_69fa: beq.s IL_6a16
+
+ IL_69fc: ldc.i4.1
+ IL_69fd: stloc.s V_20
+ IL_69ff: ldstr "te0 check failed {0} {1}"
+ IL_6a04: ldloc.0
+ IL_6a05: box [mscorlib]System.Int32
+ IL_6a0a: ldloc.s V_10
+ IL_6a0c: box [mscorlib]System.Int32
+ IL_6a11: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a16: ldloc.1
+ IL_6a17: ldloc.s V_11
+ IL_6a19: beq.s IL_6a35
+
+ IL_6a1b: ldc.i4.1
+ IL_6a1c: stloc.s V_20
+ IL_6a1e: ldstr "te1 check failed {0} {1}"
+ IL_6a23: ldloc.1
+ IL_6a24: box [mscorlib]System.Int32
+ IL_6a29: ldloc.s V_11
+ IL_6a2b: box [mscorlib]System.Int32
+ IL_6a30: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a35: ldloc.2
+ IL_6a36: ldloc.s V_12
+ IL_6a38: beq.s IL_6a54
+
+ IL_6a3a: ldc.i4.1
+ IL_6a3b: stloc.s V_20
+ IL_6a3d: ldstr "te2 check failed {0} {1}"
+ IL_6a42: ldloc.2
+ IL_6a43: box [mscorlib]System.Int32
+ IL_6a48: ldloc.s V_12
+ IL_6a4a: box [mscorlib]System.Int32
+ IL_6a4f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a54: ldloc.3
+ IL_6a55: ldloc.s V_13
+ IL_6a57: beq.s IL_6a73
+
+ IL_6a59: ldc.i4.1
+ IL_6a5a: stloc.s V_20
+ IL_6a5c: ldstr "te3 check failed {0} {1}"
+ IL_6a61: ldloc.3
+ IL_6a62: box [mscorlib]System.Int32
+ IL_6a67: ldloc.s V_13
+ IL_6a69: box [mscorlib]System.Int32
+ IL_6a6e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a73: ldloc.s V_4
+ IL_6a75: ldloc.s V_14
+ IL_6a77: beq.s IL_6a94
+
+ IL_6a79: ldc.i4.1
+ IL_6a7a: stloc.s V_20
+ IL_6a7c: ldstr "te064 check failed {0} {1}"
+ IL_6a81: ldloc.s V_4
+ IL_6a83: box [mscorlib]System.Int64
+ IL_6a88: ldloc.s V_14
+ IL_6a8a: box [mscorlib]System.Int64
+ IL_6a8f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a94: ldloc.s V_5
+ IL_6a96: ldloc.s V_15
+ IL_6a98: beq.s IL_6ab5
+
+ IL_6a9a: ldc.i4.1
+ IL_6a9b: stloc.s V_20
+ IL_6a9d: ldstr "te164 check failed {0} {1}"
+ IL_6aa2: ldloc.s V_5
+ IL_6aa4: box [mscorlib]System.Int64
+ IL_6aa9: ldloc.s V_15
+ IL_6aab: box [mscorlib]System.Int64
+ IL_6ab0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ab5: ldloc.s V_6
+ IL_6ab7: ldloc.s V_16
+ IL_6ab9: beq.s IL_6ad6
+
+ IL_6abb: ldc.i4.1
+ IL_6abc: stloc.s V_20
+ IL_6abe: ldstr "te264 check failed {0} {1}"
+ IL_6ac3: ldloc.s V_6
+ IL_6ac5: box [mscorlib]System.Int64
+ IL_6aca: ldloc.s V_16
+ IL_6acc: box [mscorlib]System.Int64
+ IL_6ad1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ad6: ldloc.s V_7
+ IL_6ad8: ldloc.s V_17
+ IL_6ada: beq.s IL_6af7
+
+ IL_6adc: ldc.i4.1
+ IL_6add: stloc.s V_20
+ IL_6adf: ldstr "te364 check failed {0} {1}"
+ IL_6ae4: ldloc.s V_7
+ IL_6ae6: box [mscorlib]System.Int64
+ IL_6aeb: ldloc.s V_17
+ IL_6aed: box [mscorlib]System.Int64
+ IL_6af2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6af7: ldloc.s V_8
+ IL_6af9: ldloc.s V_18
+ IL_6afb: beq.s IL_6b18
+
+ IL_6afd: ldc.i4.1
+ IL_6afe: stloc.s V_20
+ IL_6b00: ldstr "dummy check failed {0} {1}"
+ IL_6b05: ldloc.s V_8
+ IL_6b07: box [mscorlib]System.Int32
+ IL_6b0c: ldloc.s V_18
+ IL_6b0e: box [mscorlib]System.Int32
+ IL_6b13: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b18: ldloc.s V_9
+ IL_6b1a: ldloc.s V_19
+ IL_6b1c: beq.s IL_6b39
+
+ IL_6b1e: ldc.i4.1
+ IL_6b1f: stloc.s V_20
+ IL_6b21: ldstr "dummy64 check failed {0} {1}"
+ IL_6b26: ldloc.s V_9
+ IL_6b28: box [mscorlib]System.Int64
+ IL_6b2d: ldloc.s V_19
+ IL_6b2f: box [mscorlib]System.Int64
+ IL_6b34: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b39: ldsfld int32 IntrinsicTest::counter
+ IL_6b3e: ldsfld int32 IntrinsicTest::id_counter
+ IL_6b43: beq.s IL_6b66
+
+ IL_6b45: ldstr "counter mismatch {0} {1}"
+ IL_6b4a: ldsfld int32 IntrinsicTest::counter
+ IL_6b4f: box [mscorlib]System.Int32
+ IL_6b54: ldsfld int32 IntrinsicTest::id_counter
+ IL_6b59: box [mscorlib]System.Int32
+ IL_6b5e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b63: ldc.i4.1
+ IL_6b64: stloc.s V_20
+ IL_6b66: ldsfld int64 IntrinsicTest::counter64
+ IL_6b6b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6b70: beq.s IL_6b93
+
+ IL_6b72: ldstr "counter64 mismatch {0} {1}"
+ IL_6b77: ldsfld int64 IntrinsicTest::counter64
+ IL_6b7c: box [mscorlib]System.Int64
+ IL_6b81: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6b86: box [mscorlib]System.Int64
+ IL_6b8b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b90: ldc.i4.1
+ IL_6b91: stloc.s V_20
+ IL_6b93: ldloc.s V_21
+ IL_6b95: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6b9a: ldloc.s V_21
+ IL_6b9c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6ba1: beq.s IL_6bc8
+
+ IL_6ba3: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6ba8: ldloc.s V_21
+ IL_6baa: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6baf: box [mscorlib]System.Int32
+ IL_6bb4: ldloc.s V_21
+ IL_6bb6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6bbb: box [mscorlib]System.Int32
+ IL_6bc0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6bc5: ldc.i4.1
+ IL_6bc6: stloc.s V_20
+ IL_6bc8: ldloc.s V_21
+ IL_6bca: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6bcf: ldloc.s V_21
+ IL_6bd1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6bd6: beq.s IL_6bfd
+
+ IL_6bd8: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6bdd: ldloc.s V_21
+ IL_6bdf: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6be4: box [mscorlib]System.Int64
+ IL_6be9: ldloc.s V_21
+ IL_6beb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6bf0: box [mscorlib]System.Int64
+ IL_6bf5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6bfa: ldc.i4.1
+ IL_6bfb: stloc.s V_20
+ IL_6bfd: ldsfld int64 IntrinsicTest::temp
+ IL_6c02: ldsfld int64 IntrinsicTest::idmp
+ IL_6c07: beq.s IL_6c2a
+
+ IL_6c09: ldstr "temp mismatch {0} {1}"
+ IL_6c0e: ldsfld int64 IntrinsicTest::temp
+ IL_6c13: box [mscorlib]System.Int64
+ IL_6c18: ldsfld int64 IntrinsicTest::idmp
+ IL_6c1d: box [mscorlib]System.Int64
+ IL_6c22: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6c27: ldc.i4.1
+ IL_6c28: stloc.s V_20
+ IL_6c2a: ldsflda int64 IntrinsicTest::counter64
+ IL_6c2f: ldsfld int64 IntrinsicTest::counter64
+ IL_6c34: ldloc.s V_6
+ IL_6c36: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_6c3b: stsfld int64 IntrinsicTest::counter64
+ IL_6c40: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6c45: stsfld int64 IntrinsicTest::id_counter64
+ IL_6c4a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6c4f: ldloc.s V_16
+ IL_6c51: bne.un.s IL_6c5f
+
+ IL_6c53: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6c58: stsfld int64 IntrinsicTest::idjunk
+ IL_6c5d: br.s IL_6c69
+
+ IL_6c5f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6c64: stsfld int64 IntrinsicTest::idjunk
+ IL_6c69: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 1"
+ IL_6c6e: call void [System.Console]System.Console::WriteLine(string)
+ IL_6c73: ldloc.0
+ IL_6c74: ldloc.s V_10
+ IL_6c76: beq.s IL_6c92
+
+ IL_6c78: ldc.i4.1
+ IL_6c79: stloc.s V_20
+ IL_6c7b: ldstr "te0 check failed {0} {1}"
+ IL_6c80: ldloc.0
+ IL_6c81: box [mscorlib]System.Int32
+ IL_6c86: ldloc.s V_10
+ IL_6c88: box [mscorlib]System.Int32
+ IL_6c8d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6c92: ldloc.1
+ IL_6c93: ldloc.s V_11
+ IL_6c95: beq.s IL_6cb1
+
+ IL_6c97: ldc.i4.1
+ IL_6c98: stloc.s V_20
+ IL_6c9a: ldstr "te1 check failed {0} {1}"
+ IL_6c9f: ldloc.1
+ IL_6ca0: box [mscorlib]System.Int32
+ IL_6ca5: ldloc.s V_11
+ IL_6ca7: box [mscorlib]System.Int32
+ IL_6cac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6cb1: ldloc.2
+ IL_6cb2: ldloc.s V_12
+ IL_6cb4: beq.s IL_6cd0
+
+ IL_6cb6: ldc.i4.1
+ IL_6cb7: stloc.s V_20
+ IL_6cb9: ldstr "te2 check failed {0} {1}"
+ IL_6cbe: ldloc.2
+ IL_6cbf: box [mscorlib]System.Int32
+ IL_6cc4: ldloc.s V_12
+ IL_6cc6: box [mscorlib]System.Int32
+ IL_6ccb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6cd0: ldloc.3
+ IL_6cd1: ldloc.s V_13
+ IL_6cd3: beq.s IL_6cef
+
+ IL_6cd5: ldc.i4.1
+ IL_6cd6: stloc.s V_20
+ IL_6cd8: ldstr "te3 check failed {0} {1}"
+ IL_6cdd: ldloc.3
+ IL_6cde: box [mscorlib]System.Int32
+ IL_6ce3: ldloc.s V_13
+ IL_6ce5: box [mscorlib]System.Int32
+ IL_6cea: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6cef: ldloc.s V_4
+ IL_6cf1: ldloc.s V_14
+ IL_6cf3: beq.s IL_6d10
+
+ IL_6cf5: ldc.i4.1
+ IL_6cf6: stloc.s V_20
+ IL_6cf8: ldstr "te064 check failed {0} {1}"
+ IL_6cfd: ldloc.s V_4
+ IL_6cff: box [mscorlib]System.Int64
+ IL_6d04: ldloc.s V_14
+ IL_6d06: box [mscorlib]System.Int64
+ IL_6d0b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d10: ldloc.s V_5
+ IL_6d12: ldloc.s V_15
+ IL_6d14: beq.s IL_6d31
+
+ IL_6d16: ldc.i4.1
+ IL_6d17: stloc.s V_20
+ IL_6d19: ldstr "te164 check failed {0} {1}"
+ IL_6d1e: ldloc.s V_5
+ IL_6d20: box [mscorlib]System.Int64
+ IL_6d25: ldloc.s V_15
+ IL_6d27: box [mscorlib]System.Int64
+ IL_6d2c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d31: ldloc.s V_6
+ IL_6d33: ldloc.s V_16
+ IL_6d35: beq.s IL_6d52
+
+ IL_6d37: ldc.i4.1
+ IL_6d38: stloc.s V_20
+ IL_6d3a: ldstr "te264 check failed {0} {1}"
+ IL_6d3f: ldloc.s V_6
+ IL_6d41: box [mscorlib]System.Int64
+ IL_6d46: ldloc.s V_16
+ IL_6d48: box [mscorlib]System.Int64
+ IL_6d4d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d52: ldloc.s V_7
+ IL_6d54: ldloc.s V_17
+ IL_6d56: beq.s IL_6d73
+
+ IL_6d58: ldc.i4.1
+ IL_6d59: stloc.s V_20
+ IL_6d5b: ldstr "te364 check failed {0} {1}"
+ IL_6d60: ldloc.s V_7
+ IL_6d62: box [mscorlib]System.Int64
+ IL_6d67: ldloc.s V_17
+ IL_6d69: box [mscorlib]System.Int64
+ IL_6d6e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d73: ldloc.s V_8
+ IL_6d75: ldloc.s V_18
+ IL_6d77: beq.s IL_6d94
+
+ IL_6d79: ldc.i4.1
+ IL_6d7a: stloc.s V_20
+ IL_6d7c: ldstr "dummy check failed {0} {1}"
+ IL_6d81: ldloc.s V_8
+ IL_6d83: box [mscorlib]System.Int32
+ IL_6d88: ldloc.s V_18
+ IL_6d8a: box [mscorlib]System.Int32
+ IL_6d8f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d94: ldloc.s V_9
+ IL_6d96: ldloc.s V_19
+ IL_6d98: beq.s IL_6db5
+
+ IL_6d9a: ldc.i4.1
+ IL_6d9b: stloc.s V_20
+ IL_6d9d: ldstr "dummy64 check failed {0} {1}"
+ IL_6da2: ldloc.s V_9
+ IL_6da4: box [mscorlib]System.Int64
+ IL_6da9: ldloc.s V_19
+ IL_6dab: box [mscorlib]System.Int64
+ IL_6db0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6db5: ldsfld int32 IntrinsicTest::counter
+ IL_6dba: ldsfld int32 IntrinsicTest::id_counter
+ IL_6dbf: beq.s IL_6de2
+
+ IL_6dc1: ldstr "counter mismatch {0} {1}"
+ IL_6dc6: ldsfld int32 IntrinsicTest::counter
+ IL_6dcb: box [mscorlib]System.Int32
+ IL_6dd0: ldsfld int32 IntrinsicTest::id_counter
+ IL_6dd5: box [mscorlib]System.Int32
+ IL_6dda: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ddf: ldc.i4.1
+ IL_6de0: stloc.s V_20
+ IL_6de2: ldsfld int64 IntrinsicTest::counter64
+ IL_6de7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6dec: beq.s IL_6e0f
+
+ IL_6dee: ldstr "counter64 mismatch {0} {1}"
+ IL_6df3: ldsfld int64 IntrinsicTest::counter64
+ IL_6df8: box [mscorlib]System.Int64
+ IL_6dfd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6e02: box [mscorlib]System.Int64
+ IL_6e07: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e0c: ldc.i4.1
+ IL_6e0d: stloc.s V_20
+ IL_6e0f: ldloc.s V_21
+ IL_6e11: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6e16: ldloc.s V_21
+ IL_6e18: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6e1d: beq.s IL_6e44
+
+ IL_6e1f: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6e24: ldloc.s V_21
+ IL_6e26: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6e2b: box [mscorlib]System.Int32
+ IL_6e30: ldloc.s V_21
+ IL_6e32: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6e37: box [mscorlib]System.Int32
+ IL_6e3c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e41: ldc.i4.1
+ IL_6e42: stloc.s V_20
+ IL_6e44: ldloc.s V_21
+ IL_6e46: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6e4b: ldloc.s V_21
+ IL_6e4d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6e52: beq.s IL_6e79
+
+ IL_6e54: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6e59: ldloc.s V_21
+ IL_6e5b: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6e60: box [mscorlib]System.Int64
+ IL_6e65: ldloc.s V_21
+ IL_6e67: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6e6c: box [mscorlib]System.Int64
+ IL_6e71: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e76: ldc.i4.1
+ IL_6e77: stloc.s V_20
+ IL_6e79: ldsfld int64 IntrinsicTest::temp
+ IL_6e7e: ldsfld int64 IntrinsicTest::idmp
+ IL_6e83: beq.s IL_6ea6
+
+ IL_6e85: ldstr "temp mismatch {0} {1}"
+ IL_6e8a: ldsfld int64 IntrinsicTest::temp
+ IL_6e8f: box [mscorlib]System.Int64
+ IL_6e94: ldsfld int64 IntrinsicTest::idmp
+ IL_6e99: box [mscorlib]System.Int64
+ IL_6e9e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ea3: ldc.i4.1
+ IL_6ea4: stloc.s V_20
+ IL_6ea6: ldloc.s V_21
+ IL_6ea8: ldsflda int64 IntrinsicTest::counter64
+ IL_6ead: ldsfld int64 IntrinsicTest::counter64
+ IL_6eb2: ldloc.s V_6
+ IL_6eb4: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_6eb9: stfld int64 IntrinsicTest::instanceCounter64
+ IL_6ebe: ldloc.s V_21
+ IL_6ec0: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6ec5: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6eca: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6ecf: ldloc.s V_16
+ IL_6ed1: bne.un.s IL_6edf
+
+ IL_6ed3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6ed8: stsfld int64 IntrinsicTest::id_counter64
+ IL_6edd: br.s IL_6ee9
+
+ IL_6edf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6ee4: stsfld int64 IntrinsicTest::idjunk
+ IL_6ee9: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 2"
+ IL_6eee: call void [System.Console]System.Console::WriteLine(string)
+ IL_6ef3: ldloc.0
+ IL_6ef4: ldloc.s V_10
+ IL_6ef6: beq.s IL_6f12
+
+ IL_6ef8: ldc.i4.1
+ IL_6ef9: stloc.s V_20
+ IL_6efb: ldstr "te0 check failed {0} {1}"
+ IL_6f00: ldloc.0
+ IL_6f01: box [mscorlib]System.Int32
+ IL_6f06: ldloc.s V_10
+ IL_6f08: box [mscorlib]System.Int32
+ IL_6f0d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f12: ldloc.1
+ IL_6f13: ldloc.s V_11
+ IL_6f15: beq.s IL_6f31
+
+ IL_6f17: ldc.i4.1
+ IL_6f18: stloc.s V_20
+ IL_6f1a: ldstr "te1 check failed {0} {1}"
+ IL_6f1f: ldloc.1
+ IL_6f20: box [mscorlib]System.Int32
+ IL_6f25: ldloc.s V_11
+ IL_6f27: box [mscorlib]System.Int32
+ IL_6f2c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f31: ldloc.2
+ IL_6f32: ldloc.s V_12
+ IL_6f34: beq.s IL_6f50
+
+ IL_6f36: ldc.i4.1
+ IL_6f37: stloc.s V_20
+ IL_6f39: ldstr "te2 check failed {0} {1}"
+ IL_6f3e: ldloc.2
+ IL_6f3f: box [mscorlib]System.Int32
+ IL_6f44: ldloc.s V_12
+ IL_6f46: box [mscorlib]System.Int32
+ IL_6f4b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f50: ldloc.3
+ IL_6f51: ldloc.s V_13
+ IL_6f53: beq.s IL_6f6f
+
+ IL_6f55: ldc.i4.1
+ IL_6f56: stloc.s V_20
+ IL_6f58: ldstr "te3 check failed {0} {1}"
+ IL_6f5d: ldloc.3
+ IL_6f5e: box [mscorlib]System.Int32
+ IL_6f63: ldloc.s V_13
+ IL_6f65: box [mscorlib]System.Int32
+ IL_6f6a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f6f: ldloc.s V_4
+ IL_6f71: ldloc.s V_14
+ IL_6f73: beq.s IL_6f90
+
+ IL_6f75: ldc.i4.1
+ IL_6f76: stloc.s V_20
+ IL_6f78: ldstr "te064 check failed {0} {1}"
+ IL_6f7d: ldloc.s V_4
+ IL_6f7f: box [mscorlib]System.Int64
+ IL_6f84: ldloc.s V_14
+ IL_6f86: box [mscorlib]System.Int64
+ IL_6f8b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f90: ldloc.s V_5
+ IL_6f92: ldloc.s V_15
+ IL_6f94: beq.s IL_6fb1
+
+ IL_6f96: ldc.i4.1
+ IL_6f97: stloc.s V_20
+ IL_6f99: ldstr "te164 check failed {0} {1}"
+ IL_6f9e: ldloc.s V_5
+ IL_6fa0: box [mscorlib]System.Int64
+ IL_6fa5: ldloc.s V_15
+ IL_6fa7: box [mscorlib]System.Int64
+ IL_6fac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6fb1: ldloc.s V_6
+ IL_6fb3: ldloc.s V_16
+ IL_6fb5: beq.s IL_6fd2
+
+ IL_6fb7: ldc.i4.1
+ IL_6fb8: stloc.s V_20
+ IL_6fba: ldstr "te264 check failed {0} {1}"
+ IL_6fbf: ldloc.s V_6
+ IL_6fc1: box [mscorlib]System.Int64
+ IL_6fc6: ldloc.s V_16
+ IL_6fc8: box [mscorlib]System.Int64
+ IL_6fcd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6fd2: ldloc.s V_7
+ IL_6fd4: ldloc.s V_17
+ IL_6fd6: beq.s IL_6ff3
+
+ IL_6fd8: ldc.i4.1
+ IL_6fd9: stloc.s V_20
+ IL_6fdb: ldstr "te364 check failed {0} {1}"
+ IL_6fe0: ldloc.s V_7
+ IL_6fe2: box [mscorlib]System.Int64
+ IL_6fe7: ldloc.s V_17
+ IL_6fe9: box [mscorlib]System.Int64
+ IL_6fee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ff3: ldloc.s V_8
+ IL_6ff5: ldloc.s V_18
+ IL_6ff7: beq.s IL_7014
+
+ IL_6ff9: ldc.i4.1
+ IL_6ffa: stloc.s V_20
+ IL_6ffc: ldstr "dummy check failed {0} {1}"
+ IL_7001: ldloc.s V_8
+ IL_7003: box [mscorlib]System.Int32
+ IL_7008: ldloc.s V_18
+ IL_700a: box [mscorlib]System.Int32
+ IL_700f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7014: ldloc.s V_9
+ IL_7016: ldloc.s V_19
+ IL_7018: beq.s IL_7035
+
+ IL_701a: ldc.i4.1
+ IL_701b: stloc.s V_20
+ IL_701d: ldstr "dummy64 check failed {0} {1}"
+ IL_7022: ldloc.s V_9
+ IL_7024: box [mscorlib]System.Int64
+ IL_7029: ldloc.s V_19
+ IL_702b: box [mscorlib]System.Int64
+ IL_7030: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7035: ldsfld int32 IntrinsicTest::counter
+ IL_703a: ldsfld int32 IntrinsicTest::id_counter
+ IL_703f: beq.s IL_7062
+
+ IL_7041: ldstr "counter mismatch {0} {1}"
+ IL_7046: ldsfld int32 IntrinsicTest::counter
+ IL_704b: box [mscorlib]System.Int32
+ IL_7050: ldsfld int32 IntrinsicTest::id_counter
+ IL_7055: box [mscorlib]System.Int32
+ IL_705a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_705f: ldc.i4.1
+ IL_7060: stloc.s V_20
+ IL_7062: ldsfld int64 IntrinsicTest::counter64
+ IL_7067: ldsfld int64 IntrinsicTest::id_counter64
+ IL_706c: beq.s IL_708f
+
+ IL_706e: ldstr "counter64 mismatch {0} {1}"
+ IL_7073: ldsfld int64 IntrinsicTest::counter64
+ IL_7078: box [mscorlib]System.Int64
+ IL_707d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7082: box [mscorlib]System.Int64
+ IL_7087: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_708c: ldc.i4.1
+ IL_708d: stloc.s V_20
+ IL_708f: ldloc.s V_21
+ IL_7091: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7096: ldloc.s V_21
+ IL_7098: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_709d: beq.s IL_70c4
+
+ IL_709f: ldstr "instanceCounter mismatch {0} {1}"
+ IL_70a4: ldloc.s V_21
+ IL_70a6: ldfld int32 IntrinsicTest::instanceCounter
+ IL_70ab: box [mscorlib]System.Int32
+ IL_70b0: ldloc.s V_21
+ IL_70b2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_70b7: box [mscorlib]System.Int32
+ IL_70bc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_70c1: ldc.i4.1
+ IL_70c2: stloc.s V_20
+ IL_70c4: ldloc.s V_21
+ IL_70c6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_70cb: ldloc.s V_21
+ IL_70cd: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_70d2: beq.s IL_70f9
+
+ IL_70d4: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_70d9: ldloc.s V_21
+ IL_70db: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_70e0: box [mscorlib]System.Int64
+ IL_70e5: ldloc.s V_21
+ IL_70e7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_70ec: box [mscorlib]System.Int64
+ IL_70f1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_70f6: ldc.i4.1
+ IL_70f7: stloc.s V_20
+ IL_70f9: ldsfld int64 IntrinsicTest::temp
+ IL_70fe: ldsfld int64 IntrinsicTest::idmp
+ IL_7103: beq.s IL_7126
+
+ IL_7105: ldstr "temp mismatch {0} {1}"
+ IL_710a: ldsfld int64 IntrinsicTest::temp
+ IL_710f: box [mscorlib]System.Int64
+ IL_7114: ldsfld int64 IntrinsicTest::idmp
+ IL_7119: box [mscorlib]System.Int64
+ IL_711e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7123: ldc.i4.1
+ IL_7124: stloc.s V_20
+ IL_7126: ldsflda int64 IntrinsicTest::counter64
+ IL_712b: ldsfld int64 IntrinsicTest::counter64
+ IL_7130: ldloc.s V_6
+ IL_7132: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_7137: stloc.s V_4
+ IL_7139: ldsfld int64 IntrinsicTest::id_counter64
+ IL_713e: stloc.s V_14
+ IL_7140: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7145: ldloc.s V_16
+ IL_7147: bne.un.s IL_7155
+
+ IL_7149: ldsfld int64 IntrinsicTest::id_counter64
+ IL_714e: stsfld int64 IntrinsicTest::id_counter64
+ IL_7153: br.s IL_715f
+
+ IL_7155: ldsfld int64 IntrinsicTest::id_counter64
+ IL_715a: stsfld int64 IntrinsicTest::idjunk
+ IL_715f: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 3"
+ IL_7164: call void [System.Console]System.Console::WriteLine(string)
+ IL_7169: ldloc.0
+ IL_716a: ldloc.s V_10
+ IL_716c: beq.s IL_7188
+
+ IL_716e: ldc.i4.1
+ IL_716f: stloc.s V_20
+ IL_7171: ldstr "te0 check failed {0} {1}"
+ IL_7176: ldloc.0
+ IL_7177: box [mscorlib]System.Int32
+ IL_717c: ldloc.s V_10
+ IL_717e: box [mscorlib]System.Int32
+ IL_7183: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7188: ldloc.1
+ IL_7189: ldloc.s V_11
+ IL_718b: beq.s IL_71a7
+
+ IL_718d: ldc.i4.1
+ IL_718e: stloc.s V_20
+ IL_7190: ldstr "te1 check failed {0} {1}"
+ IL_7195: ldloc.1
+ IL_7196: box [mscorlib]System.Int32
+ IL_719b: ldloc.s V_11
+ IL_719d: box [mscorlib]System.Int32
+ IL_71a2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71a7: ldloc.2
+ IL_71a8: ldloc.s V_12
+ IL_71aa: beq.s IL_71c6
+
+ IL_71ac: ldc.i4.1
+ IL_71ad: stloc.s V_20
+ IL_71af: ldstr "te2 check failed {0} {1}"
+ IL_71b4: ldloc.2
+ IL_71b5: box [mscorlib]System.Int32
+ IL_71ba: ldloc.s V_12
+ IL_71bc: box [mscorlib]System.Int32
+ IL_71c1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71c6: ldloc.3
+ IL_71c7: ldloc.s V_13
+ IL_71c9: beq.s IL_71e5
+
+ IL_71cb: ldc.i4.1
+ IL_71cc: stloc.s V_20
+ IL_71ce: ldstr "te3 check failed {0} {1}"
+ IL_71d3: ldloc.3
+ IL_71d4: box [mscorlib]System.Int32
+ IL_71d9: ldloc.s V_13
+ IL_71db: box [mscorlib]System.Int32
+ IL_71e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71e5: ldloc.s V_4
+ IL_71e7: ldloc.s V_14
+ IL_71e9: beq.s IL_7206
+
+ IL_71eb: ldc.i4.1
+ IL_71ec: stloc.s V_20
+ IL_71ee: ldstr "te064 check failed {0} {1}"
+ IL_71f3: ldloc.s V_4
+ IL_71f5: box [mscorlib]System.Int64
+ IL_71fa: ldloc.s V_14
+ IL_71fc: box [mscorlib]System.Int64
+ IL_7201: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7206: ldloc.s V_5
+ IL_7208: ldloc.s V_15
+ IL_720a: beq.s IL_7227
+
+ IL_720c: ldc.i4.1
+ IL_720d: stloc.s V_20
+ IL_720f: ldstr "te164 check failed {0} {1}"
+ IL_7214: ldloc.s V_5
+ IL_7216: box [mscorlib]System.Int64
+ IL_721b: ldloc.s V_15
+ IL_721d: box [mscorlib]System.Int64
+ IL_7222: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7227: ldloc.s V_6
+ IL_7229: ldloc.s V_16
+ IL_722b: beq.s IL_7248
+
+ IL_722d: ldc.i4.1
+ IL_722e: stloc.s V_20
+ IL_7230: ldstr "te264 check failed {0} {1}"
+ IL_7235: ldloc.s V_6
+ IL_7237: box [mscorlib]System.Int64
+ IL_723c: ldloc.s V_16
+ IL_723e: box [mscorlib]System.Int64
+ IL_7243: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7248: ldloc.s V_7
+ IL_724a: ldloc.s V_17
+ IL_724c: beq.s IL_7269
+
+ IL_724e: ldc.i4.1
+ IL_724f: stloc.s V_20
+ IL_7251: ldstr "te364 check failed {0} {1}"
+ IL_7256: ldloc.s V_7
+ IL_7258: box [mscorlib]System.Int64
+ IL_725d: ldloc.s V_17
+ IL_725f: box [mscorlib]System.Int64
+ IL_7264: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7269: ldloc.s V_8
+ IL_726b: ldloc.s V_18
+ IL_726d: beq.s IL_728a
+
+ IL_726f: ldc.i4.1
+ IL_7270: stloc.s V_20
+ IL_7272: ldstr "dummy check failed {0} {1}"
+ IL_7277: ldloc.s V_8
+ IL_7279: box [mscorlib]System.Int32
+ IL_727e: ldloc.s V_18
+ IL_7280: box [mscorlib]System.Int32
+ IL_7285: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_728a: ldloc.s V_9
+ IL_728c: ldloc.s V_19
+ IL_728e: beq.s IL_72ab
+
+ IL_7290: ldc.i4.1
+ IL_7291: stloc.s V_20
+ IL_7293: ldstr "dummy64 check failed {0} {1}"
+ IL_7298: ldloc.s V_9
+ IL_729a: box [mscorlib]System.Int64
+ IL_729f: ldloc.s V_19
+ IL_72a1: box [mscorlib]System.Int64
+ IL_72a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_72ab: ldsfld int32 IntrinsicTest::counter
+ IL_72b0: ldsfld int32 IntrinsicTest::id_counter
+ IL_72b5: beq.s IL_72d8
+
+ IL_72b7: ldstr "counter mismatch {0} {1}"
+ IL_72bc: ldsfld int32 IntrinsicTest::counter
+ IL_72c1: box [mscorlib]System.Int32
+ IL_72c6: ldsfld int32 IntrinsicTest::id_counter
+ IL_72cb: box [mscorlib]System.Int32
+ IL_72d0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_72d5: ldc.i4.1
+ IL_72d6: stloc.s V_20
+ IL_72d8: ldsfld int64 IntrinsicTest::counter64
+ IL_72dd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_72e2: beq.s IL_7305
+
+ IL_72e4: ldstr "counter64 mismatch {0} {1}"
+ IL_72e9: ldsfld int64 IntrinsicTest::counter64
+ IL_72ee: box [mscorlib]System.Int64
+ IL_72f3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_72f8: box [mscorlib]System.Int64
+ IL_72fd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7302: ldc.i4.1
+ IL_7303: stloc.s V_20
+ IL_7305: ldloc.s V_21
+ IL_7307: ldfld int32 IntrinsicTest::instanceCounter
+ IL_730c: ldloc.s V_21
+ IL_730e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7313: beq.s IL_733a
+
+ IL_7315: ldstr "instanceCounter mismatch {0} {1}"
+ IL_731a: ldloc.s V_21
+ IL_731c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7321: box [mscorlib]System.Int32
+ IL_7326: ldloc.s V_21
+ IL_7328: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_732d: box [mscorlib]System.Int32
+ IL_7332: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7337: ldc.i4.1
+ IL_7338: stloc.s V_20
+ IL_733a: ldloc.s V_21
+ IL_733c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7341: ldloc.s V_21
+ IL_7343: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7348: beq.s IL_736f
+
+ IL_734a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_734f: ldloc.s V_21
+ IL_7351: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7356: box [mscorlib]System.Int64
+ IL_735b: ldloc.s V_21
+ IL_735d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7362: box [mscorlib]System.Int64
+ IL_7367: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_736c: ldc.i4.1
+ IL_736d: stloc.s V_20
+ IL_736f: ldsfld int64 IntrinsicTest::temp
+ IL_7374: ldsfld int64 IntrinsicTest::idmp
+ IL_7379: beq.s IL_739c
+
+ IL_737b: ldstr "temp mismatch {0} {1}"
+ IL_7380: ldsfld int64 IntrinsicTest::temp
+ IL_7385: box [mscorlib]System.Int64
+ IL_738a: ldsfld int64 IntrinsicTest::idmp
+ IL_738f: box [mscorlib]System.Int64
+ IL_7394: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7399: ldc.i4.1
+ IL_739a: stloc.s V_20
+ IL_739c: ldsflda int64 IntrinsicTest::counter64
+ IL_73a1: ldsfld int64 IntrinsicTest::counter64
+ IL_73a6: ldloc.s V_6
+ IL_73a8: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_73ad: stsfld int64 IntrinsicTest::counter64
+ IL_73b2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_73b7: stsfld int64 IntrinsicTest::id_counter64
+ IL_73bc: ldsfld int64 IntrinsicTest::id_counter64
+ IL_73c1: ldloc.s V_16
+ IL_73c3: bne.un.s IL_73d1
+
+ IL_73c5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_73ca: stsfld int64 IntrinsicTest::idjunk
+ IL_73cf: br.s IL_73db
+
+ IL_73d1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_73d6: stsfld int64 IntrinsicTest::idjunk
+ IL_73db: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 4"
+ IL_73e0: call void [System.Console]System.Console::WriteLine(string)
+ IL_73e5: ldloc.0
+ IL_73e6: ldloc.s V_10
+ IL_73e8: beq.s IL_7404
+
+ IL_73ea: ldc.i4.1
+ IL_73eb: stloc.s V_20
+ IL_73ed: ldstr "te0 check failed {0} {1}"
+ IL_73f2: ldloc.0
+ IL_73f3: box [mscorlib]System.Int32
+ IL_73f8: ldloc.s V_10
+ IL_73fa: box [mscorlib]System.Int32
+ IL_73ff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7404: ldloc.1
+ IL_7405: ldloc.s V_11
+ IL_7407: beq.s IL_7423
+
+ IL_7409: ldc.i4.1
+ IL_740a: stloc.s V_20
+ IL_740c: ldstr "te1 check failed {0} {1}"
+ IL_7411: ldloc.1
+ IL_7412: box [mscorlib]System.Int32
+ IL_7417: ldloc.s V_11
+ IL_7419: box [mscorlib]System.Int32
+ IL_741e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7423: ldloc.2
+ IL_7424: ldloc.s V_12
+ IL_7426: beq.s IL_7442
+
+ IL_7428: ldc.i4.1
+ IL_7429: stloc.s V_20
+ IL_742b: ldstr "te2 check failed {0} {1}"
+ IL_7430: ldloc.2
+ IL_7431: box [mscorlib]System.Int32
+ IL_7436: ldloc.s V_12
+ IL_7438: box [mscorlib]System.Int32
+ IL_743d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7442: ldloc.3
+ IL_7443: ldloc.s V_13
+ IL_7445: beq.s IL_7461
+
+ IL_7447: ldc.i4.1
+ IL_7448: stloc.s V_20
+ IL_744a: ldstr "te3 check failed {0} {1}"
+ IL_744f: ldloc.3
+ IL_7450: box [mscorlib]System.Int32
+ IL_7455: ldloc.s V_13
+ IL_7457: box [mscorlib]System.Int32
+ IL_745c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7461: ldloc.s V_4
+ IL_7463: ldloc.s V_14
+ IL_7465: beq.s IL_7482
+
+ IL_7467: ldc.i4.1
+ IL_7468: stloc.s V_20
+ IL_746a: ldstr "te064 check failed {0} {1}"
+ IL_746f: ldloc.s V_4
+ IL_7471: box [mscorlib]System.Int64
+ IL_7476: ldloc.s V_14
+ IL_7478: box [mscorlib]System.Int64
+ IL_747d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7482: ldloc.s V_5
+ IL_7484: ldloc.s V_15
+ IL_7486: beq.s IL_74a3
+
+ IL_7488: ldc.i4.1
+ IL_7489: stloc.s V_20
+ IL_748b: ldstr "te164 check failed {0} {1}"
+ IL_7490: ldloc.s V_5
+ IL_7492: box [mscorlib]System.Int64
+ IL_7497: ldloc.s V_15
+ IL_7499: box [mscorlib]System.Int64
+ IL_749e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_74a3: ldloc.s V_6
+ IL_74a5: ldloc.s V_16
+ IL_74a7: beq.s IL_74c4
+
+ IL_74a9: ldc.i4.1
+ IL_74aa: stloc.s V_20
+ IL_74ac: ldstr "te264 check failed {0} {1}"
+ IL_74b1: ldloc.s V_6
+ IL_74b3: box [mscorlib]System.Int64
+ IL_74b8: ldloc.s V_16
+ IL_74ba: box [mscorlib]System.Int64
+ IL_74bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_74c4: ldloc.s V_7
+ IL_74c6: ldloc.s V_17
+ IL_74c8: beq.s IL_74e5
+
+ IL_74ca: ldc.i4.1
+ IL_74cb: stloc.s V_20
+ IL_74cd: ldstr "te364 check failed {0} {1}"
+ IL_74d2: ldloc.s V_7
+ IL_74d4: box [mscorlib]System.Int64
+ IL_74d9: ldloc.s V_17
+ IL_74db: box [mscorlib]System.Int64
+ IL_74e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_74e5: ldloc.s V_8
+ IL_74e7: ldloc.s V_18
+ IL_74e9: beq.s IL_7506
+
+ IL_74eb: ldc.i4.1
+ IL_74ec: stloc.s V_20
+ IL_74ee: ldstr "dummy check failed {0} {1}"
+ IL_74f3: ldloc.s V_8
+ IL_74f5: box [mscorlib]System.Int32
+ IL_74fa: ldloc.s V_18
+ IL_74fc: box [mscorlib]System.Int32
+ IL_7501: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7506: ldloc.s V_9
+ IL_7508: ldloc.s V_19
+ IL_750a: beq.s IL_7527
+
+ IL_750c: ldc.i4.1
+ IL_750d: stloc.s V_20
+ IL_750f: ldstr "dummy64 check failed {0} {1}"
+ IL_7514: ldloc.s V_9
+ IL_7516: box [mscorlib]System.Int64
+ IL_751b: ldloc.s V_19
+ IL_751d: box [mscorlib]System.Int64
+ IL_7522: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7527: ldsfld int32 IntrinsicTest::counter
+ IL_752c: ldsfld int32 IntrinsicTest::id_counter
+ IL_7531: beq.s IL_7554
+
+ IL_7533: ldstr "counter mismatch {0} {1}"
+ IL_7538: ldsfld int32 IntrinsicTest::counter
+ IL_753d: box [mscorlib]System.Int32
+ IL_7542: ldsfld int32 IntrinsicTest::id_counter
+ IL_7547: box [mscorlib]System.Int32
+ IL_754c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7551: ldc.i4.1
+ IL_7552: stloc.s V_20
+ IL_7554: ldsfld int64 IntrinsicTest::counter64
+ IL_7559: ldsfld int64 IntrinsicTest::id_counter64
+ IL_755e: beq.s IL_7581
+
+ IL_7560: ldstr "counter64 mismatch {0} {1}"
+ IL_7565: ldsfld int64 IntrinsicTest::counter64
+ IL_756a: box [mscorlib]System.Int64
+ IL_756f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7574: box [mscorlib]System.Int64
+ IL_7579: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_757e: ldc.i4.1
+ IL_757f: stloc.s V_20
+ IL_7581: ldloc.s V_21
+ IL_7583: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7588: ldloc.s V_21
+ IL_758a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_758f: beq.s IL_75b6
+
+ IL_7591: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7596: ldloc.s V_21
+ IL_7598: ldfld int32 IntrinsicTest::instanceCounter
+ IL_759d: box [mscorlib]System.Int32
+ IL_75a2: ldloc.s V_21
+ IL_75a4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_75a9: box [mscorlib]System.Int32
+ IL_75ae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_75b3: ldc.i4.1
+ IL_75b4: stloc.s V_20
+ IL_75b6: ldloc.s V_21
+ IL_75b8: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_75bd: ldloc.s V_21
+ IL_75bf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_75c4: beq.s IL_75eb
+
+ IL_75c6: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_75cb: ldloc.s V_21
+ IL_75cd: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_75d2: box [mscorlib]System.Int64
+ IL_75d7: ldloc.s V_21
+ IL_75d9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_75de: box [mscorlib]System.Int64
+ IL_75e3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_75e8: ldc.i4.1
+ IL_75e9: stloc.s V_20
+ IL_75eb: ldsfld int64 IntrinsicTest::temp
+ IL_75f0: ldsfld int64 IntrinsicTest::idmp
+ IL_75f5: beq.s IL_7618
+
+ IL_75f7: ldstr "temp mismatch {0} {1}"
+ IL_75fc: ldsfld int64 IntrinsicTest::temp
+ IL_7601: box [mscorlib]System.Int64
+ IL_7606: ldsfld int64 IntrinsicTest::idmp
+ IL_760b: box [mscorlib]System.Int64
+ IL_7610: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7615: ldc.i4.1
+ IL_7616: stloc.s V_20
+ IL_7618: ldloc.s V_21
+ IL_761a: ldsflda int64 IntrinsicTest::counter64
+ IL_761f: ldsfld int64 IntrinsicTest::counter64
+ IL_7624: ldloc.s V_6
+ IL_7626: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_762b: stfld int64 IntrinsicTest::instanceCounter64
+ IL_7630: ldloc.s V_21
+ IL_7632: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7637: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_763c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7641: ldloc.s V_16
+ IL_7643: bne.un.s IL_7651
+
+ IL_7645: ldsfld int64 IntrinsicTest::id_counter64
+ IL_764a: stsfld int64 IntrinsicTest::id_counter64
+ IL_764f: br.s IL_765b
+
+ IL_7651: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7656: stsfld int64 IntrinsicTest::idjunk
+ IL_765b: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 5"
+ IL_7660: call void [System.Console]System.Console::WriteLine(string)
+ IL_7665: ldloc.0
+ IL_7666: ldloc.s V_10
+ IL_7668: beq.s IL_7684
+
+ IL_766a: ldc.i4.1
+ IL_766b: stloc.s V_20
+ IL_766d: ldstr "te0 check failed {0} {1}"
+ IL_7672: ldloc.0
+ IL_7673: box [mscorlib]System.Int32
+ IL_7678: ldloc.s V_10
+ IL_767a: box [mscorlib]System.Int32
+ IL_767f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7684: ldloc.1
+ IL_7685: ldloc.s V_11
+ IL_7687: beq.s IL_76a3
+
+ IL_7689: ldc.i4.1
+ IL_768a: stloc.s V_20
+ IL_768c: ldstr "te1 check failed {0} {1}"
+ IL_7691: ldloc.1
+ IL_7692: box [mscorlib]System.Int32
+ IL_7697: ldloc.s V_11
+ IL_7699: box [mscorlib]System.Int32
+ IL_769e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76a3: ldloc.2
+ IL_76a4: ldloc.s V_12
+ IL_76a6: beq.s IL_76c2
+
+ IL_76a8: ldc.i4.1
+ IL_76a9: stloc.s V_20
+ IL_76ab: ldstr "te2 check failed {0} {1}"
+ IL_76b0: ldloc.2
+ IL_76b1: box [mscorlib]System.Int32
+ IL_76b6: ldloc.s V_12
+ IL_76b8: box [mscorlib]System.Int32
+ IL_76bd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76c2: ldloc.3
+ IL_76c3: ldloc.s V_13
+ IL_76c5: beq.s IL_76e1
+
+ IL_76c7: ldc.i4.1
+ IL_76c8: stloc.s V_20
+ IL_76ca: ldstr "te3 check failed {0} {1}"
+ IL_76cf: ldloc.3
+ IL_76d0: box [mscorlib]System.Int32
+ IL_76d5: ldloc.s V_13
+ IL_76d7: box [mscorlib]System.Int32
+ IL_76dc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76e1: ldloc.s V_4
+ IL_76e3: ldloc.s V_14
+ IL_76e5: beq.s IL_7702
+
+ IL_76e7: ldc.i4.1
+ IL_76e8: stloc.s V_20
+ IL_76ea: ldstr "te064 check failed {0} {1}"
+ IL_76ef: ldloc.s V_4
+ IL_76f1: box [mscorlib]System.Int64
+ IL_76f6: ldloc.s V_14
+ IL_76f8: box [mscorlib]System.Int64
+ IL_76fd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7702: ldloc.s V_5
+ IL_7704: ldloc.s V_15
+ IL_7706: beq.s IL_7723
+
+ IL_7708: ldc.i4.1
+ IL_7709: stloc.s V_20
+ IL_770b: ldstr "te164 check failed {0} {1}"
+ IL_7710: ldloc.s V_5
+ IL_7712: box [mscorlib]System.Int64
+ IL_7717: ldloc.s V_15
+ IL_7719: box [mscorlib]System.Int64
+ IL_771e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7723: ldloc.s V_6
+ IL_7725: ldloc.s V_16
+ IL_7727: beq.s IL_7744
+
+ IL_7729: ldc.i4.1
+ IL_772a: stloc.s V_20
+ IL_772c: ldstr "te264 check failed {0} {1}"
+ IL_7731: ldloc.s V_6
+ IL_7733: box [mscorlib]System.Int64
+ IL_7738: ldloc.s V_16
+ IL_773a: box [mscorlib]System.Int64
+ IL_773f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7744: ldloc.s V_7
+ IL_7746: ldloc.s V_17
+ IL_7748: beq.s IL_7765
+
+ IL_774a: ldc.i4.1
+ IL_774b: stloc.s V_20
+ IL_774d: ldstr "te364 check failed {0} {1}"
+ IL_7752: ldloc.s V_7
+ IL_7754: box [mscorlib]System.Int64
+ IL_7759: ldloc.s V_17
+ IL_775b: box [mscorlib]System.Int64
+ IL_7760: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7765: ldloc.s V_8
+ IL_7767: ldloc.s V_18
+ IL_7769: beq.s IL_7786
+
+ IL_776b: ldc.i4.1
+ IL_776c: stloc.s V_20
+ IL_776e: ldstr "dummy check failed {0} {1}"
+ IL_7773: ldloc.s V_8
+ IL_7775: box [mscorlib]System.Int32
+ IL_777a: ldloc.s V_18
+ IL_777c: box [mscorlib]System.Int32
+ IL_7781: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7786: ldloc.s V_9
+ IL_7788: ldloc.s V_19
+ IL_778a: beq.s IL_77a7
+
+ IL_778c: ldc.i4.1
+ IL_778d: stloc.s V_20
+ IL_778f: ldstr "dummy64 check failed {0} {1}"
+ IL_7794: ldloc.s V_9
+ IL_7796: box [mscorlib]System.Int64
+ IL_779b: ldloc.s V_19
+ IL_779d: box [mscorlib]System.Int64
+ IL_77a2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77a7: ldsfld int32 IntrinsicTest::counter
+ IL_77ac: ldsfld int32 IntrinsicTest::id_counter
+ IL_77b1: beq.s IL_77d4
+
+ IL_77b3: ldstr "counter mismatch {0} {1}"
+ IL_77b8: ldsfld int32 IntrinsicTest::counter
+ IL_77bd: box [mscorlib]System.Int32
+ IL_77c2: ldsfld int32 IntrinsicTest::id_counter
+ IL_77c7: box [mscorlib]System.Int32
+ IL_77cc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77d1: ldc.i4.1
+ IL_77d2: stloc.s V_20
+ IL_77d4: ldsfld int64 IntrinsicTest::counter64
+ IL_77d9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_77de: beq.s IL_7801
+
+ IL_77e0: ldstr "counter64 mismatch {0} {1}"
+ IL_77e5: ldsfld int64 IntrinsicTest::counter64
+ IL_77ea: box [mscorlib]System.Int64
+ IL_77ef: ldsfld int64 IntrinsicTest::id_counter64
+ IL_77f4: box [mscorlib]System.Int64
+ IL_77f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77fe: ldc.i4.1
+ IL_77ff: stloc.s V_20
+ IL_7801: ldloc.s V_21
+ IL_7803: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7808: ldloc.s V_21
+ IL_780a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_780f: beq.s IL_7836
+
+ IL_7811: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7816: ldloc.s V_21
+ IL_7818: ldfld int32 IntrinsicTest::instanceCounter
+ IL_781d: box [mscorlib]System.Int32
+ IL_7822: ldloc.s V_21
+ IL_7824: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7829: box [mscorlib]System.Int32
+ IL_782e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7833: ldc.i4.1
+ IL_7834: stloc.s V_20
+ IL_7836: ldloc.s V_21
+ IL_7838: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_783d: ldloc.s V_21
+ IL_783f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7844: beq.s IL_786b
+
+ IL_7846: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_784b: ldloc.s V_21
+ IL_784d: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7852: box [mscorlib]System.Int64
+ IL_7857: ldloc.s V_21
+ IL_7859: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_785e: box [mscorlib]System.Int64
+ IL_7863: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7868: ldc.i4.1
+ IL_7869: stloc.s V_20
+ IL_786b: ldsfld int64 IntrinsicTest::temp
+ IL_7870: ldsfld int64 IntrinsicTest::idmp
+ IL_7875: beq.s IL_7898
+
+ IL_7877: ldstr "temp mismatch {0} {1}"
+ IL_787c: ldsfld int64 IntrinsicTest::temp
+ IL_7881: box [mscorlib]System.Int64
+ IL_7886: ldsfld int64 IntrinsicTest::idmp
+ IL_788b: box [mscorlib]System.Int64
+ IL_7890: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7895: ldc.i4.1
+ IL_7896: stloc.s V_20
+ IL_7898: ldsflda int64 IntrinsicTest::counter64
+ IL_789d: ldsfld int64 IntrinsicTest::counter64
+ IL_78a2: ldloc.s V_6
+ IL_78a4: call int64 [mscorlib]System.Threading.Interlocked::CompareExchange(int64&,
+ int64,
+ int64)
+ IL_78a9: stloc.s V_7
+ IL_78ab: ldsfld int64 IntrinsicTest::id_counter64
+ IL_78b0: stloc.s V_17
+ IL_78b2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_78b7: ldloc.s V_16
+ IL_78b9: bne.un.s IL_78c7
+
+ IL_78bb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_78c0: stsfld int64 IntrinsicTest::id_counter64
+ IL_78c5: br.s IL_78d1
+
+ IL_78c7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_78cc: stsfld int64 IntrinsicTest::idjunk
+ IL_78d1: ldstr "------------------------------------CMPXCHG 64 1 1"
+ + " 6 6"
+ IL_78d6: call void [System.Console]System.Console::WriteLine(string)
+ IL_78db: ldloc.0
+ IL_78dc: ldloc.s V_10
+ IL_78de: beq.s IL_78fa
+
+ IL_78e0: ldc.i4.1
+ IL_78e1: stloc.s V_20
+ IL_78e3: ldstr "te0 check failed {0} {1}"
+ IL_78e8: ldloc.0
+ IL_78e9: box [mscorlib]System.Int32
+ IL_78ee: ldloc.s V_10
+ IL_78f0: box [mscorlib]System.Int32
+ IL_78f5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_78fa: ldloc.1
+ IL_78fb: ldloc.s V_11
+ IL_78fd: beq.s IL_7919
+
+ IL_78ff: ldc.i4.1
+ IL_7900: stloc.s V_20
+ IL_7902: ldstr "te1 check failed {0} {1}"
+ IL_7907: ldloc.1
+ IL_7908: box [mscorlib]System.Int32
+ IL_790d: ldloc.s V_11
+ IL_790f: box [mscorlib]System.Int32
+ IL_7914: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7919: ldloc.2
+ IL_791a: ldloc.s V_12
+ IL_791c: beq.s IL_7938
+
+ IL_791e: ldc.i4.1
+ IL_791f: stloc.s V_20
+ IL_7921: ldstr "te2 check failed {0} {1}"
+ IL_7926: ldloc.2
+ IL_7927: box [mscorlib]System.Int32
+ IL_792c: ldloc.s V_12
+ IL_792e: box [mscorlib]System.Int32
+ IL_7933: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7938: ldloc.3
+ IL_7939: ldloc.s V_13
+ IL_793b: beq.s IL_7957
+
+ IL_793d: ldc.i4.1
+ IL_793e: stloc.s V_20
+ IL_7940: ldstr "te3 check failed {0} {1}"
+ IL_7945: ldloc.3
+ IL_7946: box [mscorlib]System.Int32
+ IL_794b: ldloc.s V_13
+ IL_794d: box [mscorlib]System.Int32
+ IL_7952: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7957: ldloc.s V_4
+ IL_7959: ldloc.s V_14
+ IL_795b: beq.s IL_7978
+
+ IL_795d: ldc.i4.1
+ IL_795e: stloc.s V_20
+ IL_7960: ldstr "te064 check failed {0} {1}"
+ IL_7965: ldloc.s V_4
+ IL_7967: box [mscorlib]System.Int64
+ IL_796c: ldloc.s V_14
+ IL_796e: box [mscorlib]System.Int64
+ IL_7973: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7978: ldloc.s V_5
+ IL_797a: ldloc.s V_15
+ IL_797c: beq.s IL_7999
+
+ IL_797e: ldc.i4.1
+ IL_797f: stloc.s V_20
+ IL_7981: ldstr "te164 check failed {0} {1}"
+ IL_7986: ldloc.s V_5
+ IL_7988: box [mscorlib]System.Int64
+ IL_798d: ldloc.s V_15
+ IL_798f: box [mscorlib]System.Int64
+ IL_7994: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7999: ldloc.s V_6
+ IL_799b: ldloc.s V_16
+ IL_799d: beq.s IL_79ba
+
+ IL_799f: ldc.i4.1
+ IL_79a0: stloc.s V_20
+ IL_79a2: ldstr "te264 check failed {0} {1}"
+ IL_79a7: ldloc.s V_6
+ IL_79a9: box [mscorlib]System.Int64
+ IL_79ae: ldloc.s V_16
+ IL_79b0: box [mscorlib]System.Int64
+ IL_79b5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79ba: ldloc.s V_7
+ IL_79bc: ldloc.s V_17
+ IL_79be: beq.s IL_79db
+
+ IL_79c0: ldc.i4.1
+ IL_79c1: stloc.s V_20
+ IL_79c3: ldstr "te364 check failed {0} {1}"
+ IL_79c8: ldloc.s V_7
+ IL_79ca: box [mscorlib]System.Int64
+ IL_79cf: ldloc.s V_17
+ IL_79d1: box [mscorlib]System.Int64
+ IL_79d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79db: ldloc.s V_8
+ IL_79dd: ldloc.s V_18
+ IL_79df: beq.s IL_79fc
+
+ IL_79e1: ldc.i4.1
+ IL_79e2: stloc.s V_20
+ IL_79e4: ldstr "dummy check failed {0} {1}"
+ IL_79e9: ldloc.s V_8
+ IL_79eb: box [mscorlib]System.Int32
+ IL_79f0: ldloc.s V_18
+ IL_79f2: box [mscorlib]System.Int32
+ IL_79f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79fc: ldloc.s V_9
+ IL_79fe: ldloc.s V_19
+ IL_7a00: beq.s IL_7a1d
+
+ IL_7a02: ldc.i4.1
+ IL_7a03: stloc.s V_20
+ IL_7a05: ldstr "dummy64 check failed {0} {1}"
+ IL_7a0a: ldloc.s V_9
+ IL_7a0c: box [mscorlib]System.Int64
+ IL_7a11: ldloc.s V_19
+ IL_7a13: box [mscorlib]System.Int64
+ IL_7a18: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a1d: ldsfld int32 IntrinsicTest::counter
+ IL_7a22: ldsfld int32 IntrinsicTest::id_counter
+ IL_7a27: beq.s IL_7a4a
+
+ IL_7a29: ldstr "counter mismatch {0} {1}"
+ IL_7a2e: ldsfld int32 IntrinsicTest::counter
+ IL_7a33: box [mscorlib]System.Int32
+ IL_7a38: ldsfld int32 IntrinsicTest::id_counter
+ IL_7a3d: box [mscorlib]System.Int32
+ IL_7a42: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a47: ldc.i4.1
+ IL_7a48: stloc.s V_20
+ IL_7a4a: ldsfld int64 IntrinsicTest::counter64
+ IL_7a4f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7a54: beq.s IL_7a77
+
+ IL_7a56: ldstr "counter64 mismatch {0} {1}"
+ IL_7a5b: ldsfld int64 IntrinsicTest::counter64
+ IL_7a60: box [mscorlib]System.Int64
+ IL_7a65: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7a6a: box [mscorlib]System.Int64
+ IL_7a6f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a74: ldc.i4.1
+ IL_7a75: stloc.s V_20
+ IL_7a77: ldloc.s V_21
+ IL_7a79: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7a7e: ldloc.s V_21
+ IL_7a80: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7a85: beq.s IL_7aac
+
+ IL_7a87: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7a8c: ldloc.s V_21
+ IL_7a8e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7a93: box [mscorlib]System.Int32
+ IL_7a98: ldloc.s V_21
+ IL_7a9a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7a9f: box [mscorlib]System.Int32
+ IL_7aa4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7aa9: ldc.i4.1
+ IL_7aaa: stloc.s V_20
+ IL_7aac: ldloc.s V_21
+ IL_7aae: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7ab3: ldloc.s V_21
+ IL_7ab5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7aba: beq.s IL_7ae1
+
+ IL_7abc: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_7ac1: ldloc.s V_21
+ IL_7ac3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7ac8: box [mscorlib]System.Int64
+ IL_7acd: ldloc.s V_21
+ IL_7acf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7ad4: box [mscorlib]System.Int64
+ IL_7ad9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7ade: ldc.i4.1
+ IL_7adf: stloc.s V_20
+ IL_7ae1: ldsfld int64 IntrinsicTest::temp
+ IL_7ae6: ldsfld int64 IntrinsicTest::idmp
+ IL_7aeb: beq.s IL_7b0e
+
+ IL_7aed: ldstr "temp mismatch {0} {1}"
+ IL_7af2: ldsfld int64 IntrinsicTest::temp
+ IL_7af7: box [mscorlib]System.Int64
+ IL_7afc: ldsfld int64 IntrinsicTest::idmp
+ IL_7b01: box [mscorlib]System.Int64
+ IL_7b06: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7b0b: ldc.i4.1
+ IL_7b0c: stloc.s V_20
+ IL_7b0e: ldloc.s V_20
+ IL_7b10: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call bool IntrinsicTest::MainTest()
+ IL_0005: brfalse.s IL_0014
+
+ IL_0007: ldstr "Test Failed"
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: ret
+
+ IL_0014: ldstr "Test Passed"
+ IL_0019: call void [System.Console]System.Console::WriteLine(string)
+ IL_001e: ldc.i4.s 100
+ IL_0020: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stsfld int32 IntrinsicTest::counter
+ IL_000a: ldc.i4 0xcad
+ IL_000f: conv.i8
+ IL_0010: stsfld int64 IntrinsicTest::counter64
+ IL_0015: ldc.i4 0xcad
+ IL_001a: stsfld int32 IntrinsicTest::id_counter
+ IL_001f: ldc.i4 0xcad
+ IL_0024: conv.i8
+ IL_0025: stsfld int64 IntrinsicTest::id_counter64
+ IL_002a: ldc.i4 0x457
+ IL_002f: conv.i8
+ IL_0030: stsfld int64 IntrinsicTest::temp
+ IL_0035: ldc.i4 0x457
+ IL_003a: conv.i8
+ IL_003b: stsfld int64 IntrinsicTest::idmp
+ IL_0040: ldc.i4.0
+ IL_0041: conv.i8
+ IL_0042: stsfld int64 IntrinsicTest::idjunk
+ IL_0047: ret
+ }
+
+}
+
+ .data bytearray1 = bytearray ( 0 0 0 0 )
+
+ .data RVAInt = int32 (3245)
+
+ .data RVALong = int64 (3245)
+
+
+
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic2.il b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic2.il
new file mode 100644
index 0000000000..adae4ef764
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic2.il
@@ -0,0 +1,12063 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly o
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module o.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit IntrinsicTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 counter at RVAInt
+ .field private int32 instanceCounter
+ .field private static int64 counter64 at RVALong
+ .field private int64 instanceCounter64
+ .field private static int32 id_counter
+ .field private int32 id_instanceCounter
+ .field private static int64 id_counter64
+ .field private int64 id_instanceCounter64
+ .field private static int64 temp
+ .field private static int64 idmp
+ .field private static int64 idjunk
+ .method private hidebysig specialname rtspecialname
+ instance void .ctor() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldc.i4 0xcad
+ IL_000c: stfld int32 IntrinsicTest::instanceCounter
+ IL_0011: ldarg.0
+ IL_0012: ldc.i4 0xcad
+ IL_0017: conv.i8
+ IL_0018: stfld int64 IntrinsicTest::instanceCounter64
+ IL_001d: ldarg.0
+ IL_001e: ldc.i4 0xcad
+ IL_0023: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_0028: ldarg.0
+ IL_0029: ldc.i4 0xcad
+ IL_002e: conv.i8
+ IL_002f: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0034: ret
+ }
+
+ .method public hidebysig instance int32
+ GetValue() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::temp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::temp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance int32
+ id_GetValue() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::idmp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::idmp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig static bool MainTest() cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4,
+ int64 V_5,
+ int64 V_6,
+ int64 V_7,
+ int32 V_8,
+ int64 V_9,
+ int32 V_10,
+ int32 V_11,
+ int32 V_12,
+ int32 V_13,
+ int64 V_14,
+ int64 V_15,
+ int64 V_16,
+ int64 V_17,
+ int32 V_18,
+ int64 V_19,
+ bool V_20,
+ class IntrinsicTest V_21)
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stloc.0
+ IL_0006: ldc.i4 0x10e5
+ IL_000b: stloc.1
+ IL_000c: ldc.i4 0x10e5
+ IL_0011: stloc.2
+ IL_0012: ldc.i4 0x856
+ IL_0017: stloc.3
+ IL_0018: ldc.i4 0x6efa2
+ IL_001d: conv.i8
+ IL_001e: stloc.s V_4
+ IL_0020: ldc.i4 0x54635
+ IL_0025: conv.i8
+ IL_0026: stloc.s V_5
+ IL_0028: ldc.i4 0x54635
+ IL_002d: conv.i8
+ IL_002e: stloc.s V_6
+ IL_0030: ldc.i4 0x545dc
+ IL_0035: conv.i8
+ IL_0036: stloc.s V_7
+ IL_0038: ldc.i4 0x1103
+ IL_003d: stloc.s V_8
+ IL_003f: ldc.i4 0xa03d6
+ IL_0044: conv.i8
+ IL_0045: stloc.s V_9
+ IL_0047: ldc.i4 0xcad
+ IL_004c: stloc.s V_10
+ IL_004e: ldc.i4 0x10e5
+ IL_0053: stloc.s V_11
+ IL_0055: ldc.i4 0x10e5
+ IL_005a: stloc.s V_12
+ IL_005c: ldc.i4 0x856
+ IL_0061: stloc.s V_13
+ IL_0063: ldc.i4 0x6efa2
+ IL_0068: conv.i8
+ IL_0069: stloc.s V_14
+ IL_006b: ldc.i4 0x54635
+ IL_0070: conv.i8
+ IL_0071: stloc.s V_15
+ IL_0073: ldc.i4 0x54635
+ IL_0078: conv.i8
+ IL_0079: stloc.s V_16
+ IL_007b: ldc.i4 0x545dc
+ IL_0080: conv.i8
+ IL_0081: stloc.s V_17
+ IL_0083: ldc.i4 0x1103
+ IL_0088: stloc.s V_18
+ IL_008a: ldc.i4 0xa03d6
+ IL_008f: conv.i8
+ IL_0090: stloc.s V_19
+ IL_0092: ldc.i4.0
+ IL_0093: stloc.s V_20
+ IL_0095: newobj instance void IntrinsicTest::.ctor()
+ IL_009a: stloc.s V_21
+ IL_009c: ldsflda int32 IntrinsicTest::counter
+ IL_00a1: ldsfld int32 IntrinsicTest::counter
+ IL_00a6: ldloc.0
+ IL_00a7: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_00ac: stloc.0
+ IL_00ad: ldsfld int32 IntrinsicTest::id_counter
+ IL_00b2: stloc.s V_10
+ IL_00b4: ldsfld int32 IntrinsicTest::id_counter
+ IL_00b9: ldloc.s V_10
+ IL_00bb: bne.un.s IL_00c9
+
+ IL_00bd: ldsfld int32 IntrinsicTest::id_counter
+ IL_00c2: stsfld int32 IntrinsicTest::id_counter
+ IL_00c7: br.s IL_00d4
+
+ IL_00c9: ldsfld int32 IntrinsicTest::id_counter
+ IL_00ce: conv.i8
+ IL_00cf: stsfld int64 IntrinsicTest::idjunk
+ IL_00d4: ldstr "------------------------------------CMPXCHG 1 1 0 0"
+ IL_00d9: call void [System.Console]System.Console::WriteLine(string)
+ IL_00de: ldloc.0
+ IL_00df: ldloc.s V_10
+ IL_00e1: beq.s IL_00fd
+
+ IL_00e3: ldc.i4.1
+ IL_00e4: stloc.s V_20
+ IL_00e6: ldstr "te0 check failed {0} {1}"
+ IL_00eb: ldloc.0
+ IL_00ec: box [mscorlib]System.Int32
+ IL_00f1: ldloc.s V_10
+ IL_00f3: box [mscorlib]System.Int32
+ IL_00f8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_00fd: ldloc.1
+ IL_00fe: ldloc.s V_11
+ IL_0100: beq.s IL_011c
+
+ IL_0102: ldc.i4.1
+ IL_0103: stloc.s V_20
+ IL_0105: ldstr "te1 check failed {0} {1}"
+ IL_010a: ldloc.1
+ IL_010b: box [mscorlib]System.Int32
+ IL_0110: ldloc.s V_11
+ IL_0112: box [mscorlib]System.Int32
+ IL_0117: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_011c: ldloc.2
+ IL_011d: ldloc.s V_12
+ IL_011f: beq.s IL_013b
+
+ IL_0121: ldc.i4.1
+ IL_0122: stloc.s V_20
+ IL_0124: ldstr "te2 check failed {0} {1}"
+ IL_0129: ldloc.2
+ IL_012a: box [mscorlib]System.Int32
+ IL_012f: ldloc.s V_12
+ IL_0131: box [mscorlib]System.Int32
+ IL_0136: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_013b: ldloc.3
+ IL_013c: ldloc.s V_13
+ IL_013e: beq.s IL_015a
+
+ IL_0140: ldc.i4.1
+ IL_0141: stloc.s V_20
+ IL_0143: ldstr "te3 check failed {0} {1}"
+ IL_0148: ldloc.3
+ IL_0149: box [mscorlib]System.Int32
+ IL_014e: ldloc.s V_13
+ IL_0150: box [mscorlib]System.Int32
+ IL_0155: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_015a: ldloc.s V_4
+ IL_015c: ldloc.s V_14
+ IL_015e: beq.s IL_017b
+
+ IL_0160: ldc.i4.1
+ IL_0161: stloc.s V_20
+ IL_0163: ldstr "te064 check failed {0} {1}"
+ IL_0168: ldloc.s V_4
+ IL_016a: box [mscorlib]System.Int64
+ IL_016f: ldloc.s V_14
+ IL_0171: box [mscorlib]System.Int64
+ IL_0176: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_017b: ldloc.s V_5
+ IL_017d: ldloc.s V_15
+ IL_017f: beq.s IL_019c
+
+ IL_0181: ldc.i4.1
+ IL_0182: stloc.s V_20
+ IL_0184: ldstr "te164 check failed {0} {1}"
+ IL_0189: ldloc.s V_5
+ IL_018b: box [mscorlib]System.Int64
+ IL_0190: ldloc.s V_15
+ IL_0192: box [mscorlib]System.Int64
+ IL_0197: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_019c: ldloc.s V_6
+ IL_019e: ldloc.s V_16
+ IL_01a0: beq.s IL_01bd
+
+ IL_01a2: ldc.i4.1
+ IL_01a3: stloc.s V_20
+ IL_01a5: ldstr "te264 check failed {0} {1}"
+ IL_01aa: ldloc.s V_6
+ IL_01ac: box [mscorlib]System.Int64
+ IL_01b1: ldloc.s V_16
+ IL_01b3: box [mscorlib]System.Int64
+ IL_01b8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01bd: ldloc.s V_7
+ IL_01bf: ldloc.s V_17
+ IL_01c1: beq.s IL_01de
+
+ IL_01c3: ldc.i4.1
+ IL_01c4: stloc.s V_20
+ IL_01c6: ldstr "te364 check failed {0} {1}"
+ IL_01cb: ldloc.s V_7
+ IL_01cd: box [mscorlib]System.Int64
+ IL_01d2: ldloc.s V_17
+ IL_01d4: box [mscorlib]System.Int64
+ IL_01d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01de: ldloc.s V_8
+ IL_01e0: ldloc.s V_18
+ IL_01e2: beq.s IL_01ff
+
+ IL_01e4: ldc.i4.1
+ IL_01e5: stloc.s V_20
+ IL_01e7: ldstr "dummy check failed {0} {1}"
+ IL_01ec: ldloc.s V_8
+ IL_01ee: box [mscorlib]System.Int32
+ IL_01f3: ldloc.s V_18
+ IL_01f5: box [mscorlib]System.Int32
+ IL_01fa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01ff: ldloc.s V_9
+ IL_0201: ldloc.s V_19
+ IL_0203: beq.s IL_0220
+
+ IL_0205: ldc.i4.1
+ IL_0206: stloc.s V_20
+ IL_0208: ldstr "dummy64 check failed {0} {1}"
+ IL_020d: ldloc.s V_9
+ IL_020f: box [mscorlib]System.Int64
+ IL_0214: ldloc.s V_19
+ IL_0216: box [mscorlib]System.Int64
+ IL_021b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0220: ldsfld int32 IntrinsicTest::counter
+ IL_0225: ldsfld int32 IntrinsicTest::id_counter
+ IL_022a: beq.s IL_024d
+
+ IL_022c: ldstr "counter mismatch {0} {1}"
+ IL_0231: ldsfld int32 IntrinsicTest::counter
+ IL_0236: box [mscorlib]System.Int32
+ IL_023b: ldsfld int32 IntrinsicTest::id_counter
+ IL_0240: box [mscorlib]System.Int32
+ IL_0245: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_024a: ldc.i4.1
+ IL_024b: stloc.s V_20
+ IL_024d: ldsfld int64 IntrinsicTest::counter64
+ IL_0252: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0257: beq.s IL_027a
+
+ IL_0259: ldstr "counter64 mismatch {0} {1}"
+ IL_025e: ldsfld int64 IntrinsicTest::counter64
+ IL_0263: box [mscorlib]System.Int64
+ IL_0268: ldsfld int64 IntrinsicTest::id_counter64
+ IL_026d: box [mscorlib]System.Int64
+ IL_0272: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0277: ldc.i4.1
+ IL_0278: stloc.s V_20
+ IL_027a: ldloc.s V_21
+ IL_027c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0281: ldloc.s V_21
+ IL_0283: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0288: beq.s IL_02af
+
+ IL_028a: ldstr "instanceCounter mismatch {0} {1}"
+ IL_028f: ldloc.s V_21
+ IL_0291: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0296: box [mscorlib]System.Int32
+ IL_029b: ldloc.s V_21
+ IL_029d: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_02a2: box [mscorlib]System.Int32
+ IL_02a7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02ac: ldc.i4.1
+ IL_02ad: stloc.s V_20
+ IL_02af: ldloc.s V_21
+ IL_02b1: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02b6: ldloc.s V_21
+ IL_02b8: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02bd: beq.s IL_02e4
+
+ IL_02bf: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_02c4: ldloc.s V_21
+ IL_02c6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02cb: box [mscorlib]System.Int64
+ IL_02d0: ldloc.s V_21
+ IL_02d2: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02d7: box [mscorlib]System.Int64
+ IL_02dc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02e1: ldc.i4.1
+ IL_02e2: stloc.s V_20
+ IL_02e4: ldsfld int64 IntrinsicTest::temp
+ IL_02e9: ldsfld int64 IntrinsicTest::idmp
+ IL_02ee: beq.s IL_0311
+
+ IL_02f0: ldstr "temp mismatch {0} {1}"
+ IL_02f5: ldsfld int64 IntrinsicTest::temp
+ IL_02fa: box [mscorlib]System.Int64
+ IL_02ff: ldsfld int64 IntrinsicTest::idmp
+ IL_0304: box [mscorlib]System.Int64
+ IL_0309: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_030e: ldc.i4.1
+ IL_030f: stloc.s V_20
+ IL_0311: ldsflda int32 IntrinsicTest::counter
+ IL_0316: ldsfld int32 IntrinsicTest::counter
+ IL_031b: ldloc.0
+ IL_031c: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_0321: stsfld int32 IntrinsicTest::counter
+ IL_0326: ldsfld int32 IntrinsicTest::id_counter
+ IL_032b: stsfld int32 IntrinsicTest::id_counter
+ IL_0330: ldsfld int32 IntrinsicTest::id_counter
+ IL_0335: ldloc.s V_10
+ IL_0337: bne.un.s IL_0346
+
+ IL_0339: ldsfld int32 IntrinsicTest::id_counter
+ IL_033e: conv.i8
+ IL_033f: stsfld int64 IntrinsicTest::idjunk
+ IL_0344: br.s IL_0351
+
+ IL_0346: ldsfld int32 IntrinsicTest::id_counter
+ IL_034b: conv.i8
+ IL_034c: stsfld int64 IntrinsicTest::idjunk
+ IL_0351: ldstr "------------------------------------CMPXCHG 1 1 0 1"
+ IL_0356: call void [System.Console]System.Console::WriteLine(string)
+ IL_035b: ldloc.0
+ IL_035c: ldloc.s V_10
+ IL_035e: beq.s IL_037a
+
+ IL_0360: ldc.i4.1
+ IL_0361: stloc.s V_20
+ IL_0363: ldstr "te0 check failed {0} {1}"
+ IL_0368: ldloc.0
+ IL_0369: box [mscorlib]System.Int32
+ IL_036e: ldloc.s V_10
+ IL_0370: box [mscorlib]System.Int32
+ IL_0375: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_037a: ldloc.1
+ IL_037b: ldloc.s V_11
+ IL_037d: beq.s IL_0399
+
+ IL_037f: ldc.i4.1
+ IL_0380: stloc.s V_20
+ IL_0382: ldstr "te1 check failed {0} {1}"
+ IL_0387: ldloc.1
+ IL_0388: box [mscorlib]System.Int32
+ IL_038d: ldloc.s V_11
+ IL_038f: box [mscorlib]System.Int32
+ IL_0394: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0399: ldloc.2
+ IL_039a: ldloc.s V_12
+ IL_039c: beq.s IL_03b8
+
+ IL_039e: ldc.i4.1
+ IL_039f: stloc.s V_20
+ IL_03a1: ldstr "te2 check failed {0} {1}"
+ IL_03a6: ldloc.2
+ IL_03a7: box [mscorlib]System.Int32
+ IL_03ac: ldloc.s V_12
+ IL_03ae: box [mscorlib]System.Int32
+ IL_03b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03b8: ldloc.3
+ IL_03b9: ldloc.s V_13
+ IL_03bb: beq.s IL_03d7
+
+ IL_03bd: ldc.i4.1
+ IL_03be: stloc.s V_20
+ IL_03c0: ldstr "te3 check failed {0} {1}"
+ IL_03c5: ldloc.3
+ IL_03c6: box [mscorlib]System.Int32
+ IL_03cb: ldloc.s V_13
+ IL_03cd: box [mscorlib]System.Int32
+ IL_03d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03d7: ldloc.s V_4
+ IL_03d9: ldloc.s V_14
+ IL_03db: beq.s IL_03f8
+
+ IL_03dd: ldc.i4.1
+ IL_03de: stloc.s V_20
+ IL_03e0: ldstr "te064 check failed {0} {1}"
+ IL_03e5: ldloc.s V_4
+ IL_03e7: box [mscorlib]System.Int64
+ IL_03ec: ldloc.s V_14
+ IL_03ee: box [mscorlib]System.Int64
+ IL_03f3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03f8: ldloc.s V_5
+ IL_03fa: ldloc.s V_15
+ IL_03fc: beq.s IL_0419
+
+ IL_03fe: ldc.i4.1
+ IL_03ff: stloc.s V_20
+ IL_0401: ldstr "te164 check failed {0} {1}"
+ IL_0406: ldloc.s V_5
+ IL_0408: box [mscorlib]System.Int64
+ IL_040d: ldloc.s V_15
+ IL_040f: box [mscorlib]System.Int64
+ IL_0414: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0419: ldloc.s V_6
+ IL_041b: ldloc.s V_16
+ IL_041d: beq.s IL_043a
+
+ IL_041f: ldc.i4.1
+ IL_0420: stloc.s V_20
+ IL_0422: ldstr "te264 check failed {0} {1}"
+ IL_0427: ldloc.s V_6
+ IL_0429: box [mscorlib]System.Int64
+ IL_042e: ldloc.s V_16
+ IL_0430: box [mscorlib]System.Int64
+ IL_0435: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_043a: ldloc.s V_7
+ IL_043c: ldloc.s V_17
+ IL_043e: beq.s IL_045b
+
+ IL_0440: ldc.i4.1
+ IL_0441: stloc.s V_20
+ IL_0443: ldstr "te364 check failed {0} {1}"
+ IL_0448: ldloc.s V_7
+ IL_044a: box [mscorlib]System.Int64
+ IL_044f: ldloc.s V_17
+ IL_0451: box [mscorlib]System.Int64
+ IL_0456: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_045b: ldloc.s V_8
+ IL_045d: ldloc.s V_18
+ IL_045f: beq.s IL_047c
+
+ IL_0461: ldc.i4.1
+ IL_0462: stloc.s V_20
+ IL_0464: ldstr "dummy check failed {0} {1}"
+ IL_0469: ldloc.s V_8
+ IL_046b: box [mscorlib]System.Int32
+ IL_0470: ldloc.s V_18
+ IL_0472: box [mscorlib]System.Int32
+ IL_0477: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_047c: ldloc.s V_9
+ IL_047e: ldloc.s V_19
+ IL_0480: beq.s IL_049d
+
+ IL_0482: ldc.i4.1
+ IL_0483: stloc.s V_20
+ IL_0485: ldstr "dummy64 check failed {0} {1}"
+ IL_048a: ldloc.s V_9
+ IL_048c: box [mscorlib]System.Int64
+ IL_0491: ldloc.s V_19
+ IL_0493: box [mscorlib]System.Int64
+ IL_0498: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_049d: ldsfld int32 IntrinsicTest::counter
+ IL_04a2: ldsfld int32 IntrinsicTest::id_counter
+ IL_04a7: beq.s IL_04ca
+
+ IL_04a9: ldstr "counter mismatch {0} {1}"
+ IL_04ae: ldsfld int32 IntrinsicTest::counter
+ IL_04b3: box [mscorlib]System.Int32
+ IL_04b8: ldsfld int32 IntrinsicTest::id_counter
+ IL_04bd: box [mscorlib]System.Int32
+ IL_04c2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04c7: ldc.i4.1
+ IL_04c8: stloc.s V_20
+ IL_04ca: ldsfld int64 IntrinsicTest::counter64
+ IL_04cf: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04d4: beq.s IL_04f7
+
+ IL_04d6: ldstr "counter64 mismatch {0} {1}"
+ IL_04db: ldsfld int64 IntrinsicTest::counter64
+ IL_04e0: box [mscorlib]System.Int64
+ IL_04e5: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04ea: box [mscorlib]System.Int64
+ IL_04ef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04f4: ldc.i4.1
+ IL_04f5: stloc.s V_20
+ IL_04f7: ldloc.s V_21
+ IL_04f9: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04fe: ldloc.s V_21
+ IL_0500: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0505: beq.s IL_052c
+
+ IL_0507: ldstr "instanceCounter mismatch {0} {1}"
+ IL_050c: ldloc.s V_21
+ IL_050e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0513: box [mscorlib]System.Int32
+ IL_0518: ldloc.s V_21
+ IL_051a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_051f: box [mscorlib]System.Int32
+ IL_0524: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0529: ldc.i4.1
+ IL_052a: stloc.s V_20
+ IL_052c: ldloc.s V_21
+ IL_052e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0533: ldloc.s V_21
+ IL_0535: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_053a: beq.s IL_0561
+
+ IL_053c: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0541: ldloc.s V_21
+ IL_0543: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0548: box [mscorlib]System.Int64
+ IL_054d: ldloc.s V_21
+ IL_054f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0554: box [mscorlib]System.Int64
+ IL_0559: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_055e: ldc.i4.1
+ IL_055f: stloc.s V_20
+ IL_0561: ldsfld int64 IntrinsicTest::temp
+ IL_0566: ldsfld int64 IntrinsicTest::idmp
+ IL_056b: beq.s IL_058e
+
+ IL_056d: ldstr "temp mismatch {0} {1}"
+ IL_0572: ldsfld int64 IntrinsicTest::temp
+ IL_0577: box [mscorlib]System.Int64
+ IL_057c: ldsfld int64 IntrinsicTest::idmp
+ IL_0581: box [mscorlib]System.Int64
+ IL_0586: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_058b: ldc.i4.1
+ IL_058c: stloc.s V_20
+ IL_058e: ldloc.s V_21
+ IL_0590: ldsflda int32 IntrinsicTest::counter
+ IL_0595: ldsfld int32 IntrinsicTest::counter
+ IL_059a: ldloc.0
+ IL_059b: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_05a0: stfld int32 IntrinsicTest::instanceCounter
+ IL_05a5: ldloc.s V_21
+ IL_05a7: ldsfld int32 IntrinsicTest::id_counter
+ IL_05ac: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_05b1: ldsfld int32 IntrinsicTest::id_counter
+ IL_05b6: ldloc.s V_10
+ IL_05b8: bne.un.s IL_05c6
+
+ IL_05ba: ldsfld int32 IntrinsicTest::id_counter
+ IL_05bf: stsfld int32 IntrinsicTest::id_counter
+ IL_05c4: br.s IL_05d1
+
+ IL_05c6: ldsfld int32 IntrinsicTest::id_counter
+ IL_05cb: conv.i8
+ IL_05cc: stsfld int64 IntrinsicTest::idjunk
+ IL_05d1: ldstr "------------------------------------CMPXCHG 1 1 0 2"
+ IL_05d6: call void [System.Console]System.Console::WriteLine(string)
+ IL_05db: ldloc.0
+ IL_05dc: ldloc.s V_10
+ IL_05de: beq.s IL_05fa
+
+ IL_05e0: ldc.i4.1
+ IL_05e1: stloc.s V_20
+ IL_05e3: ldstr "te0 check failed {0} {1}"
+ IL_05e8: ldloc.0
+ IL_05e9: box [mscorlib]System.Int32
+ IL_05ee: ldloc.s V_10
+ IL_05f0: box [mscorlib]System.Int32
+ IL_05f5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05fa: ldloc.1
+ IL_05fb: ldloc.s V_11
+ IL_05fd: beq.s IL_0619
+
+ IL_05ff: ldc.i4.1
+ IL_0600: stloc.s V_20
+ IL_0602: ldstr "te1 check failed {0} {1}"
+ IL_0607: ldloc.1
+ IL_0608: box [mscorlib]System.Int32
+ IL_060d: ldloc.s V_11
+ IL_060f: box [mscorlib]System.Int32
+ IL_0614: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0619: ldloc.2
+ IL_061a: ldloc.s V_12
+ IL_061c: beq.s IL_0638
+
+ IL_061e: ldc.i4.1
+ IL_061f: stloc.s V_20
+ IL_0621: ldstr "te2 check failed {0} {1}"
+ IL_0626: ldloc.2
+ IL_0627: box [mscorlib]System.Int32
+ IL_062c: ldloc.s V_12
+ IL_062e: box [mscorlib]System.Int32
+ IL_0633: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0638: ldloc.3
+ IL_0639: ldloc.s V_13
+ IL_063b: beq.s IL_0657
+
+ IL_063d: ldc.i4.1
+ IL_063e: stloc.s V_20
+ IL_0640: ldstr "te3 check failed {0} {1}"
+ IL_0645: ldloc.3
+ IL_0646: box [mscorlib]System.Int32
+ IL_064b: ldloc.s V_13
+ IL_064d: box [mscorlib]System.Int32
+ IL_0652: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0657: ldloc.s V_4
+ IL_0659: ldloc.s V_14
+ IL_065b: beq.s IL_0678
+
+ IL_065d: ldc.i4.1
+ IL_065e: stloc.s V_20
+ IL_0660: ldstr "te064 check failed {0} {1}"
+ IL_0665: ldloc.s V_4
+ IL_0667: box [mscorlib]System.Int64
+ IL_066c: ldloc.s V_14
+ IL_066e: box [mscorlib]System.Int64
+ IL_0673: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0678: ldloc.s V_5
+ IL_067a: ldloc.s V_15
+ IL_067c: beq.s IL_0699
+
+ IL_067e: ldc.i4.1
+ IL_067f: stloc.s V_20
+ IL_0681: ldstr "te164 check failed {0} {1}"
+ IL_0686: ldloc.s V_5
+ IL_0688: box [mscorlib]System.Int64
+ IL_068d: ldloc.s V_15
+ IL_068f: box [mscorlib]System.Int64
+ IL_0694: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0699: ldloc.s V_6
+ IL_069b: ldloc.s V_16
+ IL_069d: beq.s IL_06ba
+
+ IL_069f: ldc.i4.1
+ IL_06a0: stloc.s V_20
+ IL_06a2: ldstr "te264 check failed {0} {1}"
+ IL_06a7: ldloc.s V_6
+ IL_06a9: box [mscorlib]System.Int64
+ IL_06ae: ldloc.s V_16
+ IL_06b0: box [mscorlib]System.Int64
+ IL_06b5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06ba: ldloc.s V_7
+ IL_06bc: ldloc.s V_17
+ IL_06be: beq.s IL_06db
+
+ IL_06c0: ldc.i4.1
+ IL_06c1: stloc.s V_20
+ IL_06c3: ldstr "te364 check failed {0} {1}"
+ IL_06c8: ldloc.s V_7
+ IL_06ca: box [mscorlib]System.Int64
+ IL_06cf: ldloc.s V_17
+ IL_06d1: box [mscorlib]System.Int64
+ IL_06d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06db: ldloc.s V_8
+ IL_06dd: ldloc.s V_18
+ IL_06df: beq.s IL_06fc
+
+ IL_06e1: ldc.i4.1
+ IL_06e2: stloc.s V_20
+ IL_06e4: ldstr "dummy check failed {0} {1}"
+ IL_06e9: ldloc.s V_8
+ IL_06eb: box [mscorlib]System.Int32
+ IL_06f0: ldloc.s V_18
+ IL_06f2: box [mscorlib]System.Int32
+ IL_06f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06fc: ldloc.s V_9
+ IL_06fe: ldloc.s V_19
+ IL_0700: beq.s IL_071d
+
+ IL_0702: ldc.i4.1
+ IL_0703: stloc.s V_20
+ IL_0705: ldstr "dummy64 check failed {0} {1}"
+ IL_070a: ldloc.s V_9
+ IL_070c: box [mscorlib]System.Int64
+ IL_0711: ldloc.s V_19
+ IL_0713: box [mscorlib]System.Int64
+ IL_0718: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_071d: ldsfld int32 IntrinsicTest::counter
+ IL_0722: ldsfld int32 IntrinsicTest::id_counter
+ IL_0727: beq.s IL_074a
+
+ IL_0729: ldstr "counter mismatch {0} {1}"
+ IL_072e: ldsfld int32 IntrinsicTest::counter
+ IL_0733: box [mscorlib]System.Int32
+ IL_0738: ldsfld int32 IntrinsicTest::id_counter
+ IL_073d: box [mscorlib]System.Int32
+ IL_0742: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0747: ldc.i4.1
+ IL_0748: stloc.s V_20
+ IL_074a: ldsfld int64 IntrinsicTest::counter64
+ IL_074f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0754: beq.s IL_0777
+
+ IL_0756: ldstr "counter64 mismatch {0} {1}"
+ IL_075b: ldsfld int64 IntrinsicTest::counter64
+ IL_0760: box [mscorlib]System.Int64
+ IL_0765: ldsfld int64 IntrinsicTest::id_counter64
+ IL_076a: box [mscorlib]System.Int64
+ IL_076f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0774: ldc.i4.1
+ IL_0775: stloc.s V_20
+ IL_0777: ldloc.s V_21
+ IL_0779: ldfld int32 IntrinsicTest::instanceCounter
+ IL_077e: ldloc.s V_21
+ IL_0780: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0785: beq.s IL_07ac
+
+ IL_0787: ldstr "instanceCounter mismatch {0} {1}"
+ IL_078c: ldloc.s V_21
+ IL_078e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0793: box [mscorlib]System.Int32
+ IL_0798: ldloc.s V_21
+ IL_079a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_079f: box [mscorlib]System.Int32
+ IL_07a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07a9: ldc.i4.1
+ IL_07aa: stloc.s V_20
+ IL_07ac: ldloc.s V_21
+ IL_07ae: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_07b3: ldloc.s V_21
+ IL_07b5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_07ba: beq.s IL_07e1
+
+ IL_07bc: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_07c1: ldloc.s V_21
+ IL_07c3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_07c8: box [mscorlib]System.Int64
+ IL_07cd: ldloc.s V_21
+ IL_07cf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_07d4: box [mscorlib]System.Int64
+ IL_07d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07de: ldc.i4.1
+ IL_07df: stloc.s V_20
+ IL_07e1: ldsfld int64 IntrinsicTest::temp
+ IL_07e6: ldsfld int64 IntrinsicTest::idmp
+ IL_07eb: beq.s IL_080e
+
+ IL_07ed: ldstr "temp mismatch {0} {1}"
+ IL_07f2: ldsfld int64 IntrinsicTest::temp
+ IL_07f7: box [mscorlib]System.Int64
+ IL_07fc: ldsfld int64 IntrinsicTest::idmp
+ IL_0801: box [mscorlib]System.Int64
+ IL_0806: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_080b: ldc.i4.1
+ IL_080c: stloc.s V_20
+ IL_080e: ldsflda int32 IntrinsicTest::counter
+ IL_0813: ldsfld int32 IntrinsicTest::counter
+ IL_0818: ldloc.0
+ IL_0819: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_081e: stloc.0
+ IL_081f: ldsfld int32 IntrinsicTest::id_counter
+ IL_0824: stloc.s V_10
+ IL_0826: ldsfld int32 IntrinsicTest::id_counter
+ IL_082b: ldloc.s V_10
+ IL_082d: bne.un.s IL_083b
+
+ IL_082f: ldsfld int32 IntrinsicTest::id_counter
+ IL_0834: stsfld int32 IntrinsicTest::id_counter
+ IL_0839: br.s IL_0846
+
+ IL_083b: ldsfld int32 IntrinsicTest::id_counter
+ IL_0840: conv.i8
+ IL_0841: stsfld int64 IntrinsicTest::idjunk
+ IL_0846: ldstr "------------------------------------CMPXCHG 1 1 0 3"
+ IL_084b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0850: ldloc.0
+ IL_0851: ldloc.s V_10
+ IL_0853: beq.s IL_086f
+
+ IL_0855: ldc.i4.1
+ IL_0856: stloc.s V_20
+ IL_0858: ldstr "te0 check failed {0} {1}"
+ IL_085d: ldloc.0
+ IL_085e: box [mscorlib]System.Int32
+ IL_0863: ldloc.s V_10
+ IL_0865: box [mscorlib]System.Int32
+ IL_086a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_086f: ldloc.1
+ IL_0870: ldloc.s V_11
+ IL_0872: beq.s IL_088e
+
+ IL_0874: ldc.i4.1
+ IL_0875: stloc.s V_20
+ IL_0877: ldstr "te1 check failed {0} {1}"
+ IL_087c: ldloc.1
+ IL_087d: box [mscorlib]System.Int32
+ IL_0882: ldloc.s V_11
+ IL_0884: box [mscorlib]System.Int32
+ IL_0889: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_088e: ldloc.2
+ IL_088f: ldloc.s V_12
+ IL_0891: beq.s IL_08ad
+
+ IL_0893: ldc.i4.1
+ IL_0894: stloc.s V_20
+ IL_0896: ldstr "te2 check failed {0} {1}"
+ IL_089b: ldloc.2
+ IL_089c: box [mscorlib]System.Int32
+ IL_08a1: ldloc.s V_12
+ IL_08a3: box [mscorlib]System.Int32
+ IL_08a8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08ad: ldloc.3
+ IL_08ae: ldloc.s V_13
+ IL_08b0: beq.s IL_08cc
+
+ IL_08b2: ldc.i4.1
+ IL_08b3: stloc.s V_20
+ IL_08b5: ldstr "te3 check failed {0} {1}"
+ IL_08ba: ldloc.3
+ IL_08bb: box [mscorlib]System.Int32
+ IL_08c0: ldloc.s V_13
+ IL_08c2: box [mscorlib]System.Int32
+ IL_08c7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08cc: ldloc.s V_4
+ IL_08ce: ldloc.s V_14
+ IL_08d0: beq.s IL_08ed
+
+ IL_08d2: ldc.i4.1
+ IL_08d3: stloc.s V_20
+ IL_08d5: ldstr "te064 check failed {0} {1}"
+ IL_08da: ldloc.s V_4
+ IL_08dc: box [mscorlib]System.Int64
+ IL_08e1: ldloc.s V_14
+ IL_08e3: box [mscorlib]System.Int64
+ IL_08e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08ed: ldloc.s V_5
+ IL_08ef: ldloc.s V_15
+ IL_08f1: beq.s IL_090e
+
+ IL_08f3: ldc.i4.1
+ IL_08f4: stloc.s V_20
+ IL_08f6: ldstr "te164 check failed {0} {1}"
+ IL_08fb: ldloc.s V_5
+ IL_08fd: box [mscorlib]System.Int64
+ IL_0902: ldloc.s V_15
+ IL_0904: box [mscorlib]System.Int64
+ IL_0909: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_090e: ldloc.s V_6
+ IL_0910: ldloc.s V_16
+ IL_0912: beq.s IL_092f
+
+ IL_0914: ldc.i4.1
+ IL_0915: stloc.s V_20
+ IL_0917: ldstr "te264 check failed {0} {1}"
+ IL_091c: ldloc.s V_6
+ IL_091e: box [mscorlib]System.Int64
+ IL_0923: ldloc.s V_16
+ IL_0925: box [mscorlib]System.Int64
+ IL_092a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_092f: ldloc.s V_7
+ IL_0931: ldloc.s V_17
+ IL_0933: beq.s IL_0950
+
+ IL_0935: ldc.i4.1
+ IL_0936: stloc.s V_20
+ IL_0938: ldstr "te364 check failed {0} {1}"
+ IL_093d: ldloc.s V_7
+ IL_093f: box [mscorlib]System.Int64
+ IL_0944: ldloc.s V_17
+ IL_0946: box [mscorlib]System.Int64
+ IL_094b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0950: ldloc.s V_8
+ IL_0952: ldloc.s V_18
+ IL_0954: beq.s IL_0971
+
+ IL_0956: ldc.i4.1
+ IL_0957: stloc.s V_20
+ IL_0959: ldstr "dummy check failed {0} {1}"
+ IL_095e: ldloc.s V_8
+ IL_0960: box [mscorlib]System.Int32
+ IL_0965: ldloc.s V_18
+ IL_0967: box [mscorlib]System.Int32
+ IL_096c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0971: ldloc.s V_9
+ IL_0973: ldloc.s V_19
+ IL_0975: beq.s IL_0992
+
+ IL_0977: ldc.i4.1
+ IL_0978: stloc.s V_20
+ IL_097a: ldstr "dummy64 check failed {0} {1}"
+ IL_097f: ldloc.s V_9
+ IL_0981: box [mscorlib]System.Int64
+ IL_0986: ldloc.s V_19
+ IL_0988: box [mscorlib]System.Int64
+ IL_098d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0992: ldsfld int32 IntrinsicTest::counter
+ IL_0997: ldsfld int32 IntrinsicTest::id_counter
+ IL_099c: beq.s IL_09bf
+
+ IL_099e: ldstr "counter mismatch {0} {1}"
+ IL_09a3: ldsfld int32 IntrinsicTest::counter
+ IL_09a8: box [mscorlib]System.Int32
+ IL_09ad: ldsfld int32 IntrinsicTest::id_counter
+ IL_09b2: box [mscorlib]System.Int32
+ IL_09b7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09bc: ldc.i4.1
+ IL_09bd: stloc.s V_20
+ IL_09bf: ldsfld int64 IntrinsicTest::counter64
+ IL_09c4: ldsfld int64 IntrinsicTest::id_counter64
+ IL_09c9: beq.s IL_09ec
+
+ IL_09cb: ldstr "counter64 mismatch {0} {1}"
+ IL_09d0: ldsfld int64 IntrinsicTest::counter64
+ IL_09d5: box [mscorlib]System.Int64
+ IL_09da: ldsfld int64 IntrinsicTest::id_counter64
+ IL_09df: box [mscorlib]System.Int64
+ IL_09e4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09e9: ldc.i4.1
+ IL_09ea: stloc.s V_20
+ IL_09ec: ldloc.s V_21
+ IL_09ee: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09f3: ldloc.s V_21
+ IL_09f5: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09fa: beq.s IL_0a21
+
+ IL_09fc: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0a01: ldloc.s V_21
+ IL_0a03: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0a08: box [mscorlib]System.Int32
+ IL_0a0d: ldloc.s V_21
+ IL_0a0f: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0a14: box [mscorlib]System.Int32
+ IL_0a19: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a1e: ldc.i4.1
+ IL_0a1f: stloc.s V_20
+ IL_0a21: ldloc.s V_21
+ IL_0a23: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0a28: ldloc.s V_21
+ IL_0a2a: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0a2f: beq.s IL_0a56
+
+ IL_0a31: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0a36: ldloc.s V_21
+ IL_0a38: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0a3d: box [mscorlib]System.Int64
+ IL_0a42: ldloc.s V_21
+ IL_0a44: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0a49: box [mscorlib]System.Int64
+ IL_0a4e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a53: ldc.i4.1
+ IL_0a54: stloc.s V_20
+ IL_0a56: ldsfld int64 IntrinsicTest::temp
+ IL_0a5b: ldsfld int64 IntrinsicTest::idmp
+ IL_0a60: beq.s IL_0a83
+
+ IL_0a62: ldstr "temp mismatch {0} {1}"
+ IL_0a67: ldsfld int64 IntrinsicTest::temp
+ IL_0a6c: box [mscorlib]System.Int64
+ IL_0a71: ldsfld int64 IntrinsicTest::idmp
+ IL_0a76: box [mscorlib]System.Int64
+ IL_0a7b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a80: ldc.i4.1
+ IL_0a81: stloc.s V_20
+ IL_0a83: ldsflda int32 IntrinsicTest::counter
+ IL_0a88: ldsfld int32 IntrinsicTest::counter
+ IL_0a8d: ldloc.0
+ IL_0a8e: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_0a93: stsfld int32 IntrinsicTest::counter
+ IL_0a98: ldsfld int32 IntrinsicTest::id_counter
+ IL_0a9d: stsfld int32 IntrinsicTest::id_counter
+ IL_0aa2: ldsfld int32 IntrinsicTest::id_counter
+ IL_0aa7: ldloc.s V_10
+ IL_0aa9: bne.un.s IL_0ab8
+
+ IL_0aab: ldsfld int32 IntrinsicTest::id_counter
+ IL_0ab0: conv.i8
+ IL_0ab1: stsfld int64 IntrinsicTest::idjunk
+ IL_0ab6: br.s IL_0ac3
+
+ IL_0ab8: ldsfld int32 IntrinsicTest::id_counter
+ IL_0abd: conv.i8
+ IL_0abe: stsfld int64 IntrinsicTest::idjunk
+ IL_0ac3: ldstr "------------------------------------CMPXCHG 1 1 0 4"
+ IL_0ac8: call void [System.Console]System.Console::WriteLine(string)
+ IL_0acd: ldloc.0
+ IL_0ace: ldloc.s V_10
+ IL_0ad0: beq.s IL_0aec
+
+ IL_0ad2: ldc.i4.1
+ IL_0ad3: stloc.s V_20
+ IL_0ad5: ldstr "te0 check failed {0} {1}"
+ IL_0ada: ldloc.0
+ IL_0adb: box [mscorlib]System.Int32
+ IL_0ae0: ldloc.s V_10
+ IL_0ae2: box [mscorlib]System.Int32
+ IL_0ae7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0aec: ldloc.1
+ IL_0aed: ldloc.s V_11
+ IL_0aef: beq.s IL_0b0b
+
+ IL_0af1: ldc.i4.1
+ IL_0af2: stloc.s V_20
+ IL_0af4: ldstr "te1 check failed {0} {1}"
+ IL_0af9: ldloc.1
+ IL_0afa: box [mscorlib]System.Int32
+ IL_0aff: ldloc.s V_11
+ IL_0b01: box [mscorlib]System.Int32
+ IL_0b06: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b0b: ldloc.2
+ IL_0b0c: ldloc.s V_12
+ IL_0b0e: beq.s IL_0b2a
+
+ IL_0b10: ldc.i4.1
+ IL_0b11: stloc.s V_20
+ IL_0b13: ldstr "te2 check failed {0} {1}"
+ IL_0b18: ldloc.2
+ IL_0b19: box [mscorlib]System.Int32
+ IL_0b1e: ldloc.s V_12
+ IL_0b20: box [mscorlib]System.Int32
+ IL_0b25: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b2a: ldloc.3
+ IL_0b2b: ldloc.s V_13
+ IL_0b2d: beq.s IL_0b49
+
+ IL_0b2f: ldc.i4.1
+ IL_0b30: stloc.s V_20
+ IL_0b32: ldstr "te3 check failed {0} {1}"
+ IL_0b37: ldloc.3
+ IL_0b38: box [mscorlib]System.Int32
+ IL_0b3d: ldloc.s V_13
+ IL_0b3f: box [mscorlib]System.Int32
+ IL_0b44: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b49: ldloc.s V_4
+ IL_0b4b: ldloc.s V_14
+ IL_0b4d: beq.s IL_0b6a
+
+ IL_0b4f: ldc.i4.1
+ IL_0b50: stloc.s V_20
+ IL_0b52: ldstr "te064 check failed {0} {1}"
+ IL_0b57: ldloc.s V_4
+ IL_0b59: box [mscorlib]System.Int64
+ IL_0b5e: ldloc.s V_14
+ IL_0b60: box [mscorlib]System.Int64
+ IL_0b65: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b6a: ldloc.s V_5
+ IL_0b6c: ldloc.s V_15
+ IL_0b6e: beq.s IL_0b8b
+
+ IL_0b70: ldc.i4.1
+ IL_0b71: stloc.s V_20
+ IL_0b73: ldstr "te164 check failed {0} {1}"
+ IL_0b78: ldloc.s V_5
+ IL_0b7a: box [mscorlib]System.Int64
+ IL_0b7f: ldloc.s V_15
+ IL_0b81: box [mscorlib]System.Int64
+ IL_0b86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0b8b: ldloc.s V_6
+ IL_0b8d: ldloc.s V_16
+ IL_0b8f: beq.s IL_0bac
+
+ IL_0b91: ldc.i4.1
+ IL_0b92: stloc.s V_20
+ IL_0b94: ldstr "te264 check failed {0} {1}"
+ IL_0b99: ldloc.s V_6
+ IL_0b9b: box [mscorlib]System.Int64
+ IL_0ba0: ldloc.s V_16
+ IL_0ba2: box [mscorlib]System.Int64
+ IL_0ba7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bac: ldloc.s V_7
+ IL_0bae: ldloc.s V_17
+ IL_0bb0: beq.s IL_0bcd
+
+ IL_0bb2: ldc.i4.1
+ IL_0bb3: stloc.s V_20
+ IL_0bb5: ldstr "te364 check failed {0} {1}"
+ IL_0bba: ldloc.s V_7
+ IL_0bbc: box [mscorlib]System.Int64
+ IL_0bc1: ldloc.s V_17
+ IL_0bc3: box [mscorlib]System.Int64
+ IL_0bc8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bcd: ldloc.s V_8
+ IL_0bcf: ldloc.s V_18
+ IL_0bd1: beq.s IL_0bee
+
+ IL_0bd3: ldc.i4.1
+ IL_0bd4: stloc.s V_20
+ IL_0bd6: ldstr "dummy check failed {0} {1}"
+ IL_0bdb: ldloc.s V_8
+ IL_0bdd: box [mscorlib]System.Int32
+ IL_0be2: ldloc.s V_18
+ IL_0be4: box [mscorlib]System.Int32
+ IL_0be9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0bee: ldloc.s V_9
+ IL_0bf0: ldloc.s V_19
+ IL_0bf2: beq.s IL_0c0f
+
+ IL_0bf4: ldc.i4.1
+ IL_0bf5: stloc.s V_20
+ IL_0bf7: ldstr "dummy64 check failed {0} {1}"
+ IL_0bfc: ldloc.s V_9
+ IL_0bfe: box [mscorlib]System.Int64
+ IL_0c03: ldloc.s V_19
+ IL_0c05: box [mscorlib]System.Int64
+ IL_0c0a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c0f: ldsfld int32 IntrinsicTest::counter
+ IL_0c14: ldsfld int32 IntrinsicTest::id_counter
+ IL_0c19: beq.s IL_0c3c
+
+ IL_0c1b: ldstr "counter mismatch {0} {1}"
+ IL_0c20: ldsfld int32 IntrinsicTest::counter
+ IL_0c25: box [mscorlib]System.Int32
+ IL_0c2a: ldsfld int32 IntrinsicTest::id_counter
+ IL_0c2f: box [mscorlib]System.Int32
+ IL_0c34: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c39: ldc.i4.1
+ IL_0c3a: stloc.s V_20
+ IL_0c3c: ldsfld int64 IntrinsicTest::counter64
+ IL_0c41: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0c46: beq.s IL_0c69
+
+ IL_0c48: ldstr "counter64 mismatch {0} {1}"
+ IL_0c4d: ldsfld int64 IntrinsicTest::counter64
+ IL_0c52: box [mscorlib]System.Int64
+ IL_0c57: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0c5c: box [mscorlib]System.Int64
+ IL_0c61: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c66: ldc.i4.1
+ IL_0c67: stloc.s V_20
+ IL_0c69: ldloc.s V_21
+ IL_0c6b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0c70: ldloc.s V_21
+ IL_0c72: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0c77: beq.s IL_0c9e
+
+ IL_0c79: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0c7e: ldloc.s V_21
+ IL_0c80: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0c85: box [mscorlib]System.Int32
+ IL_0c8a: ldloc.s V_21
+ IL_0c8c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0c91: box [mscorlib]System.Int32
+ IL_0c96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0c9b: ldc.i4.1
+ IL_0c9c: stloc.s V_20
+ IL_0c9e: ldloc.s V_21
+ IL_0ca0: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0ca5: ldloc.s V_21
+ IL_0ca7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0cac: beq.s IL_0cd3
+
+ IL_0cae: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0cb3: ldloc.s V_21
+ IL_0cb5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0cba: box [mscorlib]System.Int64
+ IL_0cbf: ldloc.s V_21
+ IL_0cc1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0cc6: box [mscorlib]System.Int64
+ IL_0ccb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0cd0: ldc.i4.1
+ IL_0cd1: stloc.s V_20
+ IL_0cd3: ldsfld int64 IntrinsicTest::temp
+ IL_0cd8: ldsfld int64 IntrinsicTest::idmp
+ IL_0cdd: beq.s IL_0d00
+
+ IL_0cdf: ldstr "temp mismatch {0} {1}"
+ IL_0ce4: ldsfld int64 IntrinsicTest::temp
+ IL_0ce9: box [mscorlib]System.Int64
+ IL_0cee: ldsfld int64 IntrinsicTest::idmp
+ IL_0cf3: box [mscorlib]System.Int64
+ IL_0cf8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0cfd: ldc.i4.1
+ IL_0cfe: stloc.s V_20
+ IL_0d00: ldloc.s V_21
+ IL_0d02: ldsflda int32 IntrinsicTest::counter
+ IL_0d07: ldsfld int32 IntrinsicTest::counter
+ IL_0d0c: ldloc.0
+ IL_0d0d: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_0d12: stfld int32 IntrinsicTest::instanceCounter
+ IL_0d17: ldloc.s V_21
+ IL_0d19: ldsfld int32 IntrinsicTest::id_counter
+ IL_0d1e: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_0d23: ldsfld int32 IntrinsicTest::id_counter
+ IL_0d28: ldloc.s V_10
+ IL_0d2a: bne.un.s IL_0d38
+
+ IL_0d2c: ldsfld int32 IntrinsicTest::id_counter
+ IL_0d31: stsfld int32 IntrinsicTest::id_counter
+ IL_0d36: br.s IL_0d43
+
+ IL_0d38: ldsfld int32 IntrinsicTest::id_counter
+ IL_0d3d: conv.i8
+ IL_0d3e: stsfld int64 IntrinsicTest::idjunk
+ IL_0d43: ldstr "------------------------------------CMPXCHG 1 1 0 5"
+ IL_0d48: call void [System.Console]System.Console::WriteLine(string)
+ IL_0d4d: ldloc.0
+ IL_0d4e: ldloc.s V_10
+ IL_0d50: beq.s IL_0d6c
+
+ IL_0d52: ldc.i4.1
+ IL_0d53: stloc.s V_20
+ IL_0d55: ldstr "te0 check failed {0} {1}"
+ IL_0d5a: ldloc.0
+ IL_0d5b: box [mscorlib]System.Int32
+ IL_0d60: ldloc.s V_10
+ IL_0d62: box [mscorlib]System.Int32
+ IL_0d67: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0d6c: ldloc.1
+ IL_0d6d: ldloc.s V_11
+ IL_0d6f: beq.s IL_0d8b
+
+ IL_0d71: ldc.i4.1
+ IL_0d72: stloc.s V_20
+ IL_0d74: ldstr "te1 check failed {0} {1}"
+ IL_0d79: ldloc.1
+ IL_0d7a: box [mscorlib]System.Int32
+ IL_0d7f: ldloc.s V_11
+ IL_0d81: box [mscorlib]System.Int32
+ IL_0d86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0d8b: ldloc.2
+ IL_0d8c: ldloc.s V_12
+ IL_0d8e: beq.s IL_0daa
+
+ IL_0d90: ldc.i4.1
+ IL_0d91: stloc.s V_20
+ IL_0d93: ldstr "te2 check failed {0} {1}"
+ IL_0d98: ldloc.2
+ IL_0d99: box [mscorlib]System.Int32
+ IL_0d9e: ldloc.s V_12
+ IL_0da0: box [mscorlib]System.Int32
+ IL_0da5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0daa: ldloc.3
+ IL_0dab: ldloc.s V_13
+ IL_0dad: beq.s IL_0dc9
+
+ IL_0daf: ldc.i4.1
+ IL_0db0: stloc.s V_20
+ IL_0db2: ldstr "te3 check failed {0} {1}"
+ IL_0db7: ldloc.3
+ IL_0db8: box [mscorlib]System.Int32
+ IL_0dbd: ldloc.s V_13
+ IL_0dbf: box [mscorlib]System.Int32
+ IL_0dc4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0dc9: ldloc.s V_4
+ IL_0dcb: ldloc.s V_14
+ IL_0dcd: beq.s IL_0dea
+
+ IL_0dcf: ldc.i4.1
+ IL_0dd0: stloc.s V_20
+ IL_0dd2: ldstr "te064 check failed {0} {1}"
+ IL_0dd7: ldloc.s V_4
+ IL_0dd9: box [mscorlib]System.Int64
+ IL_0dde: ldloc.s V_14
+ IL_0de0: box [mscorlib]System.Int64
+ IL_0de5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0dea: ldloc.s V_5
+ IL_0dec: ldloc.s V_15
+ IL_0dee: beq.s IL_0e0b
+
+ IL_0df0: ldc.i4.1
+ IL_0df1: stloc.s V_20
+ IL_0df3: ldstr "te164 check failed {0} {1}"
+ IL_0df8: ldloc.s V_5
+ IL_0dfa: box [mscorlib]System.Int64
+ IL_0dff: ldloc.s V_15
+ IL_0e01: box [mscorlib]System.Int64
+ IL_0e06: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e0b: ldloc.s V_6
+ IL_0e0d: ldloc.s V_16
+ IL_0e0f: beq.s IL_0e2c
+
+ IL_0e11: ldc.i4.1
+ IL_0e12: stloc.s V_20
+ IL_0e14: ldstr "te264 check failed {0} {1}"
+ IL_0e19: ldloc.s V_6
+ IL_0e1b: box [mscorlib]System.Int64
+ IL_0e20: ldloc.s V_16
+ IL_0e22: box [mscorlib]System.Int64
+ IL_0e27: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e2c: ldloc.s V_7
+ IL_0e2e: ldloc.s V_17
+ IL_0e30: beq.s IL_0e4d
+
+ IL_0e32: ldc.i4.1
+ IL_0e33: stloc.s V_20
+ IL_0e35: ldstr "te364 check failed {0} {1}"
+ IL_0e3a: ldloc.s V_7
+ IL_0e3c: box [mscorlib]System.Int64
+ IL_0e41: ldloc.s V_17
+ IL_0e43: box [mscorlib]System.Int64
+ IL_0e48: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e4d: ldloc.s V_8
+ IL_0e4f: ldloc.s V_18
+ IL_0e51: beq.s IL_0e6e
+
+ IL_0e53: ldc.i4.1
+ IL_0e54: stloc.s V_20
+ IL_0e56: ldstr "dummy check failed {0} {1}"
+ IL_0e5b: ldloc.s V_8
+ IL_0e5d: box [mscorlib]System.Int32
+ IL_0e62: ldloc.s V_18
+ IL_0e64: box [mscorlib]System.Int32
+ IL_0e69: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e6e: ldloc.s V_9
+ IL_0e70: ldloc.s V_19
+ IL_0e72: beq.s IL_0e8f
+
+ IL_0e74: ldc.i4.1
+ IL_0e75: stloc.s V_20
+ IL_0e77: ldstr "dummy64 check failed {0} {1}"
+ IL_0e7c: ldloc.s V_9
+ IL_0e7e: box [mscorlib]System.Int64
+ IL_0e83: ldloc.s V_19
+ IL_0e85: box [mscorlib]System.Int64
+ IL_0e8a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0e8f: ldsfld int32 IntrinsicTest::counter
+ IL_0e94: ldsfld int32 IntrinsicTest::id_counter
+ IL_0e99: beq.s IL_0ebc
+
+ IL_0e9b: ldstr "counter mismatch {0} {1}"
+ IL_0ea0: ldsfld int32 IntrinsicTest::counter
+ IL_0ea5: box [mscorlib]System.Int32
+ IL_0eaa: ldsfld int32 IntrinsicTest::id_counter
+ IL_0eaf: box [mscorlib]System.Int32
+ IL_0eb4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0eb9: ldc.i4.1
+ IL_0eba: stloc.s V_20
+ IL_0ebc: ldsfld int64 IntrinsicTest::counter64
+ IL_0ec1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0ec6: beq.s IL_0ee9
+
+ IL_0ec8: ldstr "counter64 mismatch {0} {1}"
+ IL_0ecd: ldsfld int64 IntrinsicTest::counter64
+ IL_0ed2: box [mscorlib]System.Int64
+ IL_0ed7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0edc: box [mscorlib]System.Int64
+ IL_0ee1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0ee6: ldc.i4.1
+ IL_0ee7: stloc.s V_20
+ IL_0ee9: ldloc.s V_21
+ IL_0eeb: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0ef0: ldloc.s V_21
+ IL_0ef2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0ef7: beq.s IL_0f1e
+
+ IL_0ef9: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0efe: ldloc.s V_21
+ IL_0f00: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0f05: box [mscorlib]System.Int32
+ IL_0f0a: ldloc.s V_21
+ IL_0f0c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0f11: box [mscorlib]System.Int32
+ IL_0f16: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f1b: ldc.i4.1
+ IL_0f1c: stloc.s V_20
+ IL_0f1e: ldloc.s V_21
+ IL_0f20: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0f25: ldloc.s V_21
+ IL_0f27: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0f2c: beq.s IL_0f53
+
+ IL_0f2e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0f33: ldloc.s V_21
+ IL_0f35: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0f3a: box [mscorlib]System.Int64
+ IL_0f3f: ldloc.s V_21
+ IL_0f41: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0f46: box [mscorlib]System.Int64
+ IL_0f4b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f50: ldc.i4.1
+ IL_0f51: stloc.s V_20
+ IL_0f53: ldsfld int64 IntrinsicTest::temp
+ IL_0f58: ldsfld int64 IntrinsicTest::idmp
+ IL_0f5d: beq.s IL_0f80
+
+ IL_0f5f: ldstr "temp mismatch {0} {1}"
+ IL_0f64: ldsfld int64 IntrinsicTest::temp
+ IL_0f69: box [mscorlib]System.Int64
+ IL_0f6e: ldsfld int64 IntrinsicTest::idmp
+ IL_0f73: box [mscorlib]System.Int64
+ IL_0f78: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0f7d: ldc.i4.1
+ IL_0f7e: stloc.s V_20
+ IL_0f80: ldsflda int32 IntrinsicTest::counter
+ IL_0f85: ldsfld int32 IntrinsicTest::counter
+ IL_0f8a: ldloc.0
+ IL_0f8b: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_0f90: stloc.3
+ IL_0f91: ldsfld int32 IntrinsicTest::id_counter
+ IL_0f96: stloc.s V_13
+ IL_0f98: ldsfld int32 IntrinsicTest::id_counter
+ IL_0f9d: ldloc.s V_10
+ IL_0f9f: bne.un.s IL_0fad
+
+ IL_0fa1: ldsfld int32 IntrinsicTest::id_counter
+ IL_0fa6: stsfld int32 IntrinsicTest::id_counter
+ IL_0fab: br.s IL_0fb8
+
+ IL_0fad: ldsfld int32 IntrinsicTest::id_counter
+ IL_0fb2: conv.i8
+ IL_0fb3: stsfld int64 IntrinsicTest::idjunk
+ IL_0fb8: ldstr "------------------------------------CMPXCHG 1 1 0 6"
+ IL_0fbd: call void [System.Console]System.Console::WriteLine(string)
+ IL_0fc2: ldloc.0
+ IL_0fc3: ldloc.s V_10
+ IL_0fc5: beq.s IL_0fe1
+
+ IL_0fc7: ldc.i4.1
+ IL_0fc8: stloc.s V_20
+ IL_0fca: ldstr "te0 check failed {0} {1}"
+ IL_0fcf: ldloc.0
+ IL_0fd0: box [mscorlib]System.Int32
+ IL_0fd5: ldloc.s V_10
+ IL_0fd7: box [mscorlib]System.Int32
+ IL_0fdc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0fe1: ldloc.1
+ IL_0fe2: ldloc.s V_11
+ IL_0fe4: beq.s IL_1000
+
+ IL_0fe6: ldc.i4.1
+ IL_0fe7: stloc.s V_20
+ IL_0fe9: ldstr "te1 check failed {0} {1}"
+ IL_0fee: ldloc.1
+ IL_0fef: box [mscorlib]System.Int32
+ IL_0ff4: ldloc.s V_11
+ IL_0ff6: box [mscorlib]System.Int32
+ IL_0ffb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1000: ldloc.2
+ IL_1001: ldloc.s V_12
+ IL_1003: beq.s IL_101f
+
+ IL_1005: ldc.i4.1
+ IL_1006: stloc.s V_20
+ IL_1008: ldstr "te2 check failed {0} {1}"
+ IL_100d: ldloc.2
+ IL_100e: box [mscorlib]System.Int32
+ IL_1013: ldloc.s V_12
+ IL_1015: box [mscorlib]System.Int32
+ IL_101a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_101f: ldloc.3
+ IL_1020: ldloc.s V_13
+ IL_1022: beq.s IL_103e
+
+ IL_1024: ldc.i4.1
+ IL_1025: stloc.s V_20
+ IL_1027: ldstr "te3 check failed {0} {1}"
+ IL_102c: ldloc.3
+ IL_102d: box [mscorlib]System.Int32
+ IL_1032: ldloc.s V_13
+ IL_1034: box [mscorlib]System.Int32
+ IL_1039: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_103e: ldloc.s V_4
+ IL_1040: ldloc.s V_14
+ IL_1042: beq.s IL_105f
+
+ IL_1044: ldc.i4.1
+ IL_1045: stloc.s V_20
+ IL_1047: ldstr "te064 check failed {0} {1}"
+ IL_104c: ldloc.s V_4
+ IL_104e: box [mscorlib]System.Int64
+ IL_1053: ldloc.s V_14
+ IL_1055: box [mscorlib]System.Int64
+ IL_105a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_105f: ldloc.s V_5
+ IL_1061: ldloc.s V_15
+ IL_1063: beq.s IL_1080
+
+ IL_1065: ldc.i4.1
+ IL_1066: stloc.s V_20
+ IL_1068: ldstr "te164 check failed {0} {1}"
+ IL_106d: ldloc.s V_5
+ IL_106f: box [mscorlib]System.Int64
+ IL_1074: ldloc.s V_15
+ IL_1076: box [mscorlib]System.Int64
+ IL_107b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1080: ldloc.s V_6
+ IL_1082: ldloc.s V_16
+ IL_1084: beq.s IL_10a1
+
+ IL_1086: ldc.i4.1
+ IL_1087: stloc.s V_20
+ IL_1089: ldstr "te264 check failed {0} {1}"
+ IL_108e: ldloc.s V_6
+ IL_1090: box [mscorlib]System.Int64
+ IL_1095: ldloc.s V_16
+ IL_1097: box [mscorlib]System.Int64
+ IL_109c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10a1: ldloc.s V_7
+ IL_10a3: ldloc.s V_17
+ IL_10a5: beq.s IL_10c2
+
+ IL_10a7: ldc.i4.1
+ IL_10a8: stloc.s V_20
+ IL_10aa: ldstr "te364 check failed {0} {1}"
+ IL_10af: ldloc.s V_7
+ IL_10b1: box [mscorlib]System.Int64
+ IL_10b6: ldloc.s V_17
+ IL_10b8: box [mscorlib]System.Int64
+ IL_10bd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10c2: ldloc.s V_8
+ IL_10c4: ldloc.s V_18
+ IL_10c6: beq.s IL_10e3
+
+ IL_10c8: ldc.i4.1
+ IL_10c9: stloc.s V_20
+ IL_10cb: ldstr "dummy check failed {0} {1}"
+ IL_10d0: ldloc.s V_8
+ IL_10d2: box [mscorlib]System.Int32
+ IL_10d7: ldloc.s V_18
+ IL_10d9: box [mscorlib]System.Int32
+ IL_10de: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_10e3: ldloc.s V_9
+ IL_10e5: ldloc.s V_19
+ IL_10e7: beq.s IL_1104
+
+ IL_10e9: ldc.i4.1
+ IL_10ea: stloc.s V_20
+ IL_10ec: ldstr "dummy64 check failed {0} {1}"
+ IL_10f1: ldloc.s V_9
+ IL_10f3: box [mscorlib]System.Int64
+ IL_10f8: ldloc.s V_19
+ IL_10fa: box [mscorlib]System.Int64
+ IL_10ff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1104: ldsfld int32 IntrinsicTest::counter
+ IL_1109: ldsfld int32 IntrinsicTest::id_counter
+ IL_110e: beq.s IL_1131
+
+ IL_1110: ldstr "counter mismatch {0} {1}"
+ IL_1115: ldsfld int32 IntrinsicTest::counter
+ IL_111a: box [mscorlib]System.Int32
+ IL_111f: ldsfld int32 IntrinsicTest::id_counter
+ IL_1124: box [mscorlib]System.Int32
+ IL_1129: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_112e: ldc.i4.1
+ IL_112f: stloc.s V_20
+ IL_1131: ldsfld int64 IntrinsicTest::counter64
+ IL_1136: ldsfld int64 IntrinsicTest::id_counter64
+ IL_113b: beq.s IL_115e
+
+ IL_113d: ldstr "counter64 mismatch {0} {1}"
+ IL_1142: ldsfld int64 IntrinsicTest::counter64
+ IL_1147: box [mscorlib]System.Int64
+ IL_114c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1151: box [mscorlib]System.Int64
+ IL_1156: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_115b: ldc.i4.1
+ IL_115c: stloc.s V_20
+ IL_115e: ldloc.s V_21
+ IL_1160: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1165: ldloc.s V_21
+ IL_1167: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_116c: beq.s IL_1193
+
+ IL_116e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1173: ldloc.s V_21
+ IL_1175: ldfld int32 IntrinsicTest::instanceCounter
+ IL_117a: box [mscorlib]System.Int32
+ IL_117f: ldloc.s V_21
+ IL_1181: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1186: box [mscorlib]System.Int32
+ IL_118b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1190: ldc.i4.1
+ IL_1191: stloc.s V_20
+ IL_1193: ldloc.s V_21
+ IL_1195: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_119a: ldloc.s V_21
+ IL_119c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_11a1: beq.s IL_11c8
+
+ IL_11a3: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_11a8: ldloc.s V_21
+ IL_11aa: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_11af: box [mscorlib]System.Int64
+ IL_11b4: ldloc.s V_21
+ IL_11b6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_11bb: box [mscorlib]System.Int64
+ IL_11c0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_11c5: ldc.i4.1
+ IL_11c6: stloc.s V_20
+ IL_11c8: ldsfld int64 IntrinsicTest::temp
+ IL_11cd: ldsfld int64 IntrinsicTest::idmp
+ IL_11d2: beq.s IL_11f5
+
+ IL_11d4: ldstr "temp mismatch {0} {1}"
+ IL_11d9: ldsfld int64 IntrinsicTest::temp
+ IL_11de: box [mscorlib]System.Int64
+ IL_11e3: ldsfld int64 IntrinsicTest::idmp
+ IL_11e8: box [mscorlib]System.Int64
+ IL_11ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_11f2: ldc.i4.1
+ IL_11f3: stloc.s V_20
+ IL_11f5: ldsflda int32 IntrinsicTest::counter
+ IL_11fa: ldsfld int32 IntrinsicTest::counter
+ IL_11ff: ldsfld int32 IntrinsicTest::counter
+ IL_1204: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_1209: stloc.0
+ IL_120a: ldsfld int32 IntrinsicTest::id_counter
+ IL_120f: stloc.s V_10
+ IL_1211: ldsfld int32 IntrinsicTest::id_counter
+ IL_1216: ldsfld int32 IntrinsicTest::id_counter
+ IL_121b: bne.un.s IL_1229
+
+ IL_121d: ldsfld int32 IntrinsicTest::id_counter
+ IL_1222: stsfld int32 IntrinsicTest::id_counter
+ IL_1227: br.s IL_1234
+
+ IL_1229: ldsfld int32 IntrinsicTest::id_counter
+ IL_122e: conv.i8
+ IL_122f: stsfld int64 IntrinsicTest::idjunk
+ IL_1234: ldstr "------------------------------------CMPXCHG 1 1 1 0"
+ IL_1239: call void [System.Console]System.Console::WriteLine(string)
+ IL_123e: ldloc.0
+ IL_123f: ldloc.s V_10
+ IL_1241: beq.s IL_125d
+
+ IL_1243: ldc.i4.1
+ IL_1244: stloc.s V_20
+ IL_1246: ldstr "te0 check failed {0} {1}"
+ IL_124b: ldloc.0
+ IL_124c: box [mscorlib]System.Int32
+ IL_1251: ldloc.s V_10
+ IL_1253: box [mscorlib]System.Int32
+ IL_1258: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_125d: ldloc.1
+ IL_125e: ldloc.s V_11
+ IL_1260: beq.s IL_127c
+
+ IL_1262: ldc.i4.1
+ IL_1263: stloc.s V_20
+ IL_1265: ldstr "te1 check failed {0} {1}"
+ IL_126a: ldloc.1
+ IL_126b: box [mscorlib]System.Int32
+ IL_1270: ldloc.s V_11
+ IL_1272: box [mscorlib]System.Int32
+ IL_1277: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_127c: ldloc.2
+ IL_127d: ldloc.s V_12
+ IL_127f: beq.s IL_129b
+
+ IL_1281: ldc.i4.1
+ IL_1282: stloc.s V_20
+ IL_1284: ldstr "te2 check failed {0} {1}"
+ IL_1289: ldloc.2
+ IL_128a: box [mscorlib]System.Int32
+ IL_128f: ldloc.s V_12
+ IL_1291: box [mscorlib]System.Int32
+ IL_1296: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_129b: ldloc.3
+ IL_129c: ldloc.s V_13
+ IL_129e: beq.s IL_12ba
+
+ IL_12a0: ldc.i4.1
+ IL_12a1: stloc.s V_20
+ IL_12a3: ldstr "te3 check failed {0} {1}"
+ IL_12a8: ldloc.3
+ IL_12a9: box [mscorlib]System.Int32
+ IL_12ae: ldloc.s V_13
+ IL_12b0: box [mscorlib]System.Int32
+ IL_12b5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12ba: ldloc.s V_4
+ IL_12bc: ldloc.s V_14
+ IL_12be: beq.s IL_12db
+
+ IL_12c0: ldc.i4.1
+ IL_12c1: stloc.s V_20
+ IL_12c3: ldstr "te064 check failed {0} {1}"
+ IL_12c8: ldloc.s V_4
+ IL_12ca: box [mscorlib]System.Int64
+ IL_12cf: ldloc.s V_14
+ IL_12d1: box [mscorlib]System.Int64
+ IL_12d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12db: ldloc.s V_5
+ IL_12dd: ldloc.s V_15
+ IL_12df: beq.s IL_12fc
+
+ IL_12e1: ldc.i4.1
+ IL_12e2: stloc.s V_20
+ IL_12e4: ldstr "te164 check failed {0} {1}"
+ IL_12e9: ldloc.s V_5
+ IL_12eb: box [mscorlib]System.Int64
+ IL_12f0: ldloc.s V_15
+ IL_12f2: box [mscorlib]System.Int64
+ IL_12f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_12fc: ldloc.s V_6
+ IL_12fe: ldloc.s V_16
+ IL_1300: beq.s IL_131d
+
+ IL_1302: ldc.i4.1
+ IL_1303: stloc.s V_20
+ IL_1305: ldstr "te264 check failed {0} {1}"
+ IL_130a: ldloc.s V_6
+ IL_130c: box [mscorlib]System.Int64
+ IL_1311: ldloc.s V_16
+ IL_1313: box [mscorlib]System.Int64
+ IL_1318: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_131d: ldloc.s V_7
+ IL_131f: ldloc.s V_17
+ IL_1321: beq.s IL_133e
+
+ IL_1323: ldc.i4.1
+ IL_1324: stloc.s V_20
+ IL_1326: ldstr "te364 check failed {0} {1}"
+ IL_132b: ldloc.s V_7
+ IL_132d: box [mscorlib]System.Int64
+ IL_1332: ldloc.s V_17
+ IL_1334: box [mscorlib]System.Int64
+ IL_1339: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_133e: ldloc.s V_8
+ IL_1340: ldloc.s V_18
+ IL_1342: beq.s IL_135f
+
+ IL_1344: ldc.i4.1
+ IL_1345: stloc.s V_20
+ IL_1347: ldstr "dummy check failed {0} {1}"
+ IL_134c: ldloc.s V_8
+ IL_134e: box [mscorlib]System.Int32
+ IL_1353: ldloc.s V_18
+ IL_1355: box [mscorlib]System.Int32
+ IL_135a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_135f: ldloc.s V_9
+ IL_1361: ldloc.s V_19
+ IL_1363: beq.s IL_1380
+
+ IL_1365: ldc.i4.1
+ IL_1366: stloc.s V_20
+ IL_1368: ldstr "dummy64 check failed {0} {1}"
+ IL_136d: ldloc.s V_9
+ IL_136f: box [mscorlib]System.Int64
+ IL_1374: ldloc.s V_19
+ IL_1376: box [mscorlib]System.Int64
+ IL_137b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1380: ldsfld int32 IntrinsicTest::counter
+ IL_1385: ldsfld int32 IntrinsicTest::id_counter
+ IL_138a: beq.s IL_13ad
+
+ IL_138c: ldstr "counter mismatch {0} {1}"
+ IL_1391: ldsfld int32 IntrinsicTest::counter
+ IL_1396: box [mscorlib]System.Int32
+ IL_139b: ldsfld int32 IntrinsicTest::id_counter
+ IL_13a0: box [mscorlib]System.Int32
+ IL_13a5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_13aa: ldc.i4.1
+ IL_13ab: stloc.s V_20
+ IL_13ad: ldsfld int64 IntrinsicTest::counter64
+ IL_13b2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_13b7: beq.s IL_13da
+
+ IL_13b9: ldstr "counter64 mismatch {0} {1}"
+ IL_13be: ldsfld int64 IntrinsicTest::counter64
+ IL_13c3: box [mscorlib]System.Int64
+ IL_13c8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_13cd: box [mscorlib]System.Int64
+ IL_13d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_13d7: ldc.i4.1
+ IL_13d8: stloc.s V_20
+ IL_13da: ldloc.s V_21
+ IL_13dc: ldfld int32 IntrinsicTest::instanceCounter
+ IL_13e1: ldloc.s V_21
+ IL_13e3: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_13e8: beq.s IL_140f
+
+ IL_13ea: ldstr "instanceCounter mismatch {0} {1}"
+ IL_13ef: ldloc.s V_21
+ IL_13f1: ldfld int32 IntrinsicTest::instanceCounter
+ IL_13f6: box [mscorlib]System.Int32
+ IL_13fb: ldloc.s V_21
+ IL_13fd: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1402: box [mscorlib]System.Int32
+ IL_1407: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_140c: ldc.i4.1
+ IL_140d: stloc.s V_20
+ IL_140f: ldloc.s V_21
+ IL_1411: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1416: ldloc.s V_21
+ IL_1418: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_141d: beq.s IL_1444
+
+ IL_141f: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1424: ldloc.s V_21
+ IL_1426: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_142b: box [mscorlib]System.Int64
+ IL_1430: ldloc.s V_21
+ IL_1432: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1437: box [mscorlib]System.Int64
+ IL_143c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1441: ldc.i4.1
+ IL_1442: stloc.s V_20
+ IL_1444: ldsfld int64 IntrinsicTest::temp
+ IL_1449: ldsfld int64 IntrinsicTest::idmp
+ IL_144e: beq.s IL_1471
+
+ IL_1450: ldstr "temp mismatch {0} {1}"
+ IL_1455: ldsfld int64 IntrinsicTest::temp
+ IL_145a: box [mscorlib]System.Int64
+ IL_145f: ldsfld int64 IntrinsicTest::idmp
+ IL_1464: box [mscorlib]System.Int64
+ IL_1469: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_146e: ldc.i4.1
+ IL_146f: stloc.s V_20
+ IL_1471: ldsflda int32 IntrinsicTest::counter
+ IL_1476: ldsfld int32 IntrinsicTest::counter
+ IL_147b: ldsfld int32 IntrinsicTest::counter
+ IL_1480: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_1485: stsfld int32 IntrinsicTest::counter
+ IL_148a: ldsfld int32 IntrinsicTest::id_counter
+ IL_148f: stsfld int32 IntrinsicTest::id_counter
+ IL_1494: ldsfld int32 IntrinsicTest::id_counter
+ IL_1499: ldsfld int32 IntrinsicTest::id_counter
+ IL_149e: bne.un.s IL_14ad
+
+ IL_14a0: ldsfld int32 IntrinsicTest::id_counter
+ IL_14a5: conv.i8
+ IL_14a6: stsfld int64 IntrinsicTest::idjunk
+ IL_14ab: br.s IL_14b8
+
+ IL_14ad: ldsfld int32 IntrinsicTest::id_counter
+ IL_14b2: conv.i8
+ IL_14b3: stsfld int64 IntrinsicTest::idjunk
+ IL_14b8: ldstr "------------------------------------CMPXCHG 1 1 1 1"
+ IL_14bd: call void [System.Console]System.Console::WriteLine(string)
+ IL_14c2: ldloc.0
+ IL_14c3: ldloc.s V_10
+ IL_14c5: beq.s IL_14e1
+
+ IL_14c7: ldc.i4.1
+ IL_14c8: stloc.s V_20
+ IL_14ca: ldstr "te0 check failed {0} {1}"
+ IL_14cf: ldloc.0
+ IL_14d0: box [mscorlib]System.Int32
+ IL_14d5: ldloc.s V_10
+ IL_14d7: box [mscorlib]System.Int32
+ IL_14dc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_14e1: ldloc.1
+ IL_14e2: ldloc.s V_11
+ IL_14e4: beq.s IL_1500
+
+ IL_14e6: ldc.i4.1
+ IL_14e7: stloc.s V_20
+ IL_14e9: ldstr "te1 check failed {0} {1}"
+ IL_14ee: ldloc.1
+ IL_14ef: box [mscorlib]System.Int32
+ IL_14f4: ldloc.s V_11
+ IL_14f6: box [mscorlib]System.Int32
+ IL_14fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1500: ldloc.2
+ IL_1501: ldloc.s V_12
+ IL_1503: beq.s IL_151f
+
+ IL_1505: ldc.i4.1
+ IL_1506: stloc.s V_20
+ IL_1508: ldstr "te2 check failed {0} {1}"
+ IL_150d: ldloc.2
+ IL_150e: box [mscorlib]System.Int32
+ IL_1513: ldloc.s V_12
+ IL_1515: box [mscorlib]System.Int32
+ IL_151a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_151f: ldloc.3
+ IL_1520: ldloc.s V_13
+ IL_1522: beq.s IL_153e
+
+ IL_1524: ldc.i4.1
+ IL_1525: stloc.s V_20
+ IL_1527: ldstr "te3 check failed {0} {1}"
+ IL_152c: ldloc.3
+ IL_152d: box [mscorlib]System.Int32
+ IL_1532: ldloc.s V_13
+ IL_1534: box [mscorlib]System.Int32
+ IL_1539: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_153e: ldloc.s V_4
+ IL_1540: ldloc.s V_14
+ IL_1542: beq.s IL_155f
+
+ IL_1544: ldc.i4.1
+ IL_1545: stloc.s V_20
+ IL_1547: ldstr "te064 check failed {0} {1}"
+ IL_154c: ldloc.s V_4
+ IL_154e: box [mscorlib]System.Int64
+ IL_1553: ldloc.s V_14
+ IL_1555: box [mscorlib]System.Int64
+ IL_155a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_155f: ldloc.s V_5
+ IL_1561: ldloc.s V_15
+ IL_1563: beq.s IL_1580
+
+ IL_1565: ldc.i4.1
+ IL_1566: stloc.s V_20
+ IL_1568: ldstr "te164 check failed {0} {1}"
+ IL_156d: ldloc.s V_5
+ IL_156f: box [mscorlib]System.Int64
+ IL_1574: ldloc.s V_15
+ IL_1576: box [mscorlib]System.Int64
+ IL_157b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1580: ldloc.s V_6
+ IL_1582: ldloc.s V_16
+ IL_1584: beq.s IL_15a1
+
+ IL_1586: ldc.i4.1
+ IL_1587: stloc.s V_20
+ IL_1589: ldstr "te264 check failed {0} {1}"
+ IL_158e: ldloc.s V_6
+ IL_1590: box [mscorlib]System.Int64
+ IL_1595: ldloc.s V_16
+ IL_1597: box [mscorlib]System.Int64
+ IL_159c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15a1: ldloc.s V_7
+ IL_15a3: ldloc.s V_17
+ IL_15a5: beq.s IL_15c2
+
+ IL_15a7: ldc.i4.1
+ IL_15a8: stloc.s V_20
+ IL_15aa: ldstr "te364 check failed {0} {1}"
+ IL_15af: ldloc.s V_7
+ IL_15b1: box [mscorlib]System.Int64
+ IL_15b6: ldloc.s V_17
+ IL_15b8: box [mscorlib]System.Int64
+ IL_15bd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15c2: ldloc.s V_8
+ IL_15c4: ldloc.s V_18
+ IL_15c6: beq.s IL_15e3
+
+ IL_15c8: ldc.i4.1
+ IL_15c9: stloc.s V_20
+ IL_15cb: ldstr "dummy check failed {0} {1}"
+ IL_15d0: ldloc.s V_8
+ IL_15d2: box [mscorlib]System.Int32
+ IL_15d7: ldloc.s V_18
+ IL_15d9: box [mscorlib]System.Int32
+ IL_15de: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_15e3: ldloc.s V_9
+ IL_15e5: ldloc.s V_19
+ IL_15e7: beq.s IL_1604
+
+ IL_15e9: ldc.i4.1
+ IL_15ea: stloc.s V_20
+ IL_15ec: ldstr "dummy64 check failed {0} {1}"
+ IL_15f1: ldloc.s V_9
+ IL_15f3: box [mscorlib]System.Int64
+ IL_15f8: ldloc.s V_19
+ IL_15fa: box [mscorlib]System.Int64
+ IL_15ff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1604: ldsfld int32 IntrinsicTest::counter
+ IL_1609: ldsfld int32 IntrinsicTest::id_counter
+ IL_160e: beq.s IL_1631
+
+ IL_1610: ldstr "counter mismatch {0} {1}"
+ IL_1615: ldsfld int32 IntrinsicTest::counter
+ IL_161a: box [mscorlib]System.Int32
+ IL_161f: ldsfld int32 IntrinsicTest::id_counter
+ IL_1624: box [mscorlib]System.Int32
+ IL_1629: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_162e: ldc.i4.1
+ IL_162f: stloc.s V_20
+ IL_1631: ldsfld int64 IntrinsicTest::counter64
+ IL_1636: ldsfld int64 IntrinsicTest::id_counter64
+ IL_163b: beq.s IL_165e
+
+ IL_163d: ldstr "counter64 mismatch {0} {1}"
+ IL_1642: ldsfld int64 IntrinsicTest::counter64
+ IL_1647: box [mscorlib]System.Int64
+ IL_164c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1651: box [mscorlib]System.Int64
+ IL_1656: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_165b: ldc.i4.1
+ IL_165c: stloc.s V_20
+ IL_165e: ldloc.s V_21
+ IL_1660: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1665: ldloc.s V_21
+ IL_1667: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_166c: beq.s IL_1693
+
+ IL_166e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1673: ldloc.s V_21
+ IL_1675: ldfld int32 IntrinsicTest::instanceCounter
+ IL_167a: box [mscorlib]System.Int32
+ IL_167f: ldloc.s V_21
+ IL_1681: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1686: box [mscorlib]System.Int32
+ IL_168b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1690: ldc.i4.1
+ IL_1691: stloc.s V_20
+ IL_1693: ldloc.s V_21
+ IL_1695: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_169a: ldloc.s V_21
+ IL_169c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_16a1: beq.s IL_16c8
+
+ IL_16a3: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_16a8: ldloc.s V_21
+ IL_16aa: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_16af: box [mscorlib]System.Int64
+ IL_16b4: ldloc.s V_21
+ IL_16b6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_16bb: box [mscorlib]System.Int64
+ IL_16c0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_16c5: ldc.i4.1
+ IL_16c6: stloc.s V_20
+ IL_16c8: ldsfld int64 IntrinsicTest::temp
+ IL_16cd: ldsfld int64 IntrinsicTest::idmp
+ IL_16d2: beq.s IL_16f5
+
+ IL_16d4: ldstr "temp mismatch {0} {1}"
+ IL_16d9: ldsfld int64 IntrinsicTest::temp
+ IL_16de: box [mscorlib]System.Int64
+ IL_16e3: ldsfld int64 IntrinsicTest::idmp
+ IL_16e8: box [mscorlib]System.Int64
+ IL_16ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_16f2: ldc.i4.1
+ IL_16f3: stloc.s V_20
+ IL_16f5: ldloc.s V_21
+ IL_16f7: ldsflda int32 IntrinsicTest::counter
+ IL_16fc: ldsfld int32 IntrinsicTest::counter
+ IL_1701: ldsfld int32 IntrinsicTest::counter
+ IL_1706: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_170b: stfld int32 IntrinsicTest::instanceCounter
+ IL_1710: ldloc.s V_21
+ IL_1712: ldsfld int32 IntrinsicTest::id_counter
+ IL_1717: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_171c: ldsfld int32 IntrinsicTest::id_counter
+ IL_1721: ldsfld int32 IntrinsicTest::id_counter
+ IL_1726: bne.un.s IL_1734
+
+ IL_1728: ldsfld int32 IntrinsicTest::id_counter
+ IL_172d: stsfld int32 IntrinsicTest::id_counter
+ IL_1732: br.s IL_173f
+
+ IL_1734: ldsfld int32 IntrinsicTest::id_counter
+ IL_1739: conv.i8
+ IL_173a: stsfld int64 IntrinsicTest::idjunk
+ IL_173f: ldstr "------------------------------------CMPXCHG 1 1 1 2"
+ IL_1744: call void [System.Console]System.Console::WriteLine(string)
+ IL_1749: ldloc.0
+ IL_174a: ldloc.s V_10
+ IL_174c: beq.s IL_1768
+
+ IL_174e: ldc.i4.1
+ IL_174f: stloc.s V_20
+ IL_1751: ldstr "te0 check failed {0} {1}"
+ IL_1756: ldloc.0
+ IL_1757: box [mscorlib]System.Int32
+ IL_175c: ldloc.s V_10
+ IL_175e: box [mscorlib]System.Int32
+ IL_1763: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1768: ldloc.1
+ IL_1769: ldloc.s V_11
+ IL_176b: beq.s IL_1787
+
+ IL_176d: ldc.i4.1
+ IL_176e: stloc.s V_20
+ IL_1770: ldstr "te1 check failed {0} {1}"
+ IL_1775: ldloc.1
+ IL_1776: box [mscorlib]System.Int32
+ IL_177b: ldloc.s V_11
+ IL_177d: box [mscorlib]System.Int32
+ IL_1782: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1787: ldloc.2
+ IL_1788: ldloc.s V_12
+ IL_178a: beq.s IL_17a6
+
+ IL_178c: ldc.i4.1
+ IL_178d: stloc.s V_20
+ IL_178f: ldstr "te2 check failed {0} {1}"
+ IL_1794: ldloc.2
+ IL_1795: box [mscorlib]System.Int32
+ IL_179a: ldloc.s V_12
+ IL_179c: box [mscorlib]System.Int32
+ IL_17a1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17a6: ldloc.3
+ IL_17a7: ldloc.s V_13
+ IL_17a9: beq.s IL_17c5
+
+ IL_17ab: ldc.i4.1
+ IL_17ac: stloc.s V_20
+ IL_17ae: ldstr "te3 check failed {0} {1}"
+ IL_17b3: ldloc.3
+ IL_17b4: box [mscorlib]System.Int32
+ IL_17b9: ldloc.s V_13
+ IL_17bb: box [mscorlib]System.Int32
+ IL_17c0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17c5: ldloc.s V_4
+ IL_17c7: ldloc.s V_14
+ IL_17c9: beq.s IL_17e6
+
+ IL_17cb: ldc.i4.1
+ IL_17cc: stloc.s V_20
+ IL_17ce: ldstr "te064 check failed {0} {1}"
+ IL_17d3: ldloc.s V_4
+ IL_17d5: box [mscorlib]System.Int64
+ IL_17da: ldloc.s V_14
+ IL_17dc: box [mscorlib]System.Int64
+ IL_17e1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_17e6: ldloc.s V_5
+ IL_17e8: ldloc.s V_15
+ IL_17ea: beq.s IL_1807
+
+ IL_17ec: ldc.i4.1
+ IL_17ed: stloc.s V_20
+ IL_17ef: ldstr "te164 check failed {0} {1}"
+ IL_17f4: ldloc.s V_5
+ IL_17f6: box [mscorlib]System.Int64
+ IL_17fb: ldloc.s V_15
+ IL_17fd: box [mscorlib]System.Int64
+ IL_1802: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1807: ldloc.s V_6
+ IL_1809: ldloc.s V_16
+ IL_180b: beq.s IL_1828
+
+ IL_180d: ldc.i4.1
+ IL_180e: stloc.s V_20
+ IL_1810: ldstr "te264 check failed {0} {1}"
+ IL_1815: ldloc.s V_6
+ IL_1817: box [mscorlib]System.Int64
+ IL_181c: ldloc.s V_16
+ IL_181e: box [mscorlib]System.Int64
+ IL_1823: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1828: ldloc.s V_7
+ IL_182a: ldloc.s V_17
+ IL_182c: beq.s IL_1849
+
+ IL_182e: ldc.i4.1
+ IL_182f: stloc.s V_20
+ IL_1831: ldstr "te364 check failed {0} {1}"
+ IL_1836: ldloc.s V_7
+ IL_1838: box [mscorlib]System.Int64
+ IL_183d: ldloc.s V_17
+ IL_183f: box [mscorlib]System.Int64
+ IL_1844: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1849: ldloc.s V_8
+ IL_184b: ldloc.s V_18
+ IL_184d: beq.s IL_186a
+
+ IL_184f: ldc.i4.1
+ IL_1850: stloc.s V_20
+ IL_1852: ldstr "dummy check failed {0} {1}"
+ IL_1857: ldloc.s V_8
+ IL_1859: box [mscorlib]System.Int32
+ IL_185e: ldloc.s V_18
+ IL_1860: box [mscorlib]System.Int32
+ IL_1865: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_186a: ldloc.s V_9
+ IL_186c: ldloc.s V_19
+ IL_186e: beq.s IL_188b
+
+ IL_1870: ldc.i4.1
+ IL_1871: stloc.s V_20
+ IL_1873: ldstr "dummy64 check failed {0} {1}"
+ IL_1878: ldloc.s V_9
+ IL_187a: box [mscorlib]System.Int64
+ IL_187f: ldloc.s V_19
+ IL_1881: box [mscorlib]System.Int64
+ IL_1886: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_188b: ldsfld int32 IntrinsicTest::counter
+ IL_1890: ldsfld int32 IntrinsicTest::id_counter
+ IL_1895: beq.s IL_18b8
+
+ IL_1897: ldstr "counter mismatch {0} {1}"
+ IL_189c: ldsfld int32 IntrinsicTest::counter
+ IL_18a1: box [mscorlib]System.Int32
+ IL_18a6: ldsfld int32 IntrinsicTest::id_counter
+ IL_18ab: box [mscorlib]System.Int32
+ IL_18b0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_18b5: ldc.i4.1
+ IL_18b6: stloc.s V_20
+ IL_18b8: ldsfld int64 IntrinsicTest::counter64
+ IL_18bd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_18c2: beq.s IL_18e5
+
+ IL_18c4: ldstr "counter64 mismatch {0} {1}"
+ IL_18c9: ldsfld int64 IntrinsicTest::counter64
+ IL_18ce: box [mscorlib]System.Int64
+ IL_18d3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_18d8: box [mscorlib]System.Int64
+ IL_18dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_18e2: ldc.i4.1
+ IL_18e3: stloc.s V_20
+ IL_18e5: ldloc.s V_21
+ IL_18e7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_18ec: ldloc.s V_21
+ IL_18ee: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_18f3: beq.s IL_191a
+
+ IL_18f5: ldstr "instanceCounter mismatch {0} {1}"
+ IL_18fa: ldloc.s V_21
+ IL_18fc: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1901: box [mscorlib]System.Int32
+ IL_1906: ldloc.s V_21
+ IL_1908: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_190d: box [mscorlib]System.Int32
+ IL_1912: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1917: ldc.i4.1
+ IL_1918: stloc.s V_20
+ IL_191a: ldloc.s V_21
+ IL_191c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1921: ldloc.s V_21
+ IL_1923: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1928: beq.s IL_194f
+
+ IL_192a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_192f: ldloc.s V_21
+ IL_1931: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1936: box [mscorlib]System.Int64
+ IL_193b: ldloc.s V_21
+ IL_193d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1942: box [mscorlib]System.Int64
+ IL_1947: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_194c: ldc.i4.1
+ IL_194d: stloc.s V_20
+ IL_194f: ldsfld int64 IntrinsicTest::temp
+ IL_1954: ldsfld int64 IntrinsicTest::idmp
+ IL_1959: beq.s IL_197c
+
+ IL_195b: ldstr "temp mismatch {0} {1}"
+ IL_1960: ldsfld int64 IntrinsicTest::temp
+ IL_1965: box [mscorlib]System.Int64
+ IL_196a: ldsfld int64 IntrinsicTest::idmp
+ IL_196f: box [mscorlib]System.Int64
+ IL_1974: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1979: ldc.i4.1
+ IL_197a: stloc.s V_20
+ IL_197c: ldsflda int32 IntrinsicTest::counter
+ IL_1981: ldsfld int32 IntrinsicTest::counter
+ IL_1986: ldsfld int32 IntrinsicTest::counter
+ IL_198b: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_1990: stloc.0
+ IL_1991: ldsfld int32 IntrinsicTest::id_counter
+ IL_1996: stloc.s V_10
+ IL_1998: ldsfld int32 IntrinsicTest::id_counter
+ IL_199d: ldsfld int32 IntrinsicTest::id_counter
+ IL_19a2: bne.un.s IL_19b0
+
+ IL_19a4: ldsfld int32 IntrinsicTest::id_counter
+ IL_19a9: stsfld int32 IntrinsicTest::id_counter
+ IL_19ae: br.s IL_19bb
+
+ IL_19b0: ldsfld int32 IntrinsicTest::id_counter
+ IL_19b5: conv.i8
+ IL_19b6: stsfld int64 IntrinsicTest::idjunk
+ IL_19bb: ldstr "------------------------------------CMPXCHG 1 1 1 3"
+ IL_19c0: call void [System.Console]System.Console::WriteLine(string)
+ IL_19c5: ldloc.0
+ IL_19c6: ldloc.s V_10
+ IL_19c8: beq.s IL_19e4
+
+ IL_19ca: ldc.i4.1
+ IL_19cb: stloc.s V_20
+ IL_19cd: ldstr "te0 check failed {0} {1}"
+ IL_19d2: ldloc.0
+ IL_19d3: box [mscorlib]System.Int32
+ IL_19d8: ldloc.s V_10
+ IL_19da: box [mscorlib]System.Int32
+ IL_19df: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_19e4: ldloc.1
+ IL_19e5: ldloc.s V_11
+ IL_19e7: beq.s IL_1a03
+
+ IL_19e9: ldc.i4.1
+ IL_19ea: stloc.s V_20
+ IL_19ec: ldstr "te1 check failed {0} {1}"
+ IL_19f1: ldloc.1
+ IL_19f2: box [mscorlib]System.Int32
+ IL_19f7: ldloc.s V_11
+ IL_19f9: box [mscorlib]System.Int32
+ IL_19fe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a03: ldloc.2
+ IL_1a04: ldloc.s V_12
+ IL_1a06: beq.s IL_1a22
+
+ IL_1a08: ldc.i4.1
+ IL_1a09: stloc.s V_20
+ IL_1a0b: ldstr "te2 check failed {0} {1}"
+ IL_1a10: ldloc.2
+ IL_1a11: box [mscorlib]System.Int32
+ IL_1a16: ldloc.s V_12
+ IL_1a18: box [mscorlib]System.Int32
+ IL_1a1d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a22: ldloc.3
+ IL_1a23: ldloc.s V_13
+ IL_1a25: beq.s IL_1a41
+
+ IL_1a27: ldc.i4.1
+ IL_1a28: stloc.s V_20
+ IL_1a2a: ldstr "te3 check failed {0} {1}"
+ IL_1a2f: ldloc.3
+ IL_1a30: box [mscorlib]System.Int32
+ IL_1a35: ldloc.s V_13
+ IL_1a37: box [mscorlib]System.Int32
+ IL_1a3c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a41: ldloc.s V_4
+ IL_1a43: ldloc.s V_14
+ IL_1a45: beq.s IL_1a62
+
+ IL_1a47: ldc.i4.1
+ IL_1a48: stloc.s V_20
+ IL_1a4a: ldstr "te064 check failed {0} {1}"
+ IL_1a4f: ldloc.s V_4
+ IL_1a51: box [mscorlib]System.Int64
+ IL_1a56: ldloc.s V_14
+ IL_1a58: box [mscorlib]System.Int64
+ IL_1a5d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a62: ldloc.s V_5
+ IL_1a64: ldloc.s V_15
+ IL_1a66: beq.s IL_1a83
+
+ IL_1a68: ldc.i4.1
+ IL_1a69: stloc.s V_20
+ IL_1a6b: ldstr "te164 check failed {0} {1}"
+ IL_1a70: ldloc.s V_5
+ IL_1a72: box [mscorlib]System.Int64
+ IL_1a77: ldloc.s V_15
+ IL_1a79: box [mscorlib]System.Int64
+ IL_1a7e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1a83: ldloc.s V_6
+ IL_1a85: ldloc.s V_16
+ IL_1a87: beq.s IL_1aa4
+
+ IL_1a89: ldc.i4.1
+ IL_1a8a: stloc.s V_20
+ IL_1a8c: ldstr "te264 check failed {0} {1}"
+ IL_1a91: ldloc.s V_6
+ IL_1a93: box [mscorlib]System.Int64
+ IL_1a98: ldloc.s V_16
+ IL_1a9a: box [mscorlib]System.Int64
+ IL_1a9f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1aa4: ldloc.s V_7
+ IL_1aa6: ldloc.s V_17
+ IL_1aa8: beq.s IL_1ac5
+
+ IL_1aaa: ldc.i4.1
+ IL_1aab: stloc.s V_20
+ IL_1aad: ldstr "te364 check failed {0} {1}"
+ IL_1ab2: ldloc.s V_7
+ IL_1ab4: box [mscorlib]System.Int64
+ IL_1ab9: ldloc.s V_17
+ IL_1abb: box [mscorlib]System.Int64
+ IL_1ac0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ac5: ldloc.s V_8
+ IL_1ac7: ldloc.s V_18
+ IL_1ac9: beq.s IL_1ae6
+
+ IL_1acb: ldc.i4.1
+ IL_1acc: stloc.s V_20
+ IL_1ace: ldstr "dummy check failed {0} {1}"
+ IL_1ad3: ldloc.s V_8
+ IL_1ad5: box [mscorlib]System.Int32
+ IL_1ada: ldloc.s V_18
+ IL_1adc: box [mscorlib]System.Int32
+ IL_1ae1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ae6: ldloc.s V_9
+ IL_1ae8: ldloc.s V_19
+ IL_1aea: beq.s IL_1b07
+
+ IL_1aec: ldc.i4.1
+ IL_1aed: stloc.s V_20
+ IL_1aef: ldstr "dummy64 check failed {0} {1}"
+ IL_1af4: ldloc.s V_9
+ IL_1af6: box [mscorlib]System.Int64
+ IL_1afb: ldloc.s V_19
+ IL_1afd: box [mscorlib]System.Int64
+ IL_1b02: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b07: ldsfld int32 IntrinsicTest::counter
+ IL_1b0c: ldsfld int32 IntrinsicTest::id_counter
+ IL_1b11: beq.s IL_1b34
+
+ IL_1b13: ldstr "counter mismatch {0} {1}"
+ IL_1b18: ldsfld int32 IntrinsicTest::counter
+ IL_1b1d: box [mscorlib]System.Int32
+ IL_1b22: ldsfld int32 IntrinsicTest::id_counter
+ IL_1b27: box [mscorlib]System.Int32
+ IL_1b2c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b31: ldc.i4.1
+ IL_1b32: stloc.s V_20
+ IL_1b34: ldsfld int64 IntrinsicTest::counter64
+ IL_1b39: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1b3e: beq.s IL_1b61
+
+ IL_1b40: ldstr "counter64 mismatch {0} {1}"
+ IL_1b45: ldsfld int64 IntrinsicTest::counter64
+ IL_1b4a: box [mscorlib]System.Int64
+ IL_1b4f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1b54: box [mscorlib]System.Int64
+ IL_1b59: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b5e: ldc.i4.1
+ IL_1b5f: stloc.s V_20
+ IL_1b61: ldloc.s V_21
+ IL_1b63: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1b68: ldloc.s V_21
+ IL_1b6a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1b6f: beq.s IL_1b96
+
+ IL_1b71: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1b76: ldloc.s V_21
+ IL_1b78: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1b7d: box [mscorlib]System.Int32
+ IL_1b82: ldloc.s V_21
+ IL_1b84: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1b89: box [mscorlib]System.Int32
+ IL_1b8e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1b93: ldc.i4.1
+ IL_1b94: stloc.s V_20
+ IL_1b96: ldloc.s V_21
+ IL_1b98: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1b9d: ldloc.s V_21
+ IL_1b9f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1ba4: beq.s IL_1bcb
+
+ IL_1ba6: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1bab: ldloc.s V_21
+ IL_1bad: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1bb2: box [mscorlib]System.Int64
+ IL_1bb7: ldloc.s V_21
+ IL_1bb9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1bbe: box [mscorlib]System.Int64
+ IL_1bc3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1bc8: ldc.i4.1
+ IL_1bc9: stloc.s V_20
+ IL_1bcb: ldsfld int64 IntrinsicTest::temp
+ IL_1bd0: ldsfld int64 IntrinsicTest::idmp
+ IL_1bd5: beq.s IL_1bf8
+
+ IL_1bd7: ldstr "temp mismatch {0} {1}"
+ IL_1bdc: ldsfld int64 IntrinsicTest::temp
+ IL_1be1: box [mscorlib]System.Int64
+ IL_1be6: ldsfld int64 IntrinsicTest::idmp
+ IL_1beb: box [mscorlib]System.Int64
+ IL_1bf0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1bf5: ldc.i4.1
+ IL_1bf6: stloc.s V_20
+ IL_1bf8: ldsflda int32 IntrinsicTest::counter
+ IL_1bfd: ldsfld int32 IntrinsicTest::counter
+ IL_1c02: ldsfld int32 IntrinsicTest::counter
+ IL_1c07: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_1c0c: stsfld int32 IntrinsicTest::counter
+ IL_1c11: ldsfld int32 IntrinsicTest::id_counter
+ IL_1c16: stsfld int32 IntrinsicTest::id_counter
+ IL_1c1b: ldsfld int32 IntrinsicTest::id_counter
+ IL_1c20: ldsfld int32 IntrinsicTest::id_counter
+ IL_1c25: bne.un.s IL_1c34
+
+ IL_1c27: ldsfld int32 IntrinsicTest::id_counter
+ IL_1c2c: conv.i8
+ IL_1c2d: stsfld int64 IntrinsicTest::idjunk
+ IL_1c32: br.s IL_1c3f
+
+ IL_1c34: ldsfld int32 IntrinsicTest::id_counter
+ IL_1c39: conv.i8
+ IL_1c3a: stsfld int64 IntrinsicTest::idjunk
+ IL_1c3f: ldstr "------------------------------------CMPXCHG 1 1 1 4"
+ IL_1c44: call void [System.Console]System.Console::WriteLine(string)
+ IL_1c49: ldloc.0
+ IL_1c4a: ldloc.s V_10
+ IL_1c4c: beq.s IL_1c68
+
+ IL_1c4e: ldc.i4.1
+ IL_1c4f: stloc.s V_20
+ IL_1c51: ldstr "te0 check failed {0} {1}"
+ IL_1c56: ldloc.0
+ IL_1c57: box [mscorlib]System.Int32
+ IL_1c5c: ldloc.s V_10
+ IL_1c5e: box [mscorlib]System.Int32
+ IL_1c63: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1c68: ldloc.1
+ IL_1c69: ldloc.s V_11
+ IL_1c6b: beq.s IL_1c87
+
+ IL_1c6d: ldc.i4.1
+ IL_1c6e: stloc.s V_20
+ IL_1c70: ldstr "te1 check failed {0} {1}"
+ IL_1c75: ldloc.1
+ IL_1c76: box [mscorlib]System.Int32
+ IL_1c7b: ldloc.s V_11
+ IL_1c7d: box [mscorlib]System.Int32
+ IL_1c82: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1c87: ldloc.2
+ IL_1c88: ldloc.s V_12
+ IL_1c8a: beq.s IL_1ca6
+
+ IL_1c8c: ldc.i4.1
+ IL_1c8d: stloc.s V_20
+ IL_1c8f: ldstr "te2 check failed {0} {1}"
+ IL_1c94: ldloc.2
+ IL_1c95: box [mscorlib]System.Int32
+ IL_1c9a: ldloc.s V_12
+ IL_1c9c: box [mscorlib]System.Int32
+ IL_1ca1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ca6: ldloc.3
+ IL_1ca7: ldloc.s V_13
+ IL_1ca9: beq.s IL_1cc5
+
+ IL_1cab: ldc.i4.1
+ IL_1cac: stloc.s V_20
+ IL_1cae: ldstr "te3 check failed {0} {1}"
+ IL_1cb3: ldloc.3
+ IL_1cb4: box [mscorlib]System.Int32
+ IL_1cb9: ldloc.s V_13
+ IL_1cbb: box [mscorlib]System.Int32
+ IL_1cc0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1cc5: ldloc.s V_4
+ IL_1cc7: ldloc.s V_14
+ IL_1cc9: beq.s IL_1ce6
+
+ IL_1ccb: ldc.i4.1
+ IL_1ccc: stloc.s V_20
+ IL_1cce: ldstr "te064 check failed {0} {1}"
+ IL_1cd3: ldloc.s V_4
+ IL_1cd5: box [mscorlib]System.Int64
+ IL_1cda: ldloc.s V_14
+ IL_1cdc: box [mscorlib]System.Int64
+ IL_1ce1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ce6: ldloc.s V_5
+ IL_1ce8: ldloc.s V_15
+ IL_1cea: beq.s IL_1d07
+
+ IL_1cec: ldc.i4.1
+ IL_1ced: stloc.s V_20
+ IL_1cef: ldstr "te164 check failed {0} {1}"
+ IL_1cf4: ldloc.s V_5
+ IL_1cf6: box [mscorlib]System.Int64
+ IL_1cfb: ldloc.s V_15
+ IL_1cfd: box [mscorlib]System.Int64
+ IL_1d02: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d07: ldloc.s V_6
+ IL_1d09: ldloc.s V_16
+ IL_1d0b: beq.s IL_1d28
+
+ IL_1d0d: ldc.i4.1
+ IL_1d0e: stloc.s V_20
+ IL_1d10: ldstr "te264 check failed {0} {1}"
+ IL_1d15: ldloc.s V_6
+ IL_1d17: box [mscorlib]System.Int64
+ IL_1d1c: ldloc.s V_16
+ IL_1d1e: box [mscorlib]System.Int64
+ IL_1d23: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d28: ldloc.s V_7
+ IL_1d2a: ldloc.s V_17
+ IL_1d2c: beq.s IL_1d49
+
+ IL_1d2e: ldc.i4.1
+ IL_1d2f: stloc.s V_20
+ IL_1d31: ldstr "te364 check failed {0} {1}"
+ IL_1d36: ldloc.s V_7
+ IL_1d38: box [mscorlib]System.Int64
+ IL_1d3d: ldloc.s V_17
+ IL_1d3f: box [mscorlib]System.Int64
+ IL_1d44: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d49: ldloc.s V_8
+ IL_1d4b: ldloc.s V_18
+ IL_1d4d: beq.s IL_1d6a
+
+ IL_1d4f: ldc.i4.1
+ IL_1d50: stloc.s V_20
+ IL_1d52: ldstr "dummy check failed {0} {1}"
+ IL_1d57: ldloc.s V_8
+ IL_1d59: box [mscorlib]System.Int32
+ IL_1d5e: ldloc.s V_18
+ IL_1d60: box [mscorlib]System.Int32
+ IL_1d65: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d6a: ldloc.s V_9
+ IL_1d6c: ldloc.s V_19
+ IL_1d6e: beq.s IL_1d8b
+
+ IL_1d70: ldc.i4.1
+ IL_1d71: stloc.s V_20
+ IL_1d73: ldstr "dummy64 check failed {0} {1}"
+ IL_1d78: ldloc.s V_9
+ IL_1d7a: box [mscorlib]System.Int64
+ IL_1d7f: ldloc.s V_19
+ IL_1d81: box [mscorlib]System.Int64
+ IL_1d86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1d8b: ldsfld int32 IntrinsicTest::counter
+ IL_1d90: ldsfld int32 IntrinsicTest::id_counter
+ IL_1d95: beq.s IL_1db8
+
+ IL_1d97: ldstr "counter mismatch {0} {1}"
+ IL_1d9c: ldsfld int32 IntrinsicTest::counter
+ IL_1da1: box [mscorlib]System.Int32
+ IL_1da6: ldsfld int32 IntrinsicTest::id_counter
+ IL_1dab: box [mscorlib]System.Int32
+ IL_1db0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1db5: ldc.i4.1
+ IL_1db6: stloc.s V_20
+ IL_1db8: ldsfld int64 IntrinsicTest::counter64
+ IL_1dbd: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1dc2: beq.s IL_1de5
+
+ IL_1dc4: ldstr "counter64 mismatch {0} {1}"
+ IL_1dc9: ldsfld int64 IntrinsicTest::counter64
+ IL_1dce: box [mscorlib]System.Int64
+ IL_1dd3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_1dd8: box [mscorlib]System.Int64
+ IL_1ddd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1de2: ldc.i4.1
+ IL_1de3: stloc.s V_20
+ IL_1de5: ldloc.s V_21
+ IL_1de7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1dec: ldloc.s V_21
+ IL_1dee: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1df3: beq.s IL_1e1a
+
+ IL_1df5: ldstr "instanceCounter mismatch {0} {1}"
+ IL_1dfa: ldloc.s V_21
+ IL_1dfc: ldfld int32 IntrinsicTest::instanceCounter
+ IL_1e01: box [mscorlib]System.Int32
+ IL_1e06: ldloc.s V_21
+ IL_1e08: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_1e0d: box [mscorlib]System.Int32
+ IL_1e12: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e17: ldc.i4.1
+ IL_1e18: stloc.s V_20
+ IL_1e1a: ldloc.s V_21
+ IL_1e1c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1e21: ldloc.s V_21
+ IL_1e23: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1e28: beq.s IL_1e4f
+
+ IL_1e2a: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_1e2f: ldloc.s V_21
+ IL_1e31: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_1e36: box [mscorlib]System.Int64
+ IL_1e3b: ldloc.s V_21
+ IL_1e3d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_1e42: box [mscorlib]System.Int64
+ IL_1e47: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e4c: ldc.i4.1
+ IL_1e4d: stloc.s V_20
+ IL_1e4f: ldsfld int64 IntrinsicTest::temp
+ IL_1e54: ldsfld int64 IntrinsicTest::idmp
+ IL_1e59: beq.s IL_1e7c
+
+ IL_1e5b: ldstr "temp mismatch {0} {1}"
+ IL_1e60: ldsfld int64 IntrinsicTest::temp
+ IL_1e65: box [mscorlib]System.Int64
+ IL_1e6a: ldsfld int64 IntrinsicTest::idmp
+ IL_1e6f: box [mscorlib]System.Int64
+ IL_1e74: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1e79: ldc.i4.1
+ IL_1e7a: stloc.s V_20
+ IL_1e7c: ldloc.s V_21
+ IL_1e7e: ldsflda int32 IntrinsicTest::counter
+ IL_1e83: ldsfld int32 IntrinsicTest::counter
+ IL_1e88: ldsfld int32 IntrinsicTest::counter
+ IL_1e8d: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_1e92: stfld int32 IntrinsicTest::instanceCounter
+ IL_1e97: ldloc.s V_21
+ IL_1e99: ldsfld int32 IntrinsicTest::id_counter
+ IL_1e9e: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_1ea3: ldsfld int32 IntrinsicTest::id_counter
+ IL_1ea8: ldsfld int32 IntrinsicTest::id_counter
+ IL_1ead: bne.un.s IL_1ebb
+
+ IL_1eaf: ldsfld int32 IntrinsicTest::id_counter
+ IL_1eb4: stsfld int32 IntrinsicTest::id_counter
+ IL_1eb9: br.s IL_1ec6
+
+ IL_1ebb: ldsfld int32 IntrinsicTest::id_counter
+ IL_1ec0: conv.i8
+ IL_1ec1: stsfld int64 IntrinsicTest::idjunk
+ IL_1ec6: ldstr "------------------------------------CMPXCHG 1 1 1 5"
+ IL_1ecb: call void [System.Console]System.Console::WriteLine(string)
+ IL_1ed0: ldloc.0
+ IL_1ed1: ldloc.s V_10
+ IL_1ed3: beq.s IL_1eef
+
+ IL_1ed5: ldc.i4.1
+ IL_1ed6: stloc.s V_20
+ IL_1ed8: ldstr "te0 check failed {0} {1}"
+ IL_1edd: ldloc.0
+ IL_1ede: box [mscorlib]System.Int32
+ IL_1ee3: ldloc.s V_10
+ IL_1ee5: box [mscorlib]System.Int32
+ IL_1eea: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1eef: ldloc.1
+ IL_1ef0: ldloc.s V_11
+ IL_1ef2: beq.s IL_1f0e
+
+ IL_1ef4: ldc.i4.1
+ IL_1ef5: stloc.s V_20
+ IL_1ef7: ldstr "te1 check failed {0} {1}"
+ IL_1efc: ldloc.1
+ IL_1efd: box [mscorlib]System.Int32
+ IL_1f02: ldloc.s V_11
+ IL_1f04: box [mscorlib]System.Int32
+ IL_1f09: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f0e: ldloc.2
+ IL_1f0f: ldloc.s V_12
+ IL_1f11: beq.s IL_1f2d
+
+ IL_1f13: ldc.i4.1
+ IL_1f14: stloc.s V_20
+ IL_1f16: ldstr "te2 check failed {0} {1}"
+ IL_1f1b: ldloc.2
+ IL_1f1c: box [mscorlib]System.Int32
+ IL_1f21: ldloc.s V_12
+ IL_1f23: box [mscorlib]System.Int32
+ IL_1f28: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f2d: ldloc.3
+ IL_1f2e: ldloc.s V_13
+ IL_1f30: beq.s IL_1f4c
+
+ IL_1f32: ldc.i4.1
+ IL_1f33: stloc.s V_20
+ IL_1f35: ldstr "te3 check failed {0} {1}"
+ IL_1f3a: ldloc.3
+ IL_1f3b: box [mscorlib]System.Int32
+ IL_1f40: ldloc.s V_13
+ IL_1f42: box [mscorlib]System.Int32
+ IL_1f47: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f4c: ldloc.s V_4
+ IL_1f4e: ldloc.s V_14
+ IL_1f50: beq.s IL_1f6d
+
+ IL_1f52: ldc.i4.1
+ IL_1f53: stloc.s V_20
+ IL_1f55: ldstr "te064 check failed {0} {1}"
+ IL_1f5a: ldloc.s V_4
+ IL_1f5c: box [mscorlib]System.Int64
+ IL_1f61: ldloc.s V_14
+ IL_1f63: box [mscorlib]System.Int64
+ IL_1f68: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f6d: ldloc.s V_5
+ IL_1f6f: ldloc.s V_15
+ IL_1f71: beq.s IL_1f8e
+
+ IL_1f73: ldc.i4.1
+ IL_1f74: stloc.s V_20
+ IL_1f76: ldstr "te164 check failed {0} {1}"
+ IL_1f7b: ldloc.s V_5
+ IL_1f7d: box [mscorlib]System.Int64
+ IL_1f82: ldloc.s V_15
+ IL_1f84: box [mscorlib]System.Int64
+ IL_1f89: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1f8e: ldloc.s V_6
+ IL_1f90: ldloc.s V_16
+ IL_1f92: beq.s IL_1faf
+
+ IL_1f94: ldc.i4.1
+ IL_1f95: stloc.s V_20
+ IL_1f97: ldstr "te264 check failed {0} {1}"
+ IL_1f9c: ldloc.s V_6
+ IL_1f9e: box [mscorlib]System.Int64
+ IL_1fa3: ldloc.s V_16
+ IL_1fa5: box [mscorlib]System.Int64
+ IL_1faa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1faf: ldloc.s V_7
+ IL_1fb1: ldloc.s V_17
+ IL_1fb3: beq.s IL_1fd0
+
+ IL_1fb5: ldc.i4.1
+ IL_1fb6: stloc.s V_20
+ IL_1fb8: ldstr "te364 check failed {0} {1}"
+ IL_1fbd: ldloc.s V_7
+ IL_1fbf: box [mscorlib]System.Int64
+ IL_1fc4: ldloc.s V_17
+ IL_1fc6: box [mscorlib]System.Int64
+ IL_1fcb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1fd0: ldloc.s V_8
+ IL_1fd2: ldloc.s V_18
+ IL_1fd4: beq.s IL_1ff1
+
+ IL_1fd6: ldc.i4.1
+ IL_1fd7: stloc.s V_20
+ IL_1fd9: ldstr "dummy check failed {0} {1}"
+ IL_1fde: ldloc.s V_8
+ IL_1fe0: box [mscorlib]System.Int32
+ IL_1fe5: ldloc.s V_18
+ IL_1fe7: box [mscorlib]System.Int32
+ IL_1fec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_1ff1: ldloc.s V_9
+ IL_1ff3: ldloc.s V_19
+ IL_1ff5: beq.s IL_2012
+
+ IL_1ff7: ldc.i4.1
+ IL_1ff8: stloc.s V_20
+ IL_1ffa: ldstr "dummy64 check failed {0} {1}"
+ IL_1fff: ldloc.s V_9
+ IL_2001: box [mscorlib]System.Int64
+ IL_2006: ldloc.s V_19
+ IL_2008: box [mscorlib]System.Int64
+ IL_200d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2012: ldsfld int32 IntrinsicTest::counter
+ IL_2017: ldsfld int32 IntrinsicTest::id_counter
+ IL_201c: beq.s IL_203f
+
+ IL_201e: ldstr "counter mismatch {0} {1}"
+ IL_2023: ldsfld int32 IntrinsicTest::counter
+ IL_2028: box [mscorlib]System.Int32
+ IL_202d: ldsfld int32 IntrinsicTest::id_counter
+ IL_2032: box [mscorlib]System.Int32
+ IL_2037: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_203c: ldc.i4.1
+ IL_203d: stloc.s V_20
+ IL_203f: ldsfld int64 IntrinsicTest::counter64
+ IL_2044: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2049: beq.s IL_206c
+
+ IL_204b: ldstr "counter64 mismatch {0} {1}"
+ IL_2050: ldsfld int64 IntrinsicTest::counter64
+ IL_2055: box [mscorlib]System.Int64
+ IL_205a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_205f: box [mscorlib]System.Int64
+ IL_2064: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2069: ldc.i4.1
+ IL_206a: stloc.s V_20
+ IL_206c: ldloc.s V_21
+ IL_206e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2073: ldloc.s V_21
+ IL_2075: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_207a: beq.s IL_20a1
+
+ IL_207c: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2081: ldloc.s V_21
+ IL_2083: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2088: box [mscorlib]System.Int32
+ IL_208d: ldloc.s V_21
+ IL_208f: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2094: box [mscorlib]System.Int32
+ IL_2099: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_209e: ldc.i4.1
+ IL_209f: stloc.s V_20
+ IL_20a1: ldloc.s V_21
+ IL_20a3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_20a8: ldloc.s V_21
+ IL_20aa: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_20af: beq.s IL_20d6
+
+ IL_20b1: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_20b6: ldloc.s V_21
+ IL_20b8: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_20bd: box [mscorlib]System.Int64
+ IL_20c2: ldloc.s V_21
+ IL_20c4: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_20c9: box [mscorlib]System.Int64
+ IL_20ce: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_20d3: ldc.i4.1
+ IL_20d4: stloc.s V_20
+ IL_20d6: ldsfld int64 IntrinsicTest::temp
+ IL_20db: ldsfld int64 IntrinsicTest::idmp
+ IL_20e0: beq.s IL_2103
+
+ IL_20e2: ldstr "temp mismatch {0} {1}"
+ IL_20e7: ldsfld int64 IntrinsicTest::temp
+ IL_20ec: box [mscorlib]System.Int64
+ IL_20f1: ldsfld int64 IntrinsicTest::idmp
+ IL_20f6: box [mscorlib]System.Int64
+ IL_20fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2100: ldc.i4.1
+ IL_2101: stloc.s V_20
+ IL_2103: ldsflda int32 IntrinsicTest::counter
+ IL_2108: ldsfld int32 IntrinsicTest::counter
+ IL_210d: ldsfld int32 IntrinsicTest::counter
+ IL_2112: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_2117: stloc.3
+ IL_2118: ldsfld int32 IntrinsicTest::id_counter
+ IL_211d: stloc.s V_13
+ IL_211f: ldsfld int32 IntrinsicTest::id_counter
+ IL_2124: ldsfld int32 IntrinsicTest::id_counter
+ IL_2129: bne.un.s IL_2137
+
+ IL_212b: ldsfld int32 IntrinsicTest::id_counter
+ IL_2130: stsfld int32 IntrinsicTest::id_counter
+ IL_2135: br.s IL_2142
+
+ IL_2137: ldsfld int32 IntrinsicTest::id_counter
+ IL_213c: conv.i8
+ IL_213d: stsfld int64 IntrinsicTest::idjunk
+ IL_2142: ldstr "------------------------------------CMPXCHG 1 1 1 6"
+ IL_2147: call void [System.Console]System.Console::WriteLine(string)
+ IL_214c: ldloc.0
+ IL_214d: ldloc.s V_10
+ IL_214f: beq.s IL_216b
+
+ IL_2151: ldc.i4.1
+ IL_2152: stloc.s V_20
+ IL_2154: ldstr "te0 check failed {0} {1}"
+ IL_2159: ldloc.0
+ IL_215a: box [mscorlib]System.Int32
+ IL_215f: ldloc.s V_10
+ IL_2161: box [mscorlib]System.Int32
+ IL_2166: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_216b: ldloc.1
+ IL_216c: ldloc.s V_11
+ IL_216e: beq.s IL_218a
+
+ IL_2170: ldc.i4.1
+ IL_2171: stloc.s V_20
+ IL_2173: ldstr "te1 check failed {0} {1}"
+ IL_2178: ldloc.1
+ IL_2179: box [mscorlib]System.Int32
+ IL_217e: ldloc.s V_11
+ IL_2180: box [mscorlib]System.Int32
+ IL_2185: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_218a: ldloc.2
+ IL_218b: ldloc.s V_12
+ IL_218d: beq.s IL_21a9
+
+ IL_218f: ldc.i4.1
+ IL_2190: stloc.s V_20
+ IL_2192: ldstr "te2 check failed {0} {1}"
+ IL_2197: ldloc.2
+ IL_2198: box [mscorlib]System.Int32
+ IL_219d: ldloc.s V_12
+ IL_219f: box [mscorlib]System.Int32
+ IL_21a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21a9: ldloc.3
+ IL_21aa: ldloc.s V_13
+ IL_21ac: beq.s IL_21c8
+
+ IL_21ae: ldc.i4.1
+ IL_21af: stloc.s V_20
+ IL_21b1: ldstr "te3 check failed {0} {1}"
+ IL_21b6: ldloc.3
+ IL_21b7: box [mscorlib]System.Int32
+ IL_21bc: ldloc.s V_13
+ IL_21be: box [mscorlib]System.Int32
+ IL_21c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21c8: ldloc.s V_4
+ IL_21ca: ldloc.s V_14
+ IL_21cc: beq.s IL_21e9
+
+ IL_21ce: ldc.i4.1
+ IL_21cf: stloc.s V_20
+ IL_21d1: ldstr "te064 check failed {0} {1}"
+ IL_21d6: ldloc.s V_4
+ IL_21d8: box [mscorlib]System.Int64
+ IL_21dd: ldloc.s V_14
+ IL_21df: box [mscorlib]System.Int64
+ IL_21e4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_21e9: ldloc.s V_5
+ IL_21eb: ldloc.s V_15
+ IL_21ed: beq.s IL_220a
+
+ IL_21ef: ldc.i4.1
+ IL_21f0: stloc.s V_20
+ IL_21f2: ldstr "te164 check failed {0} {1}"
+ IL_21f7: ldloc.s V_5
+ IL_21f9: box [mscorlib]System.Int64
+ IL_21fe: ldloc.s V_15
+ IL_2200: box [mscorlib]System.Int64
+ IL_2205: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_220a: ldloc.s V_6
+ IL_220c: ldloc.s V_16
+ IL_220e: beq.s IL_222b
+
+ IL_2210: ldc.i4.1
+ IL_2211: stloc.s V_20
+ IL_2213: ldstr "te264 check failed {0} {1}"
+ IL_2218: ldloc.s V_6
+ IL_221a: box [mscorlib]System.Int64
+ IL_221f: ldloc.s V_16
+ IL_2221: box [mscorlib]System.Int64
+ IL_2226: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_222b: ldloc.s V_7
+ IL_222d: ldloc.s V_17
+ IL_222f: beq.s IL_224c
+
+ IL_2231: ldc.i4.1
+ IL_2232: stloc.s V_20
+ IL_2234: ldstr "te364 check failed {0} {1}"
+ IL_2239: ldloc.s V_7
+ IL_223b: box [mscorlib]System.Int64
+ IL_2240: ldloc.s V_17
+ IL_2242: box [mscorlib]System.Int64
+ IL_2247: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_224c: ldloc.s V_8
+ IL_224e: ldloc.s V_18
+ IL_2250: beq.s IL_226d
+
+ IL_2252: ldc.i4.1
+ IL_2253: stloc.s V_20
+ IL_2255: ldstr "dummy check failed {0} {1}"
+ IL_225a: ldloc.s V_8
+ IL_225c: box [mscorlib]System.Int32
+ IL_2261: ldloc.s V_18
+ IL_2263: box [mscorlib]System.Int32
+ IL_2268: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_226d: ldloc.s V_9
+ IL_226f: ldloc.s V_19
+ IL_2271: beq.s IL_228e
+
+ IL_2273: ldc.i4.1
+ IL_2274: stloc.s V_20
+ IL_2276: ldstr "dummy64 check failed {0} {1}"
+ IL_227b: ldloc.s V_9
+ IL_227d: box [mscorlib]System.Int64
+ IL_2282: ldloc.s V_19
+ IL_2284: box [mscorlib]System.Int64
+ IL_2289: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_228e: ldsfld int32 IntrinsicTest::counter
+ IL_2293: ldsfld int32 IntrinsicTest::id_counter
+ IL_2298: beq.s IL_22bb
+
+ IL_229a: ldstr "counter mismatch {0} {1}"
+ IL_229f: ldsfld int32 IntrinsicTest::counter
+ IL_22a4: box [mscorlib]System.Int32
+ IL_22a9: ldsfld int32 IntrinsicTest::id_counter
+ IL_22ae: box [mscorlib]System.Int32
+ IL_22b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_22b8: ldc.i4.1
+ IL_22b9: stloc.s V_20
+ IL_22bb: ldsfld int64 IntrinsicTest::counter64
+ IL_22c0: ldsfld int64 IntrinsicTest::id_counter64
+ IL_22c5: beq.s IL_22e8
+
+ IL_22c7: ldstr "counter64 mismatch {0} {1}"
+ IL_22cc: ldsfld int64 IntrinsicTest::counter64
+ IL_22d1: box [mscorlib]System.Int64
+ IL_22d6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_22db: box [mscorlib]System.Int64
+ IL_22e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_22e5: ldc.i4.1
+ IL_22e6: stloc.s V_20
+ IL_22e8: ldloc.s V_21
+ IL_22ea: ldfld int32 IntrinsicTest::instanceCounter
+ IL_22ef: ldloc.s V_21
+ IL_22f1: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_22f6: beq.s IL_231d
+
+ IL_22f8: ldstr "instanceCounter mismatch {0} {1}"
+ IL_22fd: ldloc.s V_21
+ IL_22ff: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2304: box [mscorlib]System.Int32
+ IL_2309: ldloc.s V_21
+ IL_230b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2310: box [mscorlib]System.Int32
+ IL_2315: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_231a: ldc.i4.1
+ IL_231b: stloc.s V_20
+ IL_231d: ldloc.s V_21
+ IL_231f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2324: ldloc.s V_21
+ IL_2326: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_232b: beq.s IL_2352
+
+ IL_232d: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2332: ldloc.s V_21
+ IL_2334: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2339: box [mscorlib]System.Int64
+ IL_233e: ldloc.s V_21
+ IL_2340: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2345: box [mscorlib]System.Int64
+ IL_234a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_234f: ldc.i4.1
+ IL_2350: stloc.s V_20
+ IL_2352: ldsfld int64 IntrinsicTest::temp
+ IL_2357: ldsfld int64 IntrinsicTest::idmp
+ IL_235c: beq.s IL_237f
+
+ IL_235e: ldstr "temp mismatch {0} {1}"
+ IL_2363: ldsfld int64 IntrinsicTest::temp
+ IL_2368: box [mscorlib]System.Int64
+ IL_236d: ldsfld int64 IntrinsicTest::idmp
+ IL_2372: box [mscorlib]System.Int64
+ IL_2377: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_237c: ldc.i4.1
+ IL_237d: stloc.s V_20
+ IL_237f: ldsflda int32 IntrinsicTest::counter
+ IL_2384: ldsfld int32 IntrinsicTest::counter
+ IL_2389: ldloc.s V_21
+ IL_238b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2390: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_2395: stloc.0
+ IL_2396: ldsfld int32 IntrinsicTest::id_counter
+ IL_239b: stloc.s V_10
+ IL_239d: ldsfld int32 IntrinsicTest::id_counter
+ IL_23a2: ldloc.s V_21
+ IL_23a4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_23a9: bne.un.s IL_23b7
+
+ IL_23ab: ldsfld int32 IntrinsicTest::id_counter
+ IL_23b0: stsfld int32 IntrinsicTest::id_counter
+ IL_23b5: br.s IL_23c2
+
+ IL_23b7: ldsfld int32 IntrinsicTest::id_counter
+ IL_23bc: conv.i8
+ IL_23bd: stsfld int64 IntrinsicTest::idjunk
+ IL_23c2: ldstr "------------------------------------CMPXCHG 1 1 2 0"
+ IL_23c7: call void [System.Console]System.Console::WriteLine(string)
+ IL_23cc: ldloc.0
+ IL_23cd: ldloc.s V_10
+ IL_23cf: beq.s IL_23eb
+
+ IL_23d1: ldc.i4.1
+ IL_23d2: stloc.s V_20
+ IL_23d4: ldstr "te0 check failed {0} {1}"
+ IL_23d9: ldloc.0
+ IL_23da: box [mscorlib]System.Int32
+ IL_23df: ldloc.s V_10
+ IL_23e1: box [mscorlib]System.Int32
+ IL_23e6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_23eb: ldloc.1
+ IL_23ec: ldloc.s V_11
+ IL_23ee: beq.s IL_240a
+
+ IL_23f0: ldc.i4.1
+ IL_23f1: stloc.s V_20
+ IL_23f3: ldstr "te1 check failed {0} {1}"
+ IL_23f8: ldloc.1
+ IL_23f9: box [mscorlib]System.Int32
+ IL_23fe: ldloc.s V_11
+ IL_2400: box [mscorlib]System.Int32
+ IL_2405: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_240a: ldloc.2
+ IL_240b: ldloc.s V_12
+ IL_240d: beq.s IL_2429
+
+ IL_240f: ldc.i4.1
+ IL_2410: stloc.s V_20
+ IL_2412: ldstr "te2 check failed {0} {1}"
+ IL_2417: ldloc.2
+ IL_2418: box [mscorlib]System.Int32
+ IL_241d: ldloc.s V_12
+ IL_241f: box [mscorlib]System.Int32
+ IL_2424: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2429: ldloc.3
+ IL_242a: ldloc.s V_13
+ IL_242c: beq.s IL_2448
+
+ IL_242e: ldc.i4.1
+ IL_242f: stloc.s V_20
+ IL_2431: ldstr "te3 check failed {0} {1}"
+ IL_2436: ldloc.3
+ IL_2437: box [mscorlib]System.Int32
+ IL_243c: ldloc.s V_13
+ IL_243e: box [mscorlib]System.Int32
+ IL_2443: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2448: ldloc.s V_4
+ IL_244a: ldloc.s V_14
+ IL_244c: beq.s IL_2469
+
+ IL_244e: ldc.i4.1
+ IL_244f: stloc.s V_20
+ IL_2451: ldstr "te064 check failed {0} {1}"
+ IL_2456: ldloc.s V_4
+ IL_2458: box [mscorlib]System.Int64
+ IL_245d: ldloc.s V_14
+ IL_245f: box [mscorlib]System.Int64
+ IL_2464: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2469: ldloc.s V_5
+ IL_246b: ldloc.s V_15
+ IL_246d: beq.s IL_248a
+
+ IL_246f: ldc.i4.1
+ IL_2470: stloc.s V_20
+ IL_2472: ldstr "te164 check failed {0} {1}"
+ IL_2477: ldloc.s V_5
+ IL_2479: box [mscorlib]System.Int64
+ IL_247e: ldloc.s V_15
+ IL_2480: box [mscorlib]System.Int64
+ IL_2485: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_248a: ldloc.s V_6
+ IL_248c: ldloc.s V_16
+ IL_248e: beq.s IL_24ab
+
+ IL_2490: ldc.i4.1
+ IL_2491: stloc.s V_20
+ IL_2493: ldstr "te264 check failed {0} {1}"
+ IL_2498: ldloc.s V_6
+ IL_249a: box [mscorlib]System.Int64
+ IL_249f: ldloc.s V_16
+ IL_24a1: box [mscorlib]System.Int64
+ IL_24a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24ab: ldloc.s V_7
+ IL_24ad: ldloc.s V_17
+ IL_24af: beq.s IL_24cc
+
+ IL_24b1: ldc.i4.1
+ IL_24b2: stloc.s V_20
+ IL_24b4: ldstr "te364 check failed {0} {1}"
+ IL_24b9: ldloc.s V_7
+ IL_24bb: box [mscorlib]System.Int64
+ IL_24c0: ldloc.s V_17
+ IL_24c2: box [mscorlib]System.Int64
+ IL_24c7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24cc: ldloc.s V_8
+ IL_24ce: ldloc.s V_18
+ IL_24d0: beq.s IL_24ed
+
+ IL_24d2: ldc.i4.1
+ IL_24d3: stloc.s V_20
+ IL_24d5: ldstr "dummy check failed {0} {1}"
+ IL_24da: ldloc.s V_8
+ IL_24dc: box [mscorlib]System.Int32
+ IL_24e1: ldloc.s V_18
+ IL_24e3: box [mscorlib]System.Int32
+ IL_24e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_24ed: ldloc.s V_9
+ IL_24ef: ldloc.s V_19
+ IL_24f1: beq.s IL_250e
+
+ IL_24f3: ldc.i4.1
+ IL_24f4: stloc.s V_20
+ IL_24f6: ldstr "dummy64 check failed {0} {1}"
+ IL_24fb: ldloc.s V_9
+ IL_24fd: box [mscorlib]System.Int64
+ IL_2502: ldloc.s V_19
+ IL_2504: box [mscorlib]System.Int64
+ IL_2509: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_250e: ldsfld int32 IntrinsicTest::counter
+ IL_2513: ldsfld int32 IntrinsicTest::id_counter
+ IL_2518: beq.s IL_253b
+
+ IL_251a: ldstr "counter mismatch {0} {1}"
+ IL_251f: ldsfld int32 IntrinsicTest::counter
+ IL_2524: box [mscorlib]System.Int32
+ IL_2529: ldsfld int32 IntrinsicTest::id_counter
+ IL_252e: box [mscorlib]System.Int32
+ IL_2533: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2538: ldc.i4.1
+ IL_2539: stloc.s V_20
+ IL_253b: ldsfld int64 IntrinsicTest::counter64
+ IL_2540: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2545: beq.s IL_2568
+
+ IL_2547: ldstr "counter64 mismatch {0} {1}"
+ IL_254c: ldsfld int64 IntrinsicTest::counter64
+ IL_2551: box [mscorlib]System.Int64
+ IL_2556: ldsfld int64 IntrinsicTest::id_counter64
+ IL_255b: box [mscorlib]System.Int64
+ IL_2560: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2565: ldc.i4.1
+ IL_2566: stloc.s V_20
+ IL_2568: ldloc.s V_21
+ IL_256a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_256f: ldloc.s V_21
+ IL_2571: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2576: beq.s IL_259d
+
+ IL_2578: ldstr "instanceCounter mismatch {0} {1}"
+ IL_257d: ldloc.s V_21
+ IL_257f: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2584: box [mscorlib]System.Int32
+ IL_2589: ldloc.s V_21
+ IL_258b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2590: box [mscorlib]System.Int32
+ IL_2595: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_259a: ldc.i4.1
+ IL_259b: stloc.s V_20
+ IL_259d: ldloc.s V_21
+ IL_259f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_25a4: ldloc.s V_21
+ IL_25a6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_25ab: beq.s IL_25d2
+
+ IL_25ad: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_25b2: ldloc.s V_21
+ IL_25b4: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_25b9: box [mscorlib]System.Int64
+ IL_25be: ldloc.s V_21
+ IL_25c0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_25c5: box [mscorlib]System.Int64
+ IL_25ca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_25cf: ldc.i4.1
+ IL_25d0: stloc.s V_20
+ IL_25d2: ldsfld int64 IntrinsicTest::temp
+ IL_25d7: ldsfld int64 IntrinsicTest::idmp
+ IL_25dc: beq.s IL_25ff
+
+ IL_25de: ldstr "temp mismatch {0} {1}"
+ IL_25e3: ldsfld int64 IntrinsicTest::temp
+ IL_25e8: box [mscorlib]System.Int64
+ IL_25ed: ldsfld int64 IntrinsicTest::idmp
+ IL_25f2: box [mscorlib]System.Int64
+ IL_25f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_25fc: ldc.i4.1
+ IL_25fd: stloc.s V_20
+ IL_25ff: ldsflda int32 IntrinsicTest::counter
+ IL_2604: ldsfld int32 IntrinsicTest::counter
+ IL_2609: ldloc.s V_21
+ IL_260b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2610: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_2615: stsfld int32 IntrinsicTest::counter
+ IL_261a: ldsfld int32 IntrinsicTest::id_counter
+ IL_261f: stsfld int32 IntrinsicTest::id_counter
+ IL_2624: ldsfld int32 IntrinsicTest::id_counter
+ IL_2629: ldloc.s V_21
+ IL_262b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2630: bne.un.s IL_263f
+
+ IL_2632: ldsfld int32 IntrinsicTest::id_counter
+ IL_2637: conv.i8
+ IL_2638: stsfld int64 IntrinsicTest::idjunk
+ IL_263d: br.s IL_264a
+
+ IL_263f: ldsfld int32 IntrinsicTest::id_counter
+ IL_2644: conv.i8
+ IL_2645: stsfld int64 IntrinsicTest::idjunk
+ IL_264a: ldstr "------------------------------------CMPXCHG 1 1 2 1"
+ IL_264f: call void [System.Console]System.Console::WriteLine(string)
+ IL_2654: ldloc.0
+ IL_2655: ldloc.s V_10
+ IL_2657: beq.s IL_2673
+
+ IL_2659: ldc.i4.1
+ IL_265a: stloc.s V_20
+ IL_265c: ldstr "te0 check failed {0} {1}"
+ IL_2661: ldloc.0
+ IL_2662: box [mscorlib]System.Int32
+ IL_2667: ldloc.s V_10
+ IL_2669: box [mscorlib]System.Int32
+ IL_266e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2673: ldloc.1
+ IL_2674: ldloc.s V_11
+ IL_2676: beq.s IL_2692
+
+ IL_2678: ldc.i4.1
+ IL_2679: stloc.s V_20
+ IL_267b: ldstr "te1 check failed {0} {1}"
+ IL_2680: ldloc.1
+ IL_2681: box [mscorlib]System.Int32
+ IL_2686: ldloc.s V_11
+ IL_2688: box [mscorlib]System.Int32
+ IL_268d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2692: ldloc.2
+ IL_2693: ldloc.s V_12
+ IL_2695: beq.s IL_26b1
+
+ IL_2697: ldc.i4.1
+ IL_2698: stloc.s V_20
+ IL_269a: ldstr "te2 check failed {0} {1}"
+ IL_269f: ldloc.2
+ IL_26a0: box [mscorlib]System.Int32
+ IL_26a5: ldloc.s V_12
+ IL_26a7: box [mscorlib]System.Int32
+ IL_26ac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26b1: ldloc.3
+ IL_26b2: ldloc.s V_13
+ IL_26b4: beq.s IL_26d0
+
+ IL_26b6: ldc.i4.1
+ IL_26b7: stloc.s V_20
+ IL_26b9: ldstr "te3 check failed {0} {1}"
+ IL_26be: ldloc.3
+ IL_26bf: box [mscorlib]System.Int32
+ IL_26c4: ldloc.s V_13
+ IL_26c6: box [mscorlib]System.Int32
+ IL_26cb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26d0: ldloc.s V_4
+ IL_26d2: ldloc.s V_14
+ IL_26d4: beq.s IL_26f1
+
+ IL_26d6: ldc.i4.1
+ IL_26d7: stloc.s V_20
+ IL_26d9: ldstr "te064 check failed {0} {1}"
+ IL_26de: ldloc.s V_4
+ IL_26e0: box [mscorlib]System.Int64
+ IL_26e5: ldloc.s V_14
+ IL_26e7: box [mscorlib]System.Int64
+ IL_26ec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_26f1: ldloc.s V_5
+ IL_26f3: ldloc.s V_15
+ IL_26f5: beq.s IL_2712
+
+ IL_26f7: ldc.i4.1
+ IL_26f8: stloc.s V_20
+ IL_26fa: ldstr "te164 check failed {0} {1}"
+ IL_26ff: ldloc.s V_5
+ IL_2701: box [mscorlib]System.Int64
+ IL_2706: ldloc.s V_15
+ IL_2708: box [mscorlib]System.Int64
+ IL_270d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2712: ldloc.s V_6
+ IL_2714: ldloc.s V_16
+ IL_2716: beq.s IL_2733
+
+ IL_2718: ldc.i4.1
+ IL_2719: stloc.s V_20
+ IL_271b: ldstr "te264 check failed {0} {1}"
+ IL_2720: ldloc.s V_6
+ IL_2722: box [mscorlib]System.Int64
+ IL_2727: ldloc.s V_16
+ IL_2729: box [mscorlib]System.Int64
+ IL_272e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2733: ldloc.s V_7
+ IL_2735: ldloc.s V_17
+ IL_2737: beq.s IL_2754
+
+ IL_2739: ldc.i4.1
+ IL_273a: stloc.s V_20
+ IL_273c: ldstr "te364 check failed {0} {1}"
+ IL_2741: ldloc.s V_7
+ IL_2743: box [mscorlib]System.Int64
+ IL_2748: ldloc.s V_17
+ IL_274a: box [mscorlib]System.Int64
+ IL_274f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2754: ldloc.s V_8
+ IL_2756: ldloc.s V_18
+ IL_2758: beq.s IL_2775
+
+ IL_275a: ldc.i4.1
+ IL_275b: stloc.s V_20
+ IL_275d: ldstr "dummy check failed {0} {1}"
+ IL_2762: ldloc.s V_8
+ IL_2764: box [mscorlib]System.Int32
+ IL_2769: ldloc.s V_18
+ IL_276b: box [mscorlib]System.Int32
+ IL_2770: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2775: ldloc.s V_9
+ IL_2777: ldloc.s V_19
+ IL_2779: beq.s IL_2796
+
+ IL_277b: ldc.i4.1
+ IL_277c: stloc.s V_20
+ IL_277e: ldstr "dummy64 check failed {0} {1}"
+ IL_2783: ldloc.s V_9
+ IL_2785: box [mscorlib]System.Int64
+ IL_278a: ldloc.s V_19
+ IL_278c: box [mscorlib]System.Int64
+ IL_2791: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2796: ldsfld int32 IntrinsicTest::counter
+ IL_279b: ldsfld int32 IntrinsicTest::id_counter
+ IL_27a0: beq.s IL_27c3
+
+ IL_27a2: ldstr "counter mismatch {0} {1}"
+ IL_27a7: ldsfld int32 IntrinsicTest::counter
+ IL_27ac: box [mscorlib]System.Int32
+ IL_27b1: ldsfld int32 IntrinsicTest::id_counter
+ IL_27b6: box [mscorlib]System.Int32
+ IL_27bb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_27c0: ldc.i4.1
+ IL_27c1: stloc.s V_20
+ IL_27c3: ldsfld int64 IntrinsicTest::counter64
+ IL_27c8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_27cd: beq.s IL_27f0
+
+ IL_27cf: ldstr "counter64 mismatch {0} {1}"
+ IL_27d4: ldsfld int64 IntrinsicTest::counter64
+ IL_27d9: box [mscorlib]System.Int64
+ IL_27de: ldsfld int64 IntrinsicTest::id_counter64
+ IL_27e3: box [mscorlib]System.Int64
+ IL_27e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_27ed: ldc.i4.1
+ IL_27ee: stloc.s V_20
+ IL_27f0: ldloc.s V_21
+ IL_27f2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_27f7: ldloc.s V_21
+ IL_27f9: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_27fe: beq.s IL_2825
+
+ IL_2800: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2805: ldloc.s V_21
+ IL_2807: ldfld int32 IntrinsicTest::instanceCounter
+ IL_280c: box [mscorlib]System.Int32
+ IL_2811: ldloc.s V_21
+ IL_2813: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2818: box [mscorlib]System.Int32
+ IL_281d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2822: ldc.i4.1
+ IL_2823: stloc.s V_20
+ IL_2825: ldloc.s V_21
+ IL_2827: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_282c: ldloc.s V_21
+ IL_282e: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2833: beq.s IL_285a
+
+ IL_2835: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_283a: ldloc.s V_21
+ IL_283c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2841: box [mscorlib]System.Int64
+ IL_2846: ldloc.s V_21
+ IL_2848: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_284d: box [mscorlib]System.Int64
+ IL_2852: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2857: ldc.i4.1
+ IL_2858: stloc.s V_20
+ IL_285a: ldsfld int64 IntrinsicTest::temp
+ IL_285f: ldsfld int64 IntrinsicTest::idmp
+ IL_2864: beq.s IL_2887
+
+ IL_2866: ldstr "temp mismatch {0} {1}"
+ IL_286b: ldsfld int64 IntrinsicTest::temp
+ IL_2870: box [mscorlib]System.Int64
+ IL_2875: ldsfld int64 IntrinsicTest::idmp
+ IL_287a: box [mscorlib]System.Int64
+ IL_287f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2884: ldc.i4.1
+ IL_2885: stloc.s V_20
+ IL_2887: ldloc.s V_21
+ IL_2889: ldsflda int32 IntrinsicTest::counter
+ IL_288e: ldsfld int32 IntrinsicTest::counter
+ IL_2893: ldloc.s V_21
+ IL_2895: ldfld int32 IntrinsicTest::instanceCounter
+ IL_289a: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_289f: stfld int32 IntrinsicTest::instanceCounter
+ IL_28a4: ldloc.s V_21
+ IL_28a6: ldsfld int32 IntrinsicTest::id_counter
+ IL_28ab: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_28b0: ldsfld int32 IntrinsicTest::id_counter
+ IL_28b5: ldloc.s V_21
+ IL_28b7: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_28bc: bne.un.s IL_28ca
+
+ IL_28be: ldsfld int32 IntrinsicTest::id_counter
+ IL_28c3: stsfld int32 IntrinsicTest::id_counter
+ IL_28c8: br.s IL_28d5
+
+ IL_28ca: ldsfld int32 IntrinsicTest::id_counter
+ IL_28cf: conv.i8
+ IL_28d0: stsfld int64 IntrinsicTest::idjunk
+ IL_28d5: ldstr "------------------------------------CMPXCHG 1 1 2 2"
+ IL_28da: call void [System.Console]System.Console::WriteLine(string)
+ IL_28df: ldloc.0
+ IL_28e0: ldloc.s V_10
+ IL_28e2: beq.s IL_28fe
+
+ IL_28e4: ldc.i4.1
+ IL_28e5: stloc.s V_20
+ IL_28e7: ldstr "te0 check failed {0} {1}"
+ IL_28ec: ldloc.0
+ IL_28ed: box [mscorlib]System.Int32
+ IL_28f2: ldloc.s V_10
+ IL_28f4: box [mscorlib]System.Int32
+ IL_28f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_28fe: ldloc.1
+ IL_28ff: ldloc.s V_11
+ IL_2901: beq.s IL_291d
+
+ IL_2903: ldc.i4.1
+ IL_2904: stloc.s V_20
+ IL_2906: ldstr "te1 check failed {0} {1}"
+ IL_290b: ldloc.1
+ IL_290c: box [mscorlib]System.Int32
+ IL_2911: ldloc.s V_11
+ IL_2913: box [mscorlib]System.Int32
+ IL_2918: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_291d: ldloc.2
+ IL_291e: ldloc.s V_12
+ IL_2920: beq.s IL_293c
+
+ IL_2922: ldc.i4.1
+ IL_2923: stloc.s V_20
+ IL_2925: ldstr "te2 check failed {0} {1}"
+ IL_292a: ldloc.2
+ IL_292b: box [mscorlib]System.Int32
+ IL_2930: ldloc.s V_12
+ IL_2932: box [mscorlib]System.Int32
+ IL_2937: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_293c: ldloc.3
+ IL_293d: ldloc.s V_13
+ IL_293f: beq.s IL_295b
+
+ IL_2941: ldc.i4.1
+ IL_2942: stloc.s V_20
+ IL_2944: ldstr "te3 check failed {0} {1}"
+ IL_2949: ldloc.3
+ IL_294a: box [mscorlib]System.Int32
+ IL_294f: ldloc.s V_13
+ IL_2951: box [mscorlib]System.Int32
+ IL_2956: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_295b: ldloc.s V_4
+ IL_295d: ldloc.s V_14
+ IL_295f: beq.s IL_297c
+
+ IL_2961: ldc.i4.1
+ IL_2962: stloc.s V_20
+ IL_2964: ldstr "te064 check failed {0} {1}"
+ IL_2969: ldloc.s V_4
+ IL_296b: box [mscorlib]System.Int64
+ IL_2970: ldloc.s V_14
+ IL_2972: box [mscorlib]System.Int64
+ IL_2977: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_297c: ldloc.s V_5
+ IL_297e: ldloc.s V_15
+ IL_2980: beq.s IL_299d
+
+ IL_2982: ldc.i4.1
+ IL_2983: stloc.s V_20
+ IL_2985: ldstr "te164 check failed {0} {1}"
+ IL_298a: ldloc.s V_5
+ IL_298c: box [mscorlib]System.Int64
+ IL_2991: ldloc.s V_15
+ IL_2993: box [mscorlib]System.Int64
+ IL_2998: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_299d: ldloc.s V_6
+ IL_299f: ldloc.s V_16
+ IL_29a1: beq.s IL_29be
+
+ IL_29a3: ldc.i4.1
+ IL_29a4: stloc.s V_20
+ IL_29a6: ldstr "te264 check failed {0} {1}"
+ IL_29ab: ldloc.s V_6
+ IL_29ad: box [mscorlib]System.Int64
+ IL_29b2: ldloc.s V_16
+ IL_29b4: box [mscorlib]System.Int64
+ IL_29b9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_29be: ldloc.s V_7
+ IL_29c0: ldloc.s V_17
+ IL_29c2: beq.s IL_29df
+
+ IL_29c4: ldc.i4.1
+ IL_29c5: stloc.s V_20
+ IL_29c7: ldstr "te364 check failed {0} {1}"
+ IL_29cc: ldloc.s V_7
+ IL_29ce: box [mscorlib]System.Int64
+ IL_29d3: ldloc.s V_17
+ IL_29d5: box [mscorlib]System.Int64
+ IL_29da: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_29df: ldloc.s V_8
+ IL_29e1: ldloc.s V_18
+ IL_29e3: beq.s IL_2a00
+
+ IL_29e5: ldc.i4.1
+ IL_29e6: stloc.s V_20
+ IL_29e8: ldstr "dummy check failed {0} {1}"
+ IL_29ed: ldloc.s V_8
+ IL_29ef: box [mscorlib]System.Int32
+ IL_29f4: ldloc.s V_18
+ IL_29f6: box [mscorlib]System.Int32
+ IL_29fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a00: ldloc.s V_9
+ IL_2a02: ldloc.s V_19
+ IL_2a04: beq.s IL_2a21
+
+ IL_2a06: ldc.i4.1
+ IL_2a07: stloc.s V_20
+ IL_2a09: ldstr "dummy64 check failed {0} {1}"
+ IL_2a0e: ldloc.s V_9
+ IL_2a10: box [mscorlib]System.Int64
+ IL_2a15: ldloc.s V_19
+ IL_2a17: box [mscorlib]System.Int64
+ IL_2a1c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a21: ldsfld int32 IntrinsicTest::counter
+ IL_2a26: ldsfld int32 IntrinsicTest::id_counter
+ IL_2a2b: beq.s IL_2a4e
+
+ IL_2a2d: ldstr "counter mismatch {0} {1}"
+ IL_2a32: ldsfld int32 IntrinsicTest::counter
+ IL_2a37: box [mscorlib]System.Int32
+ IL_2a3c: ldsfld int32 IntrinsicTest::id_counter
+ IL_2a41: box [mscorlib]System.Int32
+ IL_2a46: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a4b: ldc.i4.1
+ IL_2a4c: stloc.s V_20
+ IL_2a4e: ldsfld int64 IntrinsicTest::counter64
+ IL_2a53: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2a58: beq.s IL_2a7b
+
+ IL_2a5a: ldstr "counter64 mismatch {0} {1}"
+ IL_2a5f: ldsfld int64 IntrinsicTest::counter64
+ IL_2a64: box [mscorlib]System.Int64
+ IL_2a69: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2a6e: box [mscorlib]System.Int64
+ IL_2a73: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2a78: ldc.i4.1
+ IL_2a79: stloc.s V_20
+ IL_2a7b: ldloc.s V_21
+ IL_2a7d: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2a82: ldloc.s V_21
+ IL_2a84: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2a89: beq.s IL_2ab0
+
+ IL_2a8b: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2a90: ldloc.s V_21
+ IL_2a92: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2a97: box [mscorlib]System.Int32
+ IL_2a9c: ldloc.s V_21
+ IL_2a9e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2aa3: box [mscorlib]System.Int32
+ IL_2aa8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2aad: ldc.i4.1
+ IL_2aae: stloc.s V_20
+ IL_2ab0: ldloc.s V_21
+ IL_2ab2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2ab7: ldloc.s V_21
+ IL_2ab9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2abe: beq.s IL_2ae5
+
+ IL_2ac0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2ac5: ldloc.s V_21
+ IL_2ac7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2acc: box [mscorlib]System.Int64
+ IL_2ad1: ldloc.s V_21
+ IL_2ad3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2ad8: box [mscorlib]System.Int64
+ IL_2add: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ae2: ldc.i4.1
+ IL_2ae3: stloc.s V_20
+ IL_2ae5: ldsfld int64 IntrinsicTest::temp
+ IL_2aea: ldsfld int64 IntrinsicTest::idmp
+ IL_2aef: beq.s IL_2b12
+
+ IL_2af1: ldstr "temp mismatch {0} {1}"
+ IL_2af6: ldsfld int64 IntrinsicTest::temp
+ IL_2afb: box [mscorlib]System.Int64
+ IL_2b00: ldsfld int64 IntrinsicTest::idmp
+ IL_2b05: box [mscorlib]System.Int64
+ IL_2b0a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b0f: ldc.i4.1
+ IL_2b10: stloc.s V_20
+ IL_2b12: ldsflda int32 IntrinsicTest::counter
+ IL_2b17: ldsfld int32 IntrinsicTest::counter
+ IL_2b1c: ldloc.s V_21
+ IL_2b1e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2b23: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_2b28: stloc.0
+ IL_2b29: ldsfld int32 IntrinsicTest::id_counter
+ IL_2b2e: stloc.s V_10
+ IL_2b30: ldsfld int32 IntrinsicTest::id_counter
+ IL_2b35: ldloc.s V_21
+ IL_2b37: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2b3c: bne.un.s IL_2b4a
+
+ IL_2b3e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2b43: stsfld int32 IntrinsicTest::id_counter
+ IL_2b48: br.s IL_2b55
+
+ IL_2b4a: ldsfld int32 IntrinsicTest::id_counter
+ IL_2b4f: conv.i8
+ IL_2b50: stsfld int64 IntrinsicTest::idjunk
+ IL_2b55: ldstr "------------------------------------CMPXCHG 1 1 2 3"
+ IL_2b5a: call void [System.Console]System.Console::WriteLine(string)
+ IL_2b5f: ldloc.0
+ IL_2b60: ldloc.s V_10
+ IL_2b62: beq.s IL_2b7e
+
+ IL_2b64: ldc.i4.1
+ IL_2b65: stloc.s V_20
+ IL_2b67: ldstr "te0 check failed {0} {1}"
+ IL_2b6c: ldloc.0
+ IL_2b6d: box [mscorlib]System.Int32
+ IL_2b72: ldloc.s V_10
+ IL_2b74: box [mscorlib]System.Int32
+ IL_2b79: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b7e: ldloc.1
+ IL_2b7f: ldloc.s V_11
+ IL_2b81: beq.s IL_2b9d
+
+ IL_2b83: ldc.i4.1
+ IL_2b84: stloc.s V_20
+ IL_2b86: ldstr "te1 check failed {0} {1}"
+ IL_2b8b: ldloc.1
+ IL_2b8c: box [mscorlib]System.Int32
+ IL_2b91: ldloc.s V_11
+ IL_2b93: box [mscorlib]System.Int32
+ IL_2b98: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2b9d: ldloc.2
+ IL_2b9e: ldloc.s V_12
+ IL_2ba0: beq.s IL_2bbc
+
+ IL_2ba2: ldc.i4.1
+ IL_2ba3: stloc.s V_20
+ IL_2ba5: ldstr "te2 check failed {0} {1}"
+ IL_2baa: ldloc.2
+ IL_2bab: box [mscorlib]System.Int32
+ IL_2bb0: ldloc.s V_12
+ IL_2bb2: box [mscorlib]System.Int32
+ IL_2bb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bbc: ldloc.3
+ IL_2bbd: ldloc.s V_13
+ IL_2bbf: beq.s IL_2bdb
+
+ IL_2bc1: ldc.i4.1
+ IL_2bc2: stloc.s V_20
+ IL_2bc4: ldstr "te3 check failed {0} {1}"
+ IL_2bc9: ldloc.3
+ IL_2bca: box [mscorlib]System.Int32
+ IL_2bcf: ldloc.s V_13
+ IL_2bd1: box [mscorlib]System.Int32
+ IL_2bd6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bdb: ldloc.s V_4
+ IL_2bdd: ldloc.s V_14
+ IL_2bdf: beq.s IL_2bfc
+
+ IL_2be1: ldc.i4.1
+ IL_2be2: stloc.s V_20
+ IL_2be4: ldstr "te064 check failed {0} {1}"
+ IL_2be9: ldloc.s V_4
+ IL_2beb: box [mscorlib]System.Int64
+ IL_2bf0: ldloc.s V_14
+ IL_2bf2: box [mscorlib]System.Int64
+ IL_2bf7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2bfc: ldloc.s V_5
+ IL_2bfe: ldloc.s V_15
+ IL_2c00: beq.s IL_2c1d
+
+ IL_2c02: ldc.i4.1
+ IL_2c03: stloc.s V_20
+ IL_2c05: ldstr "te164 check failed {0} {1}"
+ IL_2c0a: ldloc.s V_5
+ IL_2c0c: box [mscorlib]System.Int64
+ IL_2c11: ldloc.s V_15
+ IL_2c13: box [mscorlib]System.Int64
+ IL_2c18: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c1d: ldloc.s V_6
+ IL_2c1f: ldloc.s V_16
+ IL_2c21: beq.s IL_2c3e
+
+ IL_2c23: ldc.i4.1
+ IL_2c24: stloc.s V_20
+ IL_2c26: ldstr "te264 check failed {0} {1}"
+ IL_2c2b: ldloc.s V_6
+ IL_2c2d: box [mscorlib]System.Int64
+ IL_2c32: ldloc.s V_16
+ IL_2c34: box [mscorlib]System.Int64
+ IL_2c39: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c3e: ldloc.s V_7
+ IL_2c40: ldloc.s V_17
+ IL_2c42: beq.s IL_2c5f
+
+ IL_2c44: ldc.i4.1
+ IL_2c45: stloc.s V_20
+ IL_2c47: ldstr "te364 check failed {0} {1}"
+ IL_2c4c: ldloc.s V_7
+ IL_2c4e: box [mscorlib]System.Int64
+ IL_2c53: ldloc.s V_17
+ IL_2c55: box [mscorlib]System.Int64
+ IL_2c5a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c5f: ldloc.s V_8
+ IL_2c61: ldloc.s V_18
+ IL_2c63: beq.s IL_2c80
+
+ IL_2c65: ldc.i4.1
+ IL_2c66: stloc.s V_20
+ IL_2c68: ldstr "dummy check failed {0} {1}"
+ IL_2c6d: ldloc.s V_8
+ IL_2c6f: box [mscorlib]System.Int32
+ IL_2c74: ldloc.s V_18
+ IL_2c76: box [mscorlib]System.Int32
+ IL_2c7b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2c80: ldloc.s V_9
+ IL_2c82: ldloc.s V_19
+ IL_2c84: beq.s IL_2ca1
+
+ IL_2c86: ldc.i4.1
+ IL_2c87: stloc.s V_20
+ IL_2c89: ldstr "dummy64 check failed {0} {1}"
+ IL_2c8e: ldloc.s V_9
+ IL_2c90: box [mscorlib]System.Int64
+ IL_2c95: ldloc.s V_19
+ IL_2c97: box [mscorlib]System.Int64
+ IL_2c9c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ca1: ldsfld int32 IntrinsicTest::counter
+ IL_2ca6: ldsfld int32 IntrinsicTest::id_counter
+ IL_2cab: beq.s IL_2cce
+
+ IL_2cad: ldstr "counter mismatch {0} {1}"
+ IL_2cb2: ldsfld int32 IntrinsicTest::counter
+ IL_2cb7: box [mscorlib]System.Int32
+ IL_2cbc: ldsfld int32 IntrinsicTest::id_counter
+ IL_2cc1: box [mscorlib]System.Int32
+ IL_2cc6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ccb: ldc.i4.1
+ IL_2ccc: stloc.s V_20
+ IL_2cce: ldsfld int64 IntrinsicTest::counter64
+ IL_2cd3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2cd8: beq.s IL_2cfb
+
+ IL_2cda: ldstr "counter64 mismatch {0} {1}"
+ IL_2cdf: ldsfld int64 IntrinsicTest::counter64
+ IL_2ce4: box [mscorlib]System.Int64
+ IL_2ce9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2cee: box [mscorlib]System.Int64
+ IL_2cf3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2cf8: ldc.i4.1
+ IL_2cf9: stloc.s V_20
+ IL_2cfb: ldloc.s V_21
+ IL_2cfd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2d02: ldloc.s V_21
+ IL_2d04: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2d09: beq.s IL_2d30
+
+ IL_2d0b: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2d10: ldloc.s V_21
+ IL_2d12: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2d17: box [mscorlib]System.Int32
+ IL_2d1c: ldloc.s V_21
+ IL_2d1e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2d23: box [mscorlib]System.Int32
+ IL_2d28: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d2d: ldc.i4.1
+ IL_2d2e: stloc.s V_20
+ IL_2d30: ldloc.s V_21
+ IL_2d32: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2d37: ldloc.s V_21
+ IL_2d39: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2d3e: beq.s IL_2d65
+
+ IL_2d40: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2d45: ldloc.s V_21
+ IL_2d47: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2d4c: box [mscorlib]System.Int64
+ IL_2d51: ldloc.s V_21
+ IL_2d53: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2d58: box [mscorlib]System.Int64
+ IL_2d5d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d62: ldc.i4.1
+ IL_2d63: stloc.s V_20
+ IL_2d65: ldsfld int64 IntrinsicTest::temp
+ IL_2d6a: ldsfld int64 IntrinsicTest::idmp
+ IL_2d6f: beq.s IL_2d92
+
+ IL_2d71: ldstr "temp mismatch {0} {1}"
+ IL_2d76: ldsfld int64 IntrinsicTest::temp
+ IL_2d7b: box [mscorlib]System.Int64
+ IL_2d80: ldsfld int64 IntrinsicTest::idmp
+ IL_2d85: box [mscorlib]System.Int64
+ IL_2d8a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2d8f: ldc.i4.1
+ IL_2d90: stloc.s V_20
+ IL_2d92: ldsflda int32 IntrinsicTest::counter
+ IL_2d97: ldsfld int32 IntrinsicTest::counter
+ IL_2d9c: ldloc.s V_21
+ IL_2d9e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2da3: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_2da8: stsfld int32 IntrinsicTest::counter
+ IL_2dad: ldsfld int32 IntrinsicTest::id_counter
+ IL_2db2: stsfld int32 IntrinsicTest::id_counter
+ IL_2db7: ldsfld int32 IntrinsicTest::id_counter
+ IL_2dbc: ldloc.s V_21
+ IL_2dbe: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2dc3: bne.un.s IL_2dd2
+
+ IL_2dc5: ldsfld int32 IntrinsicTest::id_counter
+ IL_2dca: conv.i8
+ IL_2dcb: stsfld int64 IntrinsicTest::idjunk
+ IL_2dd0: br.s IL_2ddd
+
+ IL_2dd2: ldsfld int32 IntrinsicTest::id_counter
+ IL_2dd7: conv.i8
+ IL_2dd8: stsfld int64 IntrinsicTest::idjunk
+ IL_2ddd: ldstr "------------------------------------CMPXCHG 1 1 2 4"
+ IL_2de2: call void [System.Console]System.Console::WriteLine(string)
+ IL_2de7: ldloc.0
+ IL_2de8: ldloc.s V_10
+ IL_2dea: beq.s IL_2e06
+
+ IL_2dec: ldc.i4.1
+ IL_2ded: stloc.s V_20
+ IL_2def: ldstr "te0 check failed {0} {1}"
+ IL_2df4: ldloc.0
+ IL_2df5: box [mscorlib]System.Int32
+ IL_2dfa: ldloc.s V_10
+ IL_2dfc: box [mscorlib]System.Int32
+ IL_2e01: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e06: ldloc.1
+ IL_2e07: ldloc.s V_11
+ IL_2e09: beq.s IL_2e25
+
+ IL_2e0b: ldc.i4.1
+ IL_2e0c: stloc.s V_20
+ IL_2e0e: ldstr "te1 check failed {0} {1}"
+ IL_2e13: ldloc.1
+ IL_2e14: box [mscorlib]System.Int32
+ IL_2e19: ldloc.s V_11
+ IL_2e1b: box [mscorlib]System.Int32
+ IL_2e20: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e25: ldloc.2
+ IL_2e26: ldloc.s V_12
+ IL_2e28: beq.s IL_2e44
+
+ IL_2e2a: ldc.i4.1
+ IL_2e2b: stloc.s V_20
+ IL_2e2d: ldstr "te2 check failed {0} {1}"
+ IL_2e32: ldloc.2
+ IL_2e33: box [mscorlib]System.Int32
+ IL_2e38: ldloc.s V_12
+ IL_2e3a: box [mscorlib]System.Int32
+ IL_2e3f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e44: ldloc.3
+ IL_2e45: ldloc.s V_13
+ IL_2e47: beq.s IL_2e63
+
+ IL_2e49: ldc.i4.1
+ IL_2e4a: stloc.s V_20
+ IL_2e4c: ldstr "te3 check failed {0} {1}"
+ IL_2e51: ldloc.3
+ IL_2e52: box [mscorlib]System.Int32
+ IL_2e57: ldloc.s V_13
+ IL_2e59: box [mscorlib]System.Int32
+ IL_2e5e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e63: ldloc.s V_4
+ IL_2e65: ldloc.s V_14
+ IL_2e67: beq.s IL_2e84
+
+ IL_2e69: ldc.i4.1
+ IL_2e6a: stloc.s V_20
+ IL_2e6c: ldstr "te064 check failed {0} {1}"
+ IL_2e71: ldloc.s V_4
+ IL_2e73: box [mscorlib]System.Int64
+ IL_2e78: ldloc.s V_14
+ IL_2e7a: box [mscorlib]System.Int64
+ IL_2e7f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2e84: ldloc.s V_5
+ IL_2e86: ldloc.s V_15
+ IL_2e88: beq.s IL_2ea5
+
+ IL_2e8a: ldc.i4.1
+ IL_2e8b: stloc.s V_20
+ IL_2e8d: ldstr "te164 check failed {0} {1}"
+ IL_2e92: ldloc.s V_5
+ IL_2e94: box [mscorlib]System.Int64
+ IL_2e99: ldloc.s V_15
+ IL_2e9b: box [mscorlib]System.Int64
+ IL_2ea0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ea5: ldloc.s V_6
+ IL_2ea7: ldloc.s V_16
+ IL_2ea9: beq.s IL_2ec6
+
+ IL_2eab: ldc.i4.1
+ IL_2eac: stloc.s V_20
+ IL_2eae: ldstr "te264 check failed {0} {1}"
+ IL_2eb3: ldloc.s V_6
+ IL_2eb5: box [mscorlib]System.Int64
+ IL_2eba: ldloc.s V_16
+ IL_2ebc: box [mscorlib]System.Int64
+ IL_2ec1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ec6: ldloc.s V_7
+ IL_2ec8: ldloc.s V_17
+ IL_2eca: beq.s IL_2ee7
+
+ IL_2ecc: ldc.i4.1
+ IL_2ecd: stloc.s V_20
+ IL_2ecf: ldstr "te364 check failed {0} {1}"
+ IL_2ed4: ldloc.s V_7
+ IL_2ed6: box [mscorlib]System.Int64
+ IL_2edb: ldloc.s V_17
+ IL_2edd: box [mscorlib]System.Int64
+ IL_2ee2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2ee7: ldloc.s V_8
+ IL_2ee9: ldloc.s V_18
+ IL_2eeb: beq.s IL_2f08
+
+ IL_2eed: ldc.i4.1
+ IL_2eee: stloc.s V_20
+ IL_2ef0: ldstr "dummy check failed {0} {1}"
+ IL_2ef5: ldloc.s V_8
+ IL_2ef7: box [mscorlib]System.Int32
+ IL_2efc: ldloc.s V_18
+ IL_2efe: box [mscorlib]System.Int32
+ IL_2f03: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f08: ldloc.s V_9
+ IL_2f0a: ldloc.s V_19
+ IL_2f0c: beq.s IL_2f29
+
+ IL_2f0e: ldc.i4.1
+ IL_2f0f: stloc.s V_20
+ IL_2f11: ldstr "dummy64 check failed {0} {1}"
+ IL_2f16: ldloc.s V_9
+ IL_2f18: box [mscorlib]System.Int64
+ IL_2f1d: ldloc.s V_19
+ IL_2f1f: box [mscorlib]System.Int64
+ IL_2f24: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f29: ldsfld int32 IntrinsicTest::counter
+ IL_2f2e: ldsfld int32 IntrinsicTest::id_counter
+ IL_2f33: beq.s IL_2f56
+
+ IL_2f35: ldstr "counter mismatch {0} {1}"
+ IL_2f3a: ldsfld int32 IntrinsicTest::counter
+ IL_2f3f: box [mscorlib]System.Int32
+ IL_2f44: ldsfld int32 IntrinsicTest::id_counter
+ IL_2f49: box [mscorlib]System.Int32
+ IL_2f4e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f53: ldc.i4.1
+ IL_2f54: stloc.s V_20
+ IL_2f56: ldsfld int64 IntrinsicTest::counter64
+ IL_2f5b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2f60: beq.s IL_2f83
+
+ IL_2f62: ldstr "counter64 mismatch {0} {1}"
+ IL_2f67: ldsfld int64 IntrinsicTest::counter64
+ IL_2f6c: box [mscorlib]System.Int64
+ IL_2f71: ldsfld int64 IntrinsicTest::id_counter64
+ IL_2f76: box [mscorlib]System.Int64
+ IL_2f7b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2f80: ldc.i4.1
+ IL_2f81: stloc.s V_20
+ IL_2f83: ldloc.s V_21
+ IL_2f85: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2f8a: ldloc.s V_21
+ IL_2f8c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2f91: beq.s IL_2fb8
+
+ IL_2f93: ldstr "instanceCounter mismatch {0} {1}"
+ IL_2f98: ldloc.s V_21
+ IL_2f9a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_2f9f: box [mscorlib]System.Int32
+ IL_2fa4: ldloc.s V_21
+ IL_2fa6: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_2fab: box [mscorlib]System.Int32
+ IL_2fb0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2fb5: ldc.i4.1
+ IL_2fb6: stloc.s V_20
+ IL_2fb8: ldloc.s V_21
+ IL_2fba: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2fbf: ldloc.s V_21
+ IL_2fc1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2fc6: beq.s IL_2fed
+
+ IL_2fc8: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_2fcd: ldloc.s V_21
+ IL_2fcf: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_2fd4: box [mscorlib]System.Int64
+ IL_2fd9: ldloc.s V_21
+ IL_2fdb: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_2fe0: box [mscorlib]System.Int64
+ IL_2fe5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_2fea: ldc.i4.1
+ IL_2feb: stloc.s V_20
+ IL_2fed: ldsfld int64 IntrinsicTest::temp
+ IL_2ff2: ldsfld int64 IntrinsicTest::idmp
+ IL_2ff7: beq.s IL_301a
+
+ IL_2ff9: ldstr "temp mismatch {0} {1}"
+ IL_2ffe: ldsfld int64 IntrinsicTest::temp
+ IL_3003: box [mscorlib]System.Int64
+ IL_3008: ldsfld int64 IntrinsicTest::idmp
+ IL_300d: box [mscorlib]System.Int64
+ IL_3012: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3017: ldc.i4.1
+ IL_3018: stloc.s V_20
+ IL_301a: ldloc.s V_21
+ IL_301c: ldsflda int32 IntrinsicTest::counter
+ IL_3021: ldsfld int32 IntrinsicTest::counter
+ IL_3026: ldloc.s V_21
+ IL_3028: ldfld int32 IntrinsicTest::instanceCounter
+ IL_302d: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_3032: stfld int32 IntrinsicTest::instanceCounter
+ IL_3037: ldloc.s V_21
+ IL_3039: ldsfld int32 IntrinsicTest::id_counter
+ IL_303e: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_3043: ldsfld int32 IntrinsicTest::id_counter
+ IL_3048: ldloc.s V_21
+ IL_304a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_304f: bne.un.s IL_305d
+
+ IL_3051: ldsfld int32 IntrinsicTest::id_counter
+ IL_3056: stsfld int32 IntrinsicTest::id_counter
+ IL_305b: br.s IL_3068
+
+ IL_305d: ldsfld int32 IntrinsicTest::id_counter
+ IL_3062: conv.i8
+ IL_3063: stsfld int64 IntrinsicTest::idjunk
+ IL_3068: ldstr "------------------------------------CMPXCHG 1 1 2 5"
+ IL_306d: call void [System.Console]System.Console::WriteLine(string)
+ IL_3072: ldloc.0
+ IL_3073: ldloc.s V_10
+ IL_3075: beq.s IL_3091
+
+ IL_3077: ldc.i4.1
+ IL_3078: stloc.s V_20
+ IL_307a: ldstr "te0 check failed {0} {1}"
+ IL_307f: ldloc.0
+ IL_3080: box [mscorlib]System.Int32
+ IL_3085: ldloc.s V_10
+ IL_3087: box [mscorlib]System.Int32
+ IL_308c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3091: ldloc.1
+ IL_3092: ldloc.s V_11
+ IL_3094: beq.s IL_30b0
+
+ IL_3096: ldc.i4.1
+ IL_3097: stloc.s V_20
+ IL_3099: ldstr "te1 check failed {0} {1}"
+ IL_309e: ldloc.1
+ IL_309f: box [mscorlib]System.Int32
+ IL_30a4: ldloc.s V_11
+ IL_30a6: box [mscorlib]System.Int32
+ IL_30ab: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30b0: ldloc.2
+ IL_30b1: ldloc.s V_12
+ IL_30b3: beq.s IL_30cf
+
+ IL_30b5: ldc.i4.1
+ IL_30b6: stloc.s V_20
+ IL_30b8: ldstr "te2 check failed {0} {1}"
+ IL_30bd: ldloc.2
+ IL_30be: box [mscorlib]System.Int32
+ IL_30c3: ldloc.s V_12
+ IL_30c5: box [mscorlib]System.Int32
+ IL_30ca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30cf: ldloc.3
+ IL_30d0: ldloc.s V_13
+ IL_30d2: beq.s IL_30ee
+
+ IL_30d4: ldc.i4.1
+ IL_30d5: stloc.s V_20
+ IL_30d7: ldstr "te3 check failed {0} {1}"
+ IL_30dc: ldloc.3
+ IL_30dd: box [mscorlib]System.Int32
+ IL_30e2: ldloc.s V_13
+ IL_30e4: box [mscorlib]System.Int32
+ IL_30e9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_30ee: ldloc.s V_4
+ IL_30f0: ldloc.s V_14
+ IL_30f2: beq.s IL_310f
+
+ IL_30f4: ldc.i4.1
+ IL_30f5: stloc.s V_20
+ IL_30f7: ldstr "te064 check failed {0} {1}"
+ IL_30fc: ldloc.s V_4
+ IL_30fe: box [mscorlib]System.Int64
+ IL_3103: ldloc.s V_14
+ IL_3105: box [mscorlib]System.Int64
+ IL_310a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_310f: ldloc.s V_5
+ IL_3111: ldloc.s V_15
+ IL_3113: beq.s IL_3130
+
+ IL_3115: ldc.i4.1
+ IL_3116: stloc.s V_20
+ IL_3118: ldstr "te164 check failed {0} {1}"
+ IL_311d: ldloc.s V_5
+ IL_311f: box [mscorlib]System.Int64
+ IL_3124: ldloc.s V_15
+ IL_3126: box [mscorlib]System.Int64
+ IL_312b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3130: ldloc.s V_6
+ IL_3132: ldloc.s V_16
+ IL_3134: beq.s IL_3151
+
+ IL_3136: ldc.i4.1
+ IL_3137: stloc.s V_20
+ IL_3139: ldstr "te264 check failed {0} {1}"
+ IL_313e: ldloc.s V_6
+ IL_3140: box [mscorlib]System.Int64
+ IL_3145: ldloc.s V_16
+ IL_3147: box [mscorlib]System.Int64
+ IL_314c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3151: ldloc.s V_7
+ IL_3153: ldloc.s V_17
+ IL_3155: beq.s IL_3172
+
+ IL_3157: ldc.i4.1
+ IL_3158: stloc.s V_20
+ IL_315a: ldstr "te364 check failed {0} {1}"
+ IL_315f: ldloc.s V_7
+ IL_3161: box [mscorlib]System.Int64
+ IL_3166: ldloc.s V_17
+ IL_3168: box [mscorlib]System.Int64
+ IL_316d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3172: ldloc.s V_8
+ IL_3174: ldloc.s V_18
+ IL_3176: beq.s IL_3193
+
+ IL_3178: ldc.i4.1
+ IL_3179: stloc.s V_20
+ IL_317b: ldstr "dummy check failed {0} {1}"
+ IL_3180: ldloc.s V_8
+ IL_3182: box [mscorlib]System.Int32
+ IL_3187: ldloc.s V_18
+ IL_3189: box [mscorlib]System.Int32
+ IL_318e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3193: ldloc.s V_9
+ IL_3195: ldloc.s V_19
+ IL_3197: beq.s IL_31b4
+
+ IL_3199: ldc.i4.1
+ IL_319a: stloc.s V_20
+ IL_319c: ldstr "dummy64 check failed {0} {1}"
+ IL_31a1: ldloc.s V_9
+ IL_31a3: box [mscorlib]System.Int64
+ IL_31a8: ldloc.s V_19
+ IL_31aa: box [mscorlib]System.Int64
+ IL_31af: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_31b4: ldsfld int32 IntrinsicTest::counter
+ IL_31b9: ldsfld int32 IntrinsicTest::id_counter
+ IL_31be: beq.s IL_31e1
+
+ IL_31c0: ldstr "counter mismatch {0} {1}"
+ IL_31c5: ldsfld int32 IntrinsicTest::counter
+ IL_31ca: box [mscorlib]System.Int32
+ IL_31cf: ldsfld int32 IntrinsicTest::id_counter
+ IL_31d4: box [mscorlib]System.Int32
+ IL_31d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_31de: ldc.i4.1
+ IL_31df: stloc.s V_20
+ IL_31e1: ldsfld int64 IntrinsicTest::counter64
+ IL_31e6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_31eb: beq.s IL_320e
+
+ IL_31ed: ldstr "counter64 mismatch {0} {1}"
+ IL_31f2: ldsfld int64 IntrinsicTest::counter64
+ IL_31f7: box [mscorlib]System.Int64
+ IL_31fc: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3201: box [mscorlib]System.Int64
+ IL_3206: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_320b: ldc.i4.1
+ IL_320c: stloc.s V_20
+ IL_320e: ldloc.s V_21
+ IL_3210: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3215: ldloc.s V_21
+ IL_3217: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_321c: beq.s IL_3243
+
+ IL_321e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3223: ldloc.s V_21
+ IL_3225: ldfld int32 IntrinsicTest::instanceCounter
+ IL_322a: box [mscorlib]System.Int32
+ IL_322f: ldloc.s V_21
+ IL_3231: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3236: box [mscorlib]System.Int32
+ IL_323b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3240: ldc.i4.1
+ IL_3241: stloc.s V_20
+ IL_3243: ldloc.s V_21
+ IL_3245: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_324a: ldloc.s V_21
+ IL_324c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3251: beq.s IL_3278
+
+ IL_3253: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3258: ldloc.s V_21
+ IL_325a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_325f: box [mscorlib]System.Int64
+ IL_3264: ldloc.s V_21
+ IL_3266: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_326b: box [mscorlib]System.Int64
+ IL_3270: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3275: ldc.i4.1
+ IL_3276: stloc.s V_20
+ IL_3278: ldsfld int64 IntrinsicTest::temp
+ IL_327d: ldsfld int64 IntrinsicTest::idmp
+ IL_3282: beq.s IL_32a5
+
+ IL_3284: ldstr "temp mismatch {0} {1}"
+ IL_3289: ldsfld int64 IntrinsicTest::temp
+ IL_328e: box [mscorlib]System.Int64
+ IL_3293: ldsfld int64 IntrinsicTest::idmp
+ IL_3298: box [mscorlib]System.Int64
+ IL_329d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_32a2: ldc.i4.1
+ IL_32a3: stloc.s V_20
+ IL_32a5: ldsflda int32 IntrinsicTest::counter
+ IL_32aa: ldsfld int32 IntrinsicTest::counter
+ IL_32af: ldloc.s V_21
+ IL_32b1: ldfld int32 IntrinsicTest::instanceCounter
+ IL_32b6: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_32bb: stloc.3
+ IL_32bc: ldsfld int32 IntrinsicTest::id_counter
+ IL_32c1: stloc.s V_13
+ IL_32c3: ldsfld int32 IntrinsicTest::id_counter
+ IL_32c8: ldloc.s V_21
+ IL_32ca: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_32cf: bne.un.s IL_32dd
+
+ IL_32d1: ldsfld int32 IntrinsicTest::id_counter
+ IL_32d6: stsfld int32 IntrinsicTest::id_counter
+ IL_32db: br.s IL_32e8
+
+ IL_32dd: ldsfld int32 IntrinsicTest::id_counter
+ IL_32e2: conv.i8
+ IL_32e3: stsfld int64 IntrinsicTest::idjunk
+ IL_32e8: ldstr "------------------------------------CMPXCHG 1 1 2 6"
+ IL_32ed: call void [System.Console]System.Console::WriteLine(string)
+ IL_32f2: ldloc.0
+ IL_32f3: ldloc.s V_10
+ IL_32f5: beq.s IL_3311
+
+ IL_32f7: ldc.i4.1
+ IL_32f8: stloc.s V_20
+ IL_32fa: ldstr "te0 check failed {0} {1}"
+ IL_32ff: ldloc.0
+ IL_3300: box [mscorlib]System.Int32
+ IL_3305: ldloc.s V_10
+ IL_3307: box [mscorlib]System.Int32
+ IL_330c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3311: ldloc.1
+ IL_3312: ldloc.s V_11
+ IL_3314: beq.s IL_3330
+
+ IL_3316: ldc.i4.1
+ IL_3317: stloc.s V_20
+ IL_3319: ldstr "te1 check failed {0} {1}"
+ IL_331e: ldloc.1
+ IL_331f: box [mscorlib]System.Int32
+ IL_3324: ldloc.s V_11
+ IL_3326: box [mscorlib]System.Int32
+ IL_332b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3330: ldloc.2
+ IL_3331: ldloc.s V_12
+ IL_3333: beq.s IL_334f
+
+ IL_3335: ldc.i4.1
+ IL_3336: stloc.s V_20
+ IL_3338: ldstr "te2 check failed {0} {1}"
+ IL_333d: ldloc.2
+ IL_333e: box [mscorlib]System.Int32
+ IL_3343: ldloc.s V_12
+ IL_3345: box [mscorlib]System.Int32
+ IL_334a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_334f: ldloc.3
+ IL_3350: ldloc.s V_13
+ IL_3352: beq.s IL_336e
+
+ IL_3354: ldc.i4.1
+ IL_3355: stloc.s V_20
+ IL_3357: ldstr "te3 check failed {0} {1}"
+ IL_335c: ldloc.3
+ IL_335d: box [mscorlib]System.Int32
+ IL_3362: ldloc.s V_13
+ IL_3364: box [mscorlib]System.Int32
+ IL_3369: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_336e: ldloc.s V_4
+ IL_3370: ldloc.s V_14
+ IL_3372: beq.s IL_338f
+
+ IL_3374: ldc.i4.1
+ IL_3375: stloc.s V_20
+ IL_3377: ldstr "te064 check failed {0} {1}"
+ IL_337c: ldloc.s V_4
+ IL_337e: box [mscorlib]System.Int64
+ IL_3383: ldloc.s V_14
+ IL_3385: box [mscorlib]System.Int64
+ IL_338a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_338f: ldloc.s V_5
+ IL_3391: ldloc.s V_15
+ IL_3393: beq.s IL_33b0
+
+ IL_3395: ldc.i4.1
+ IL_3396: stloc.s V_20
+ IL_3398: ldstr "te164 check failed {0} {1}"
+ IL_339d: ldloc.s V_5
+ IL_339f: box [mscorlib]System.Int64
+ IL_33a4: ldloc.s V_15
+ IL_33a6: box [mscorlib]System.Int64
+ IL_33ab: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33b0: ldloc.s V_6
+ IL_33b2: ldloc.s V_16
+ IL_33b4: beq.s IL_33d1
+
+ IL_33b6: ldc.i4.1
+ IL_33b7: stloc.s V_20
+ IL_33b9: ldstr "te264 check failed {0} {1}"
+ IL_33be: ldloc.s V_6
+ IL_33c0: box [mscorlib]System.Int64
+ IL_33c5: ldloc.s V_16
+ IL_33c7: box [mscorlib]System.Int64
+ IL_33cc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33d1: ldloc.s V_7
+ IL_33d3: ldloc.s V_17
+ IL_33d5: beq.s IL_33f2
+
+ IL_33d7: ldc.i4.1
+ IL_33d8: stloc.s V_20
+ IL_33da: ldstr "te364 check failed {0} {1}"
+ IL_33df: ldloc.s V_7
+ IL_33e1: box [mscorlib]System.Int64
+ IL_33e6: ldloc.s V_17
+ IL_33e8: box [mscorlib]System.Int64
+ IL_33ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_33f2: ldloc.s V_8
+ IL_33f4: ldloc.s V_18
+ IL_33f6: beq.s IL_3413
+
+ IL_33f8: ldc.i4.1
+ IL_33f9: stloc.s V_20
+ IL_33fb: ldstr "dummy check failed {0} {1}"
+ IL_3400: ldloc.s V_8
+ IL_3402: box [mscorlib]System.Int32
+ IL_3407: ldloc.s V_18
+ IL_3409: box [mscorlib]System.Int32
+ IL_340e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3413: ldloc.s V_9
+ IL_3415: ldloc.s V_19
+ IL_3417: beq.s IL_3434
+
+ IL_3419: ldc.i4.1
+ IL_341a: stloc.s V_20
+ IL_341c: ldstr "dummy64 check failed {0} {1}"
+ IL_3421: ldloc.s V_9
+ IL_3423: box [mscorlib]System.Int64
+ IL_3428: ldloc.s V_19
+ IL_342a: box [mscorlib]System.Int64
+ IL_342f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3434: ldsfld int32 IntrinsicTest::counter
+ IL_3439: ldsfld int32 IntrinsicTest::id_counter
+ IL_343e: beq.s IL_3461
+
+ IL_3440: ldstr "counter mismatch {0} {1}"
+ IL_3445: ldsfld int32 IntrinsicTest::counter
+ IL_344a: box [mscorlib]System.Int32
+ IL_344f: ldsfld int32 IntrinsicTest::id_counter
+ IL_3454: box [mscorlib]System.Int32
+ IL_3459: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_345e: ldc.i4.1
+ IL_345f: stloc.s V_20
+ IL_3461: ldsfld int64 IntrinsicTest::counter64
+ IL_3466: ldsfld int64 IntrinsicTest::id_counter64
+ IL_346b: beq.s IL_348e
+
+ IL_346d: ldstr "counter64 mismatch {0} {1}"
+ IL_3472: ldsfld int64 IntrinsicTest::counter64
+ IL_3477: box [mscorlib]System.Int64
+ IL_347c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3481: box [mscorlib]System.Int64
+ IL_3486: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_348b: ldc.i4.1
+ IL_348c: stloc.s V_20
+ IL_348e: ldloc.s V_21
+ IL_3490: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3495: ldloc.s V_21
+ IL_3497: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_349c: beq.s IL_34c3
+
+ IL_349e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_34a3: ldloc.s V_21
+ IL_34a5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_34aa: box [mscorlib]System.Int32
+ IL_34af: ldloc.s V_21
+ IL_34b1: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_34b6: box [mscorlib]System.Int32
+ IL_34bb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_34c0: ldc.i4.1
+ IL_34c1: stloc.s V_20
+ IL_34c3: ldloc.s V_21
+ IL_34c5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_34ca: ldloc.s V_21
+ IL_34cc: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_34d1: beq.s IL_34f8
+
+ IL_34d3: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_34d8: ldloc.s V_21
+ IL_34da: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_34df: box [mscorlib]System.Int64
+ IL_34e4: ldloc.s V_21
+ IL_34e6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_34eb: box [mscorlib]System.Int64
+ IL_34f0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_34f5: ldc.i4.1
+ IL_34f6: stloc.s V_20
+ IL_34f8: ldsfld int64 IntrinsicTest::temp
+ IL_34fd: ldsfld int64 IntrinsicTest::idmp
+ IL_3502: beq.s IL_3525
+
+ IL_3504: ldstr "temp mismatch {0} {1}"
+ IL_3509: ldsfld int64 IntrinsicTest::temp
+ IL_350e: box [mscorlib]System.Int64
+ IL_3513: ldsfld int64 IntrinsicTest::idmp
+ IL_3518: box [mscorlib]System.Int64
+ IL_351d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3522: ldc.i4.1
+ IL_3523: stloc.s V_20
+ IL_3525: ldsflda int32 IntrinsicTest::counter
+ IL_352a: ldsfld int32 IntrinsicTest::counter
+ IL_352f: ldloc.s V_21
+ IL_3531: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3536: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_353b: stloc.0
+ IL_353c: ldsfld int32 IntrinsicTest::id_counter
+ IL_3541: stloc.s V_10
+ IL_3543: ldsfld int32 IntrinsicTest::id_counter
+ IL_3548: ldloc.s V_21
+ IL_354a: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_354f: bne.un.s IL_355d
+
+ IL_3551: ldsfld int32 IntrinsicTest::id_counter
+ IL_3556: stsfld int32 IntrinsicTest::id_counter
+ IL_355b: br.s IL_3568
+
+ IL_355d: ldsfld int32 IntrinsicTest::id_counter
+ IL_3562: conv.i8
+ IL_3563: stsfld int64 IntrinsicTest::idjunk
+ IL_3568: ldstr "------------------------------------CMPXCHG 1 1 3 0"
+ IL_356d: call void [System.Console]System.Console::WriteLine(string)
+ IL_3572: ldloc.0
+ IL_3573: ldloc.s V_10
+ IL_3575: beq.s IL_3591
+
+ IL_3577: ldc.i4.1
+ IL_3578: stloc.s V_20
+ IL_357a: ldstr "te0 check failed {0} {1}"
+ IL_357f: ldloc.0
+ IL_3580: box [mscorlib]System.Int32
+ IL_3585: ldloc.s V_10
+ IL_3587: box [mscorlib]System.Int32
+ IL_358c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3591: ldloc.1
+ IL_3592: ldloc.s V_11
+ IL_3594: beq.s IL_35b0
+
+ IL_3596: ldc.i4.1
+ IL_3597: stloc.s V_20
+ IL_3599: ldstr "te1 check failed {0} {1}"
+ IL_359e: ldloc.1
+ IL_359f: box [mscorlib]System.Int32
+ IL_35a4: ldloc.s V_11
+ IL_35a6: box [mscorlib]System.Int32
+ IL_35ab: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35b0: ldloc.2
+ IL_35b1: ldloc.s V_12
+ IL_35b3: beq.s IL_35cf
+
+ IL_35b5: ldc.i4.1
+ IL_35b6: stloc.s V_20
+ IL_35b8: ldstr "te2 check failed {0} {1}"
+ IL_35bd: ldloc.2
+ IL_35be: box [mscorlib]System.Int32
+ IL_35c3: ldloc.s V_12
+ IL_35c5: box [mscorlib]System.Int32
+ IL_35ca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35cf: ldloc.3
+ IL_35d0: ldloc.s V_13
+ IL_35d2: beq.s IL_35ee
+
+ IL_35d4: ldc.i4.1
+ IL_35d5: stloc.s V_20
+ IL_35d7: ldstr "te3 check failed {0} {1}"
+ IL_35dc: ldloc.3
+ IL_35dd: box [mscorlib]System.Int32
+ IL_35e2: ldloc.s V_13
+ IL_35e4: box [mscorlib]System.Int32
+ IL_35e9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_35ee: ldloc.s V_4
+ IL_35f0: ldloc.s V_14
+ IL_35f2: beq.s IL_360f
+
+ IL_35f4: ldc.i4.1
+ IL_35f5: stloc.s V_20
+ IL_35f7: ldstr "te064 check failed {0} {1}"
+ IL_35fc: ldloc.s V_4
+ IL_35fe: box [mscorlib]System.Int64
+ IL_3603: ldloc.s V_14
+ IL_3605: box [mscorlib]System.Int64
+ IL_360a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_360f: ldloc.s V_5
+ IL_3611: ldloc.s V_15
+ IL_3613: beq.s IL_3630
+
+ IL_3615: ldc.i4.1
+ IL_3616: stloc.s V_20
+ IL_3618: ldstr "te164 check failed {0} {1}"
+ IL_361d: ldloc.s V_5
+ IL_361f: box [mscorlib]System.Int64
+ IL_3624: ldloc.s V_15
+ IL_3626: box [mscorlib]System.Int64
+ IL_362b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3630: ldloc.s V_6
+ IL_3632: ldloc.s V_16
+ IL_3634: beq.s IL_3651
+
+ IL_3636: ldc.i4.1
+ IL_3637: stloc.s V_20
+ IL_3639: ldstr "te264 check failed {0} {1}"
+ IL_363e: ldloc.s V_6
+ IL_3640: box [mscorlib]System.Int64
+ IL_3645: ldloc.s V_16
+ IL_3647: box [mscorlib]System.Int64
+ IL_364c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3651: ldloc.s V_7
+ IL_3653: ldloc.s V_17
+ IL_3655: beq.s IL_3672
+
+ IL_3657: ldc.i4.1
+ IL_3658: stloc.s V_20
+ IL_365a: ldstr "te364 check failed {0} {1}"
+ IL_365f: ldloc.s V_7
+ IL_3661: box [mscorlib]System.Int64
+ IL_3666: ldloc.s V_17
+ IL_3668: box [mscorlib]System.Int64
+ IL_366d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3672: ldloc.s V_8
+ IL_3674: ldloc.s V_18
+ IL_3676: beq.s IL_3693
+
+ IL_3678: ldc.i4.1
+ IL_3679: stloc.s V_20
+ IL_367b: ldstr "dummy check failed {0} {1}"
+ IL_3680: ldloc.s V_8
+ IL_3682: box [mscorlib]System.Int32
+ IL_3687: ldloc.s V_18
+ IL_3689: box [mscorlib]System.Int32
+ IL_368e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3693: ldloc.s V_9
+ IL_3695: ldloc.s V_19
+ IL_3697: beq.s IL_36b4
+
+ IL_3699: ldc.i4.1
+ IL_369a: stloc.s V_20
+ IL_369c: ldstr "dummy64 check failed {0} {1}"
+ IL_36a1: ldloc.s V_9
+ IL_36a3: box [mscorlib]System.Int64
+ IL_36a8: ldloc.s V_19
+ IL_36aa: box [mscorlib]System.Int64
+ IL_36af: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_36b4: ldsfld int32 IntrinsicTest::counter
+ IL_36b9: ldsfld int32 IntrinsicTest::id_counter
+ IL_36be: beq.s IL_36e1
+
+ IL_36c0: ldstr "counter mismatch {0} {1}"
+ IL_36c5: ldsfld int32 IntrinsicTest::counter
+ IL_36ca: box [mscorlib]System.Int32
+ IL_36cf: ldsfld int32 IntrinsicTest::id_counter
+ IL_36d4: box [mscorlib]System.Int32
+ IL_36d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_36de: ldc.i4.1
+ IL_36df: stloc.s V_20
+ IL_36e1: ldsfld int64 IntrinsicTest::counter64
+ IL_36e6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_36eb: beq.s IL_370e
+
+ IL_36ed: ldstr "counter64 mismatch {0} {1}"
+ IL_36f2: ldsfld int64 IntrinsicTest::counter64
+ IL_36f7: box [mscorlib]System.Int64
+ IL_36fc: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3701: box [mscorlib]System.Int64
+ IL_3706: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_370b: ldc.i4.1
+ IL_370c: stloc.s V_20
+ IL_370e: ldloc.s V_21
+ IL_3710: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3715: ldloc.s V_21
+ IL_3717: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_371c: beq.s IL_3743
+
+ IL_371e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3723: ldloc.s V_21
+ IL_3725: ldfld int32 IntrinsicTest::instanceCounter
+ IL_372a: box [mscorlib]System.Int32
+ IL_372f: ldloc.s V_21
+ IL_3731: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3736: box [mscorlib]System.Int32
+ IL_373b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3740: ldc.i4.1
+ IL_3741: stloc.s V_20
+ IL_3743: ldloc.s V_21
+ IL_3745: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_374a: ldloc.s V_21
+ IL_374c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3751: beq.s IL_3778
+
+ IL_3753: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3758: ldloc.s V_21
+ IL_375a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_375f: box [mscorlib]System.Int64
+ IL_3764: ldloc.s V_21
+ IL_3766: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_376b: box [mscorlib]System.Int64
+ IL_3770: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3775: ldc.i4.1
+ IL_3776: stloc.s V_20
+ IL_3778: ldsfld int64 IntrinsicTest::temp
+ IL_377d: ldsfld int64 IntrinsicTest::idmp
+ IL_3782: beq.s IL_37a5
+
+ IL_3784: ldstr "temp mismatch {0} {1}"
+ IL_3789: ldsfld int64 IntrinsicTest::temp
+ IL_378e: box [mscorlib]System.Int64
+ IL_3793: ldsfld int64 IntrinsicTest::idmp
+ IL_3798: box [mscorlib]System.Int64
+ IL_379d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_37a2: ldc.i4.1
+ IL_37a3: stloc.s V_20
+ IL_37a5: ldsflda int32 IntrinsicTest::counter
+ IL_37aa: ldsfld int32 IntrinsicTest::counter
+ IL_37af: ldloc.s V_21
+ IL_37b1: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_37b6: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_37bb: stsfld int32 IntrinsicTest::counter
+ IL_37c0: ldsfld int32 IntrinsicTest::id_counter
+ IL_37c5: stsfld int32 IntrinsicTest::id_counter
+ IL_37ca: ldsfld int32 IntrinsicTest::id_counter
+ IL_37cf: ldloc.s V_21
+ IL_37d1: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_37d6: bne.un.s IL_37e5
+
+ IL_37d8: ldsfld int32 IntrinsicTest::id_counter
+ IL_37dd: conv.i8
+ IL_37de: stsfld int64 IntrinsicTest::idjunk
+ IL_37e3: br.s IL_37f0
+
+ IL_37e5: ldsfld int32 IntrinsicTest::id_counter
+ IL_37ea: conv.i8
+ IL_37eb: stsfld int64 IntrinsicTest::idjunk
+ IL_37f0: ldstr "------------------------------------CMPXCHG 1 1 3 1"
+ IL_37f5: call void [System.Console]System.Console::WriteLine(string)
+ IL_37fa: ldloc.0
+ IL_37fb: ldloc.s V_10
+ IL_37fd: beq.s IL_3819
+
+ IL_37ff: ldc.i4.1
+ IL_3800: stloc.s V_20
+ IL_3802: ldstr "te0 check failed {0} {1}"
+ IL_3807: ldloc.0
+ IL_3808: box [mscorlib]System.Int32
+ IL_380d: ldloc.s V_10
+ IL_380f: box [mscorlib]System.Int32
+ IL_3814: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3819: ldloc.1
+ IL_381a: ldloc.s V_11
+ IL_381c: beq.s IL_3838
+
+ IL_381e: ldc.i4.1
+ IL_381f: stloc.s V_20
+ IL_3821: ldstr "te1 check failed {0} {1}"
+ IL_3826: ldloc.1
+ IL_3827: box [mscorlib]System.Int32
+ IL_382c: ldloc.s V_11
+ IL_382e: box [mscorlib]System.Int32
+ IL_3833: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3838: ldloc.2
+ IL_3839: ldloc.s V_12
+ IL_383b: beq.s IL_3857
+
+ IL_383d: ldc.i4.1
+ IL_383e: stloc.s V_20
+ IL_3840: ldstr "te2 check failed {0} {1}"
+ IL_3845: ldloc.2
+ IL_3846: box [mscorlib]System.Int32
+ IL_384b: ldloc.s V_12
+ IL_384d: box [mscorlib]System.Int32
+ IL_3852: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3857: ldloc.3
+ IL_3858: ldloc.s V_13
+ IL_385a: beq.s IL_3876
+
+ IL_385c: ldc.i4.1
+ IL_385d: stloc.s V_20
+ IL_385f: ldstr "te3 check failed {0} {1}"
+ IL_3864: ldloc.3
+ IL_3865: box [mscorlib]System.Int32
+ IL_386a: ldloc.s V_13
+ IL_386c: box [mscorlib]System.Int32
+ IL_3871: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3876: ldloc.s V_4
+ IL_3878: ldloc.s V_14
+ IL_387a: beq.s IL_3897
+
+ IL_387c: ldc.i4.1
+ IL_387d: stloc.s V_20
+ IL_387f: ldstr "te064 check failed {0} {1}"
+ IL_3884: ldloc.s V_4
+ IL_3886: box [mscorlib]System.Int64
+ IL_388b: ldloc.s V_14
+ IL_388d: box [mscorlib]System.Int64
+ IL_3892: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3897: ldloc.s V_5
+ IL_3899: ldloc.s V_15
+ IL_389b: beq.s IL_38b8
+
+ IL_389d: ldc.i4.1
+ IL_389e: stloc.s V_20
+ IL_38a0: ldstr "te164 check failed {0} {1}"
+ IL_38a5: ldloc.s V_5
+ IL_38a7: box [mscorlib]System.Int64
+ IL_38ac: ldloc.s V_15
+ IL_38ae: box [mscorlib]System.Int64
+ IL_38b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38b8: ldloc.s V_6
+ IL_38ba: ldloc.s V_16
+ IL_38bc: beq.s IL_38d9
+
+ IL_38be: ldc.i4.1
+ IL_38bf: stloc.s V_20
+ IL_38c1: ldstr "te264 check failed {0} {1}"
+ IL_38c6: ldloc.s V_6
+ IL_38c8: box [mscorlib]System.Int64
+ IL_38cd: ldloc.s V_16
+ IL_38cf: box [mscorlib]System.Int64
+ IL_38d4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38d9: ldloc.s V_7
+ IL_38db: ldloc.s V_17
+ IL_38dd: beq.s IL_38fa
+
+ IL_38df: ldc.i4.1
+ IL_38e0: stloc.s V_20
+ IL_38e2: ldstr "te364 check failed {0} {1}"
+ IL_38e7: ldloc.s V_7
+ IL_38e9: box [mscorlib]System.Int64
+ IL_38ee: ldloc.s V_17
+ IL_38f0: box [mscorlib]System.Int64
+ IL_38f5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_38fa: ldloc.s V_8
+ IL_38fc: ldloc.s V_18
+ IL_38fe: beq.s IL_391b
+
+ IL_3900: ldc.i4.1
+ IL_3901: stloc.s V_20
+ IL_3903: ldstr "dummy check failed {0} {1}"
+ IL_3908: ldloc.s V_8
+ IL_390a: box [mscorlib]System.Int32
+ IL_390f: ldloc.s V_18
+ IL_3911: box [mscorlib]System.Int32
+ IL_3916: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_391b: ldloc.s V_9
+ IL_391d: ldloc.s V_19
+ IL_391f: beq.s IL_393c
+
+ IL_3921: ldc.i4.1
+ IL_3922: stloc.s V_20
+ IL_3924: ldstr "dummy64 check failed {0} {1}"
+ IL_3929: ldloc.s V_9
+ IL_392b: box [mscorlib]System.Int64
+ IL_3930: ldloc.s V_19
+ IL_3932: box [mscorlib]System.Int64
+ IL_3937: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_393c: ldsfld int32 IntrinsicTest::counter
+ IL_3941: ldsfld int32 IntrinsicTest::id_counter
+ IL_3946: beq.s IL_3969
+
+ IL_3948: ldstr "counter mismatch {0} {1}"
+ IL_394d: ldsfld int32 IntrinsicTest::counter
+ IL_3952: box [mscorlib]System.Int32
+ IL_3957: ldsfld int32 IntrinsicTest::id_counter
+ IL_395c: box [mscorlib]System.Int32
+ IL_3961: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3966: ldc.i4.1
+ IL_3967: stloc.s V_20
+ IL_3969: ldsfld int64 IntrinsicTest::counter64
+ IL_396e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3973: beq.s IL_3996
+
+ IL_3975: ldstr "counter64 mismatch {0} {1}"
+ IL_397a: ldsfld int64 IntrinsicTest::counter64
+ IL_397f: box [mscorlib]System.Int64
+ IL_3984: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3989: box [mscorlib]System.Int64
+ IL_398e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3993: ldc.i4.1
+ IL_3994: stloc.s V_20
+ IL_3996: ldloc.s V_21
+ IL_3998: ldfld int32 IntrinsicTest::instanceCounter
+ IL_399d: ldloc.s V_21
+ IL_399f: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_39a4: beq.s IL_39cb
+
+ IL_39a6: ldstr "instanceCounter mismatch {0} {1}"
+ IL_39ab: ldloc.s V_21
+ IL_39ad: ldfld int32 IntrinsicTest::instanceCounter
+ IL_39b2: box [mscorlib]System.Int32
+ IL_39b7: ldloc.s V_21
+ IL_39b9: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_39be: box [mscorlib]System.Int32
+ IL_39c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_39c8: ldc.i4.1
+ IL_39c9: stloc.s V_20
+ IL_39cb: ldloc.s V_21
+ IL_39cd: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_39d2: ldloc.s V_21
+ IL_39d4: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_39d9: beq.s IL_3a00
+
+ IL_39db: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_39e0: ldloc.s V_21
+ IL_39e2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_39e7: box [mscorlib]System.Int64
+ IL_39ec: ldloc.s V_21
+ IL_39ee: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_39f3: box [mscorlib]System.Int64
+ IL_39f8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_39fd: ldc.i4.1
+ IL_39fe: stloc.s V_20
+ IL_3a00: ldsfld int64 IntrinsicTest::temp
+ IL_3a05: ldsfld int64 IntrinsicTest::idmp
+ IL_3a0a: beq.s IL_3a2d
+
+ IL_3a0c: ldstr "temp mismatch {0} {1}"
+ IL_3a11: ldsfld int64 IntrinsicTest::temp
+ IL_3a16: box [mscorlib]System.Int64
+ IL_3a1b: ldsfld int64 IntrinsicTest::idmp
+ IL_3a20: box [mscorlib]System.Int64
+ IL_3a25: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3a2a: ldc.i4.1
+ IL_3a2b: stloc.s V_20
+ IL_3a2d: ldloc.s V_21
+ IL_3a2f: ldsflda int32 IntrinsicTest::counter
+ IL_3a34: ldsfld int32 IntrinsicTest::counter
+ IL_3a39: ldloc.s V_21
+ IL_3a3b: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3a40: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_3a45: stfld int32 IntrinsicTest::instanceCounter
+ IL_3a4a: ldloc.s V_21
+ IL_3a4c: ldsfld int32 IntrinsicTest::id_counter
+ IL_3a51: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_3a56: ldsfld int32 IntrinsicTest::id_counter
+ IL_3a5b: ldloc.s V_21
+ IL_3a5d: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3a62: bne.un.s IL_3a70
+
+ IL_3a64: ldsfld int32 IntrinsicTest::id_counter
+ IL_3a69: stsfld int32 IntrinsicTest::id_counter
+ IL_3a6e: br.s IL_3a7b
+
+ IL_3a70: ldsfld int32 IntrinsicTest::id_counter
+ IL_3a75: conv.i8
+ IL_3a76: stsfld int64 IntrinsicTest::idjunk
+ IL_3a7b: ldstr "------------------------------------CMPXCHG 1 1 3 2"
+ IL_3a80: call void [System.Console]System.Console::WriteLine(string)
+ IL_3a85: ldloc.0
+ IL_3a86: ldloc.s V_10
+ IL_3a88: beq.s IL_3aa4
+
+ IL_3a8a: ldc.i4.1
+ IL_3a8b: stloc.s V_20
+ IL_3a8d: ldstr "te0 check failed {0} {1}"
+ IL_3a92: ldloc.0
+ IL_3a93: box [mscorlib]System.Int32
+ IL_3a98: ldloc.s V_10
+ IL_3a9a: box [mscorlib]System.Int32
+ IL_3a9f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3aa4: ldloc.1
+ IL_3aa5: ldloc.s V_11
+ IL_3aa7: beq.s IL_3ac3
+
+ IL_3aa9: ldc.i4.1
+ IL_3aaa: stloc.s V_20
+ IL_3aac: ldstr "te1 check failed {0} {1}"
+ IL_3ab1: ldloc.1
+ IL_3ab2: box [mscorlib]System.Int32
+ IL_3ab7: ldloc.s V_11
+ IL_3ab9: box [mscorlib]System.Int32
+ IL_3abe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ac3: ldloc.2
+ IL_3ac4: ldloc.s V_12
+ IL_3ac6: beq.s IL_3ae2
+
+ IL_3ac8: ldc.i4.1
+ IL_3ac9: stloc.s V_20
+ IL_3acb: ldstr "te2 check failed {0} {1}"
+ IL_3ad0: ldloc.2
+ IL_3ad1: box [mscorlib]System.Int32
+ IL_3ad6: ldloc.s V_12
+ IL_3ad8: box [mscorlib]System.Int32
+ IL_3add: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ae2: ldloc.3
+ IL_3ae3: ldloc.s V_13
+ IL_3ae5: beq.s IL_3b01
+
+ IL_3ae7: ldc.i4.1
+ IL_3ae8: stloc.s V_20
+ IL_3aea: ldstr "te3 check failed {0} {1}"
+ IL_3aef: ldloc.3
+ IL_3af0: box [mscorlib]System.Int32
+ IL_3af5: ldloc.s V_13
+ IL_3af7: box [mscorlib]System.Int32
+ IL_3afc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b01: ldloc.s V_4
+ IL_3b03: ldloc.s V_14
+ IL_3b05: beq.s IL_3b22
+
+ IL_3b07: ldc.i4.1
+ IL_3b08: stloc.s V_20
+ IL_3b0a: ldstr "te064 check failed {0} {1}"
+ IL_3b0f: ldloc.s V_4
+ IL_3b11: box [mscorlib]System.Int64
+ IL_3b16: ldloc.s V_14
+ IL_3b18: box [mscorlib]System.Int64
+ IL_3b1d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b22: ldloc.s V_5
+ IL_3b24: ldloc.s V_15
+ IL_3b26: beq.s IL_3b43
+
+ IL_3b28: ldc.i4.1
+ IL_3b29: stloc.s V_20
+ IL_3b2b: ldstr "te164 check failed {0} {1}"
+ IL_3b30: ldloc.s V_5
+ IL_3b32: box [mscorlib]System.Int64
+ IL_3b37: ldloc.s V_15
+ IL_3b39: box [mscorlib]System.Int64
+ IL_3b3e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b43: ldloc.s V_6
+ IL_3b45: ldloc.s V_16
+ IL_3b47: beq.s IL_3b64
+
+ IL_3b49: ldc.i4.1
+ IL_3b4a: stloc.s V_20
+ IL_3b4c: ldstr "te264 check failed {0} {1}"
+ IL_3b51: ldloc.s V_6
+ IL_3b53: box [mscorlib]System.Int64
+ IL_3b58: ldloc.s V_16
+ IL_3b5a: box [mscorlib]System.Int64
+ IL_3b5f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b64: ldloc.s V_7
+ IL_3b66: ldloc.s V_17
+ IL_3b68: beq.s IL_3b85
+
+ IL_3b6a: ldc.i4.1
+ IL_3b6b: stloc.s V_20
+ IL_3b6d: ldstr "te364 check failed {0} {1}"
+ IL_3b72: ldloc.s V_7
+ IL_3b74: box [mscorlib]System.Int64
+ IL_3b79: ldloc.s V_17
+ IL_3b7b: box [mscorlib]System.Int64
+ IL_3b80: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3b85: ldloc.s V_8
+ IL_3b87: ldloc.s V_18
+ IL_3b89: beq.s IL_3ba6
+
+ IL_3b8b: ldc.i4.1
+ IL_3b8c: stloc.s V_20
+ IL_3b8e: ldstr "dummy check failed {0} {1}"
+ IL_3b93: ldloc.s V_8
+ IL_3b95: box [mscorlib]System.Int32
+ IL_3b9a: ldloc.s V_18
+ IL_3b9c: box [mscorlib]System.Int32
+ IL_3ba1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ba6: ldloc.s V_9
+ IL_3ba8: ldloc.s V_19
+ IL_3baa: beq.s IL_3bc7
+
+ IL_3bac: ldc.i4.1
+ IL_3bad: stloc.s V_20
+ IL_3baf: ldstr "dummy64 check failed {0} {1}"
+ IL_3bb4: ldloc.s V_9
+ IL_3bb6: box [mscorlib]System.Int64
+ IL_3bbb: ldloc.s V_19
+ IL_3bbd: box [mscorlib]System.Int64
+ IL_3bc2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3bc7: ldsfld int32 IntrinsicTest::counter
+ IL_3bcc: ldsfld int32 IntrinsicTest::id_counter
+ IL_3bd1: beq.s IL_3bf4
+
+ IL_3bd3: ldstr "counter mismatch {0} {1}"
+ IL_3bd8: ldsfld int32 IntrinsicTest::counter
+ IL_3bdd: box [mscorlib]System.Int32
+ IL_3be2: ldsfld int32 IntrinsicTest::id_counter
+ IL_3be7: box [mscorlib]System.Int32
+ IL_3bec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3bf1: ldc.i4.1
+ IL_3bf2: stloc.s V_20
+ IL_3bf4: ldsfld int64 IntrinsicTest::counter64
+ IL_3bf9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3bfe: beq.s IL_3c21
+
+ IL_3c00: ldstr "counter64 mismatch {0} {1}"
+ IL_3c05: ldsfld int64 IntrinsicTest::counter64
+ IL_3c0a: box [mscorlib]System.Int64
+ IL_3c0f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3c14: box [mscorlib]System.Int64
+ IL_3c19: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c1e: ldc.i4.1
+ IL_3c1f: stloc.s V_20
+ IL_3c21: ldloc.s V_21
+ IL_3c23: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3c28: ldloc.s V_21
+ IL_3c2a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3c2f: beq.s IL_3c56
+
+ IL_3c31: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3c36: ldloc.s V_21
+ IL_3c38: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3c3d: box [mscorlib]System.Int32
+ IL_3c42: ldloc.s V_21
+ IL_3c44: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3c49: box [mscorlib]System.Int32
+ IL_3c4e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c53: ldc.i4.1
+ IL_3c54: stloc.s V_20
+ IL_3c56: ldloc.s V_21
+ IL_3c58: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3c5d: ldloc.s V_21
+ IL_3c5f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3c64: beq.s IL_3c8b
+
+ IL_3c66: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3c6b: ldloc.s V_21
+ IL_3c6d: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3c72: box [mscorlib]System.Int64
+ IL_3c77: ldloc.s V_21
+ IL_3c79: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3c7e: box [mscorlib]System.Int64
+ IL_3c83: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3c88: ldc.i4.1
+ IL_3c89: stloc.s V_20
+ IL_3c8b: ldsfld int64 IntrinsicTest::temp
+ IL_3c90: ldsfld int64 IntrinsicTest::idmp
+ IL_3c95: beq.s IL_3cb8
+
+ IL_3c97: ldstr "temp mismatch {0} {1}"
+ IL_3c9c: ldsfld int64 IntrinsicTest::temp
+ IL_3ca1: box [mscorlib]System.Int64
+ IL_3ca6: ldsfld int64 IntrinsicTest::idmp
+ IL_3cab: box [mscorlib]System.Int64
+ IL_3cb0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3cb5: ldc.i4.1
+ IL_3cb6: stloc.s V_20
+ IL_3cb8: ldsflda int32 IntrinsicTest::counter
+ IL_3cbd: ldsfld int32 IntrinsicTest::counter
+ IL_3cc2: ldloc.s V_21
+ IL_3cc4: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3cc9: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_3cce: stloc.0
+ IL_3ccf: ldsfld int32 IntrinsicTest::id_counter
+ IL_3cd4: stloc.s V_10
+ IL_3cd6: ldsfld int32 IntrinsicTest::id_counter
+ IL_3cdb: ldloc.s V_21
+ IL_3cdd: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3ce2: bne.un.s IL_3cf0
+
+ IL_3ce4: ldsfld int32 IntrinsicTest::id_counter
+ IL_3ce9: stsfld int32 IntrinsicTest::id_counter
+ IL_3cee: br.s IL_3cfb
+
+ IL_3cf0: ldsfld int32 IntrinsicTest::id_counter
+ IL_3cf5: conv.i8
+ IL_3cf6: stsfld int64 IntrinsicTest::idjunk
+ IL_3cfb: ldstr "------------------------------------CMPXCHG 1 1 3 3"
+ IL_3d00: call void [System.Console]System.Console::WriteLine(string)
+ IL_3d05: ldloc.0
+ IL_3d06: ldloc.s V_10
+ IL_3d08: beq.s IL_3d24
+
+ IL_3d0a: ldc.i4.1
+ IL_3d0b: stloc.s V_20
+ IL_3d0d: ldstr "te0 check failed {0} {1}"
+ IL_3d12: ldloc.0
+ IL_3d13: box [mscorlib]System.Int32
+ IL_3d18: ldloc.s V_10
+ IL_3d1a: box [mscorlib]System.Int32
+ IL_3d1f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d24: ldloc.1
+ IL_3d25: ldloc.s V_11
+ IL_3d27: beq.s IL_3d43
+
+ IL_3d29: ldc.i4.1
+ IL_3d2a: stloc.s V_20
+ IL_3d2c: ldstr "te1 check failed {0} {1}"
+ IL_3d31: ldloc.1
+ IL_3d32: box [mscorlib]System.Int32
+ IL_3d37: ldloc.s V_11
+ IL_3d39: box [mscorlib]System.Int32
+ IL_3d3e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d43: ldloc.2
+ IL_3d44: ldloc.s V_12
+ IL_3d46: beq.s IL_3d62
+
+ IL_3d48: ldc.i4.1
+ IL_3d49: stloc.s V_20
+ IL_3d4b: ldstr "te2 check failed {0} {1}"
+ IL_3d50: ldloc.2
+ IL_3d51: box [mscorlib]System.Int32
+ IL_3d56: ldloc.s V_12
+ IL_3d58: box [mscorlib]System.Int32
+ IL_3d5d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d62: ldloc.3
+ IL_3d63: ldloc.s V_13
+ IL_3d65: beq.s IL_3d81
+
+ IL_3d67: ldc.i4.1
+ IL_3d68: stloc.s V_20
+ IL_3d6a: ldstr "te3 check failed {0} {1}"
+ IL_3d6f: ldloc.3
+ IL_3d70: box [mscorlib]System.Int32
+ IL_3d75: ldloc.s V_13
+ IL_3d77: box [mscorlib]System.Int32
+ IL_3d7c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3d81: ldloc.s V_4
+ IL_3d83: ldloc.s V_14
+ IL_3d85: beq.s IL_3da2
+
+ IL_3d87: ldc.i4.1
+ IL_3d88: stloc.s V_20
+ IL_3d8a: ldstr "te064 check failed {0} {1}"
+ IL_3d8f: ldloc.s V_4
+ IL_3d91: box [mscorlib]System.Int64
+ IL_3d96: ldloc.s V_14
+ IL_3d98: box [mscorlib]System.Int64
+ IL_3d9d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3da2: ldloc.s V_5
+ IL_3da4: ldloc.s V_15
+ IL_3da6: beq.s IL_3dc3
+
+ IL_3da8: ldc.i4.1
+ IL_3da9: stloc.s V_20
+ IL_3dab: ldstr "te164 check failed {0} {1}"
+ IL_3db0: ldloc.s V_5
+ IL_3db2: box [mscorlib]System.Int64
+ IL_3db7: ldloc.s V_15
+ IL_3db9: box [mscorlib]System.Int64
+ IL_3dbe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3dc3: ldloc.s V_6
+ IL_3dc5: ldloc.s V_16
+ IL_3dc7: beq.s IL_3de4
+
+ IL_3dc9: ldc.i4.1
+ IL_3dca: stloc.s V_20
+ IL_3dcc: ldstr "te264 check failed {0} {1}"
+ IL_3dd1: ldloc.s V_6
+ IL_3dd3: box [mscorlib]System.Int64
+ IL_3dd8: ldloc.s V_16
+ IL_3dda: box [mscorlib]System.Int64
+ IL_3ddf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3de4: ldloc.s V_7
+ IL_3de6: ldloc.s V_17
+ IL_3de8: beq.s IL_3e05
+
+ IL_3dea: ldc.i4.1
+ IL_3deb: stloc.s V_20
+ IL_3ded: ldstr "te364 check failed {0} {1}"
+ IL_3df2: ldloc.s V_7
+ IL_3df4: box [mscorlib]System.Int64
+ IL_3df9: ldloc.s V_17
+ IL_3dfb: box [mscorlib]System.Int64
+ IL_3e00: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e05: ldloc.s V_8
+ IL_3e07: ldloc.s V_18
+ IL_3e09: beq.s IL_3e26
+
+ IL_3e0b: ldc.i4.1
+ IL_3e0c: stloc.s V_20
+ IL_3e0e: ldstr "dummy check failed {0} {1}"
+ IL_3e13: ldloc.s V_8
+ IL_3e15: box [mscorlib]System.Int32
+ IL_3e1a: ldloc.s V_18
+ IL_3e1c: box [mscorlib]System.Int32
+ IL_3e21: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e26: ldloc.s V_9
+ IL_3e28: ldloc.s V_19
+ IL_3e2a: beq.s IL_3e47
+
+ IL_3e2c: ldc.i4.1
+ IL_3e2d: stloc.s V_20
+ IL_3e2f: ldstr "dummy64 check failed {0} {1}"
+ IL_3e34: ldloc.s V_9
+ IL_3e36: box [mscorlib]System.Int64
+ IL_3e3b: ldloc.s V_19
+ IL_3e3d: box [mscorlib]System.Int64
+ IL_3e42: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e47: ldsfld int32 IntrinsicTest::counter
+ IL_3e4c: ldsfld int32 IntrinsicTest::id_counter
+ IL_3e51: beq.s IL_3e74
+
+ IL_3e53: ldstr "counter mismatch {0} {1}"
+ IL_3e58: ldsfld int32 IntrinsicTest::counter
+ IL_3e5d: box [mscorlib]System.Int32
+ IL_3e62: ldsfld int32 IntrinsicTest::id_counter
+ IL_3e67: box [mscorlib]System.Int32
+ IL_3e6c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e71: ldc.i4.1
+ IL_3e72: stloc.s V_20
+ IL_3e74: ldsfld int64 IntrinsicTest::counter64
+ IL_3e79: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3e7e: beq.s IL_3ea1
+
+ IL_3e80: ldstr "counter64 mismatch {0} {1}"
+ IL_3e85: ldsfld int64 IntrinsicTest::counter64
+ IL_3e8a: box [mscorlib]System.Int64
+ IL_3e8f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_3e94: box [mscorlib]System.Int64
+ IL_3e99: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3e9e: ldc.i4.1
+ IL_3e9f: stloc.s V_20
+ IL_3ea1: ldloc.s V_21
+ IL_3ea3: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3ea8: ldloc.s V_21
+ IL_3eaa: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3eaf: beq.s IL_3ed6
+
+ IL_3eb1: ldstr "instanceCounter mismatch {0} {1}"
+ IL_3eb6: ldloc.s V_21
+ IL_3eb8: ldfld int32 IntrinsicTest::instanceCounter
+ IL_3ebd: box [mscorlib]System.Int32
+ IL_3ec2: ldloc.s V_21
+ IL_3ec4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_3ec9: box [mscorlib]System.Int32
+ IL_3ece: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3ed3: ldc.i4.1
+ IL_3ed4: stloc.s V_20
+ IL_3ed6: ldloc.s V_21
+ IL_3ed8: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3edd: ldloc.s V_21
+ IL_3edf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3ee4: beq.s IL_3f0b
+
+ IL_3ee6: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_3eeb: ldloc.s V_21
+ IL_3eed: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_3ef2: box [mscorlib]System.Int64
+ IL_3ef7: ldloc.s V_21
+ IL_3ef9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_3efe: box [mscorlib]System.Int64
+ IL_3f03: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3f08: ldc.i4.1
+ IL_3f09: stloc.s V_20
+ IL_3f0b: ldsfld int64 IntrinsicTest::temp
+ IL_3f10: ldsfld int64 IntrinsicTest::idmp
+ IL_3f15: beq.s IL_3f38
+
+ IL_3f17: ldstr "temp mismatch {0} {1}"
+ IL_3f1c: ldsfld int64 IntrinsicTest::temp
+ IL_3f21: box [mscorlib]System.Int64
+ IL_3f26: ldsfld int64 IntrinsicTest::idmp
+ IL_3f2b: box [mscorlib]System.Int64
+ IL_3f30: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3f35: ldc.i4.1
+ IL_3f36: stloc.s V_20
+ IL_3f38: ldsflda int32 IntrinsicTest::counter
+ IL_3f3d: ldsfld int32 IntrinsicTest::counter
+ IL_3f42: ldloc.s V_21
+ IL_3f44: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_3f49: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_3f4e: stsfld int32 IntrinsicTest::counter
+ IL_3f53: ldsfld int32 IntrinsicTest::id_counter
+ IL_3f58: stsfld int32 IntrinsicTest::id_counter
+ IL_3f5d: ldsfld int32 IntrinsicTest::id_counter
+ IL_3f62: ldloc.s V_21
+ IL_3f64: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_3f69: bne.un.s IL_3f78
+
+ IL_3f6b: ldsfld int32 IntrinsicTest::id_counter
+ IL_3f70: conv.i8
+ IL_3f71: stsfld int64 IntrinsicTest::idjunk
+ IL_3f76: br.s IL_3f83
+
+ IL_3f78: ldsfld int32 IntrinsicTest::id_counter
+ IL_3f7d: conv.i8
+ IL_3f7e: stsfld int64 IntrinsicTest::idjunk
+ IL_3f83: ldstr "------------------------------------CMPXCHG 1 1 3 4"
+ IL_3f88: call void [System.Console]System.Console::WriteLine(string)
+ IL_3f8d: ldloc.0
+ IL_3f8e: ldloc.s V_10
+ IL_3f90: beq.s IL_3fac
+
+ IL_3f92: ldc.i4.1
+ IL_3f93: stloc.s V_20
+ IL_3f95: ldstr "te0 check failed {0} {1}"
+ IL_3f9a: ldloc.0
+ IL_3f9b: box [mscorlib]System.Int32
+ IL_3fa0: ldloc.s V_10
+ IL_3fa2: box [mscorlib]System.Int32
+ IL_3fa7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fac: ldloc.1
+ IL_3fad: ldloc.s V_11
+ IL_3faf: beq.s IL_3fcb
+
+ IL_3fb1: ldc.i4.1
+ IL_3fb2: stloc.s V_20
+ IL_3fb4: ldstr "te1 check failed {0} {1}"
+ IL_3fb9: ldloc.1
+ IL_3fba: box [mscorlib]System.Int32
+ IL_3fbf: ldloc.s V_11
+ IL_3fc1: box [mscorlib]System.Int32
+ IL_3fc6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fcb: ldloc.2
+ IL_3fcc: ldloc.s V_12
+ IL_3fce: beq.s IL_3fea
+
+ IL_3fd0: ldc.i4.1
+ IL_3fd1: stloc.s V_20
+ IL_3fd3: ldstr "te2 check failed {0} {1}"
+ IL_3fd8: ldloc.2
+ IL_3fd9: box [mscorlib]System.Int32
+ IL_3fde: ldloc.s V_12
+ IL_3fe0: box [mscorlib]System.Int32
+ IL_3fe5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_3fea: ldloc.3
+ IL_3feb: ldloc.s V_13
+ IL_3fed: beq.s IL_4009
+
+ IL_3fef: ldc.i4.1
+ IL_3ff0: stloc.s V_20
+ IL_3ff2: ldstr "te3 check failed {0} {1}"
+ IL_3ff7: ldloc.3
+ IL_3ff8: box [mscorlib]System.Int32
+ IL_3ffd: ldloc.s V_13
+ IL_3fff: box [mscorlib]System.Int32
+ IL_4004: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4009: ldloc.s V_4
+ IL_400b: ldloc.s V_14
+ IL_400d: beq.s IL_402a
+
+ IL_400f: ldc.i4.1
+ IL_4010: stloc.s V_20
+ IL_4012: ldstr "te064 check failed {0} {1}"
+ IL_4017: ldloc.s V_4
+ IL_4019: box [mscorlib]System.Int64
+ IL_401e: ldloc.s V_14
+ IL_4020: box [mscorlib]System.Int64
+ IL_4025: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_402a: ldloc.s V_5
+ IL_402c: ldloc.s V_15
+ IL_402e: beq.s IL_404b
+
+ IL_4030: ldc.i4.1
+ IL_4031: stloc.s V_20
+ IL_4033: ldstr "te164 check failed {0} {1}"
+ IL_4038: ldloc.s V_5
+ IL_403a: box [mscorlib]System.Int64
+ IL_403f: ldloc.s V_15
+ IL_4041: box [mscorlib]System.Int64
+ IL_4046: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_404b: ldloc.s V_6
+ IL_404d: ldloc.s V_16
+ IL_404f: beq.s IL_406c
+
+ IL_4051: ldc.i4.1
+ IL_4052: stloc.s V_20
+ IL_4054: ldstr "te264 check failed {0} {1}"
+ IL_4059: ldloc.s V_6
+ IL_405b: box [mscorlib]System.Int64
+ IL_4060: ldloc.s V_16
+ IL_4062: box [mscorlib]System.Int64
+ IL_4067: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_406c: ldloc.s V_7
+ IL_406e: ldloc.s V_17
+ IL_4070: beq.s IL_408d
+
+ IL_4072: ldc.i4.1
+ IL_4073: stloc.s V_20
+ IL_4075: ldstr "te364 check failed {0} {1}"
+ IL_407a: ldloc.s V_7
+ IL_407c: box [mscorlib]System.Int64
+ IL_4081: ldloc.s V_17
+ IL_4083: box [mscorlib]System.Int64
+ IL_4088: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_408d: ldloc.s V_8
+ IL_408f: ldloc.s V_18
+ IL_4091: beq.s IL_40ae
+
+ IL_4093: ldc.i4.1
+ IL_4094: stloc.s V_20
+ IL_4096: ldstr "dummy check failed {0} {1}"
+ IL_409b: ldloc.s V_8
+ IL_409d: box [mscorlib]System.Int32
+ IL_40a2: ldloc.s V_18
+ IL_40a4: box [mscorlib]System.Int32
+ IL_40a9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40ae: ldloc.s V_9
+ IL_40b0: ldloc.s V_19
+ IL_40b2: beq.s IL_40cf
+
+ IL_40b4: ldc.i4.1
+ IL_40b5: stloc.s V_20
+ IL_40b7: ldstr "dummy64 check failed {0} {1}"
+ IL_40bc: ldloc.s V_9
+ IL_40be: box [mscorlib]System.Int64
+ IL_40c3: ldloc.s V_19
+ IL_40c5: box [mscorlib]System.Int64
+ IL_40ca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40cf: ldsfld int32 IntrinsicTest::counter
+ IL_40d4: ldsfld int32 IntrinsicTest::id_counter
+ IL_40d9: beq.s IL_40fc
+
+ IL_40db: ldstr "counter mismatch {0} {1}"
+ IL_40e0: ldsfld int32 IntrinsicTest::counter
+ IL_40e5: box [mscorlib]System.Int32
+ IL_40ea: ldsfld int32 IntrinsicTest::id_counter
+ IL_40ef: box [mscorlib]System.Int32
+ IL_40f4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_40f9: ldc.i4.1
+ IL_40fa: stloc.s V_20
+ IL_40fc: ldsfld int64 IntrinsicTest::counter64
+ IL_4101: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4106: beq.s IL_4129
+
+ IL_4108: ldstr "counter64 mismatch {0} {1}"
+ IL_410d: ldsfld int64 IntrinsicTest::counter64
+ IL_4112: box [mscorlib]System.Int64
+ IL_4117: ldsfld int64 IntrinsicTest::id_counter64
+ IL_411c: box [mscorlib]System.Int64
+ IL_4121: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4126: ldc.i4.1
+ IL_4127: stloc.s V_20
+ IL_4129: ldloc.s V_21
+ IL_412b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4130: ldloc.s V_21
+ IL_4132: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4137: beq.s IL_415e
+
+ IL_4139: ldstr "instanceCounter mismatch {0} {1}"
+ IL_413e: ldloc.s V_21
+ IL_4140: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4145: box [mscorlib]System.Int32
+ IL_414a: ldloc.s V_21
+ IL_414c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4151: box [mscorlib]System.Int32
+ IL_4156: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_415b: ldc.i4.1
+ IL_415c: stloc.s V_20
+ IL_415e: ldloc.s V_21
+ IL_4160: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4165: ldloc.s V_21
+ IL_4167: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_416c: beq.s IL_4193
+
+ IL_416e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_4173: ldloc.s V_21
+ IL_4175: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_417a: box [mscorlib]System.Int64
+ IL_417f: ldloc.s V_21
+ IL_4181: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4186: box [mscorlib]System.Int64
+ IL_418b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4190: ldc.i4.1
+ IL_4191: stloc.s V_20
+ IL_4193: ldsfld int64 IntrinsicTest::temp
+ IL_4198: ldsfld int64 IntrinsicTest::idmp
+ IL_419d: beq.s IL_41c0
+
+ IL_419f: ldstr "temp mismatch {0} {1}"
+ IL_41a4: ldsfld int64 IntrinsicTest::temp
+ IL_41a9: box [mscorlib]System.Int64
+ IL_41ae: ldsfld int64 IntrinsicTest::idmp
+ IL_41b3: box [mscorlib]System.Int64
+ IL_41b8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_41bd: ldc.i4.1
+ IL_41be: stloc.s V_20
+ IL_41c0: ldloc.s V_21
+ IL_41c2: ldsflda int32 IntrinsicTest::counter
+ IL_41c7: ldsfld int32 IntrinsicTest::counter
+ IL_41cc: ldloc.s V_21
+ IL_41ce: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_41d3: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_41d8: stfld int32 IntrinsicTest::instanceCounter
+ IL_41dd: ldloc.s V_21
+ IL_41df: ldsfld int32 IntrinsicTest::id_counter
+ IL_41e4: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_41e9: ldsfld int32 IntrinsicTest::id_counter
+ IL_41ee: ldloc.s V_21
+ IL_41f0: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_41f5: bne.un.s IL_4203
+
+ IL_41f7: ldsfld int32 IntrinsicTest::id_counter
+ IL_41fc: stsfld int32 IntrinsicTest::id_counter
+ IL_4201: br.s IL_420e
+
+ IL_4203: ldsfld int32 IntrinsicTest::id_counter
+ IL_4208: conv.i8
+ IL_4209: stsfld int64 IntrinsicTest::idjunk
+ IL_420e: ldstr "------------------------------------CMPXCHG 1 1 3 5"
+ IL_4213: call void [System.Console]System.Console::WriteLine(string)
+ IL_4218: ldloc.0
+ IL_4219: ldloc.s V_10
+ IL_421b: beq.s IL_4237
+
+ IL_421d: ldc.i4.1
+ IL_421e: stloc.s V_20
+ IL_4220: ldstr "te0 check failed {0} {1}"
+ IL_4225: ldloc.0
+ IL_4226: box [mscorlib]System.Int32
+ IL_422b: ldloc.s V_10
+ IL_422d: box [mscorlib]System.Int32
+ IL_4232: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4237: ldloc.1
+ IL_4238: ldloc.s V_11
+ IL_423a: beq.s IL_4256
+
+ IL_423c: ldc.i4.1
+ IL_423d: stloc.s V_20
+ IL_423f: ldstr "te1 check failed {0} {1}"
+ IL_4244: ldloc.1
+ IL_4245: box [mscorlib]System.Int32
+ IL_424a: ldloc.s V_11
+ IL_424c: box [mscorlib]System.Int32
+ IL_4251: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4256: ldloc.2
+ IL_4257: ldloc.s V_12
+ IL_4259: beq.s IL_4275
+
+ IL_425b: ldc.i4.1
+ IL_425c: stloc.s V_20
+ IL_425e: ldstr "te2 check failed {0} {1}"
+ IL_4263: ldloc.2
+ IL_4264: box [mscorlib]System.Int32
+ IL_4269: ldloc.s V_12
+ IL_426b: box [mscorlib]System.Int32
+ IL_4270: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4275: ldloc.3
+ IL_4276: ldloc.s V_13
+ IL_4278: beq.s IL_4294
+
+ IL_427a: ldc.i4.1
+ IL_427b: stloc.s V_20
+ IL_427d: ldstr "te3 check failed {0} {1}"
+ IL_4282: ldloc.3
+ IL_4283: box [mscorlib]System.Int32
+ IL_4288: ldloc.s V_13
+ IL_428a: box [mscorlib]System.Int32
+ IL_428f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4294: ldloc.s V_4
+ IL_4296: ldloc.s V_14
+ IL_4298: beq.s IL_42b5
+
+ IL_429a: ldc.i4.1
+ IL_429b: stloc.s V_20
+ IL_429d: ldstr "te064 check failed {0} {1}"
+ IL_42a2: ldloc.s V_4
+ IL_42a4: box [mscorlib]System.Int64
+ IL_42a9: ldloc.s V_14
+ IL_42ab: box [mscorlib]System.Int64
+ IL_42b0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42b5: ldloc.s V_5
+ IL_42b7: ldloc.s V_15
+ IL_42b9: beq.s IL_42d6
+
+ IL_42bb: ldc.i4.1
+ IL_42bc: stloc.s V_20
+ IL_42be: ldstr "te164 check failed {0} {1}"
+ IL_42c3: ldloc.s V_5
+ IL_42c5: box [mscorlib]System.Int64
+ IL_42ca: ldloc.s V_15
+ IL_42cc: box [mscorlib]System.Int64
+ IL_42d1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42d6: ldloc.s V_6
+ IL_42d8: ldloc.s V_16
+ IL_42da: beq.s IL_42f7
+
+ IL_42dc: ldc.i4.1
+ IL_42dd: stloc.s V_20
+ IL_42df: ldstr "te264 check failed {0} {1}"
+ IL_42e4: ldloc.s V_6
+ IL_42e6: box [mscorlib]System.Int64
+ IL_42eb: ldloc.s V_16
+ IL_42ed: box [mscorlib]System.Int64
+ IL_42f2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_42f7: ldloc.s V_7
+ IL_42f9: ldloc.s V_17
+ IL_42fb: beq.s IL_4318
+
+ IL_42fd: ldc.i4.1
+ IL_42fe: stloc.s V_20
+ IL_4300: ldstr "te364 check failed {0} {1}"
+ IL_4305: ldloc.s V_7
+ IL_4307: box [mscorlib]System.Int64
+ IL_430c: ldloc.s V_17
+ IL_430e: box [mscorlib]System.Int64
+ IL_4313: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4318: ldloc.s V_8
+ IL_431a: ldloc.s V_18
+ IL_431c: beq.s IL_4339
+
+ IL_431e: ldc.i4.1
+ IL_431f: stloc.s V_20
+ IL_4321: ldstr "dummy check failed {0} {1}"
+ IL_4326: ldloc.s V_8
+ IL_4328: box [mscorlib]System.Int32
+ IL_432d: ldloc.s V_18
+ IL_432f: box [mscorlib]System.Int32
+ IL_4334: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4339: ldloc.s V_9
+ IL_433b: ldloc.s V_19
+ IL_433d: beq.s IL_435a
+
+ IL_433f: ldc.i4.1
+ IL_4340: stloc.s V_20
+ IL_4342: ldstr "dummy64 check failed {0} {1}"
+ IL_4347: ldloc.s V_9
+ IL_4349: box [mscorlib]System.Int64
+ IL_434e: ldloc.s V_19
+ IL_4350: box [mscorlib]System.Int64
+ IL_4355: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_435a: ldsfld int32 IntrinsicTest::counter
+ IL_435f: ldsfld int32 IntrinsicTest::id_counter
+ IL_4364: beq.s IL_4387
+
+ IL_4366: ldstr "counter mismatch {0} {1}"
+ IL_436b: ldsfld int32 IntrinsicTest::counter
+ IL_4370: box [mscorlib]System.Int32
+ IL_4375: ldsfld int32 IntrinsicTest::id_counter
+ IL_437a: box [mscorlib]System.Int32
+ IL_437f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4384: ldc.i4.1
+ IL_4385: stloc.s V_20
+ IL_4387: ldsfld int64 IntrinsicTest::counter64
+ IL_438c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4391: beq.s IL_43b4
+
+ IL_4393: ldstr "counter64 mismatch {0} {1}"
+ IL_4398: ldsfld int64 IntrinsicTest::counter64
+ IL_439d: box [mscorlib]System.Int64
+ IL_43a2: ldsfld int64 IntrinsicTest::id_counter64
+ IL_43a7: box [mscorlib]System.Int64
+ IL_43ac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_43b1: ldc.i4.1
+ IL_43b2: stloc.s V_20
+ IL_43b4: ldloc.s V_21
+ IL_43b6: ldfld int32 IntrinsicTest::instanceCounter
+ IL_43bb: ldloc.s V_21
+ IL_43bd: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_43c2: beq.s IL_43e9
+
+ IL_43c4: ldstr "instanceCounter mismatch {0} {1}"
+ IL_43c9: ldloc.s V_21
+ IL_43cb: ldfld int32 IntrinsicTest::instanceCounter
+ IL_43d0: box [mscorlib]System.Int32
+ IL_43d5: ldloc.s V_21
+ IL_43d7: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_43dc: box [mscorlib]System.Int32
+ IL_43e1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_43e6: ldc.i4.1
+ IL_43e7: stloc.s V_20
+ IL_43e9: ldloc.s V_21
+ IL_43eb: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_43f0: ldloc.s V_21
+ IL_43f2: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_43f7: beq.s IL_441e
+
+ IL_43f9: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_43fe: ldloc.s V_21
+ IL_4400: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4405: box [mscorlib]System.Int64
+ IL_440a: ldloc.s V_21
+ IL_440c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4411: box [mscorlib]System.Int64
+ IL_4416: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_441b: ldc.i4.1
+ IL_441c: stloc.s V_20
+ IL_441e: ldsfld int64 IntrinsicTest::temp
+ IL_4423: ldsfld int64 IntrinsicTest::idmp
+ IL_4428: beq.s IL_444b
+
+ IL_442a: ldstr "temp mismatch {0} {1}"
+ IL_442f: ldsfld int64 IntrinsicTest::temp
+ IL_4434: box [mscorlib]System.Int64
+ IL_4439: ldsfld int64 IntrinsicTest::idmp
+ IL_443e: box [mscorlib]System.Int64
+ IL_4443: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4448: ldc.i4.1
+ IL_4449: stloc.s V_20
+ IL_444b: ldsflda int32 IntrinsicTest::counter
+ IL_4450: ldsfld int32 IntrinsicTest::counter
+ IL_4455: ldloc.s V_21
+ IL_4457: callvirt instance int32 IntrinsicTest::GetValue()
+ IL_445c: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_4461: stloc.3
+ IL_4462: ldsfld int32 IntrinsicTest::id_counter
+ IL_4467: stloc.s V_13
+ IL_4469: ldsfld int32 IntrinsicTest::id_counter
+ IL_446e: ldloc.s V_21
+ IL_4470: callvirt instance int32 IntrinsicTest::id_GetValue()
+ IL_4475: bne.un.s IL_4483
+
+ IL_4477: ldsfld int32 IntrinsicTest::id_counter
+ IL_447c: stsfld int32 IntrinsicTest::id_counter
+ IL_4481: br.s IL_448e
+
+ IL_4483: ldsfld int32 IntrinsicTest::id_counter
+ IL_4488: conv.i8
+ IL_4489: stsfld int64 IntrinsicTest::idjunk
+ IL_448e: ldstr "------------------------------------CMPXCHG 1 1 3 6"
+ IL_4493: call void [System.Console]System.Console::WriteLine(string)
+ IL_4498: ldloc.0
+ IL_4499: ldloc.s V_10
+ IL_449b: beq.s IL_44b7
+
+ IL_449d: ldc.i4.1
+ IL_449e: stloc.s V_20
+ IL_44a0: ldstr "te0 check failed {0} {1}"
+ IL_44a5: ldloc.0
+ IL_44a6: box [mscorlib]System.Int32
+ IL_44ab: ldloc.s V_10
+ IL_44ad: box [mscorlib]System.Int32
+ IL_44b2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44b7: ldloc.1
+ IL_44b8: ldloc.s V_11
+ IL_44ba: beq.s IL_44d6
+
+ IL_44bc: ldc.i4.1
+ IL_44bd: stloc.s V_20
+ IL_44bf: ldstr "te1 check failed {0} {1}"
+ IL_44c4: ldloc.1
+ IL_44c5: box [mscorlib]System.Int32
+ IL_44ca: ldloc.s V_11
+ IL_44cc: box [mscorlib]System.Int32
+ IL_44d1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44d6: ldloc.2
+ IL_44d7: ldloc.s V_12
+ IL_44d9: beq.s IL_44f5
+
+ IL_44db: ldc.i4.1
+ IL_44dc: stloc.s V_20
+ IL_44de: ldstr "te2 check failed {0} {1}"
+ IL_44e3: ldloc.2
+ IL_44e4: box [mscorlib]System.Int32
+ IL_44e9: ldloc.s V_12
+ IL_44eb: box [mscorlib]System.Int32
+ IL_44f0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_44f5: ldloc.3
+ IL_44f6: ldloc.s V_13
+ IL_44f8: beq.s IL_4514
+
+ IL_44fa: ldc.i4.1
+ IL_44fb: stloc.s V_20
+ IL_44fd: ldstr "te3 check failed {0} {1}"
+ IL_4502: ldloc.3
+ IL_4503: box [mscorlib]System.Int32
+ IL_4508: ldloc.s V_13
+ IL_450a: box [mscorlib]System.Int32
+ IL_450f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4514: ldloc.s V_4
+ IL_4516: ldloc.s V_14
+ IL_4518: beq.s IL_4535
+
+ IL_451a: ldc.i4.1
+ IL_451b: stloc.s V_20
+ IL_451d: ldstr "te064 check failed {0} {1}"
+ IL_4522: ldloc.s V_4
+ IL_4524: box [mscorlib]System.Int64
+ IL_4529: ldloc.s V_14
+ IL_452b: box [mscorlib]System.Int64
+ IL_4530: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4535: ldloc.s V_5
+ IL_4537: ldloc.s V_15
+ IL_4539: beq.s IL_4556
+
+ IL_453b: ldc.i4.1
+ IL_453c: stloc.s V_20
+ IL_453e: ldstr "te164 check failed {0} {1}"
+ IL_4543: ldloc.s V_5
+ IL_4545: box [mscorlib]System.Int64
+ IL_454a: ldloc.s V_15
+ IL_454c: box [mscorlib]System.Int64
+ IL_4551: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4556: ldloc.s V_6
+ IL_4558: ldloc.s V_16
+ IL_455a: beq.s IL_4577
+
+ IL_455c: ldc.i4.1
+ IL_455d: stloc.s V_20
+ IL_455f: ldstr "te264 check failed {0} {1}"
+ IL_4564: ldloc.s V_6
+ IL_4566: box [mscorlib]System.Int64
+ IL_456b: ldloc.s V_16
+ IL_456d: box [mscorlib]System.Int64
+ IL_4572: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4577: ldloc.s V_7
+ IL_4579: ldloc.s V_17
+ IL_457b: beq.s IL_4598
+
+ IL_457d: ldc.i4.1
+ IL_457e: stloc.s V_20
+ IL_4580: ldstr "te364 check failed {0} {1}"
+ IL_4585: ldloc.s V_7
+ IL_4587: box [mscorlib]System.Int64
+ IL_458c: ldloc.s V_17
+ IL_458e: box [mscorlib]System.Int64
+ IL_4593: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4598: ldloc.s V_8
+ IL_459a: ldloc.s V_18
+ IL_459c: beq.s IL_45b9
+
+ IL_459e: ldc.i4.1
+ IL_459f: stloc.s V_20
+ IL_45a1: ldstr "dummy check failed {0} {1}"
+ IL_45a6: ldloc.s V_8
+ IL_45a8: box [mscorlib]System.Int32
+ IL_45ad: ldloc.s V_18
+ IL_45af: box [mscorlib]System.Int32
+ IL_45b4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_45b9: ldloc.s V_9
+ IL_45bb: ldloc.s V_19
+ IL_45bd: beq.s IL_45da
+
+ IL_45bf: ldc.i4.1
+ IL_45c0: stloc.s V_20
+ IL_45c2: ldstr "dummy64 check failed {0} {1}"
+ IL_45c7: ldloc.s V_9
+ IL_45c9: box [mscorlib]System.Int64
+ IL_45ce: ldloc.s V_19
+ IL_45d0: box [mscorlib]System.Int64
+ IL_45d5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_45da: ldsfld int32 IntrinsicTest::counter
+ IL_45df: ldsfld int32 IntrinsicTest::id_counter
+ IL_45e4: beq.s IL_4607
+
+ IL_45e6: ldstr "counter mismatch {0} {1}"
+ IL_45eb: ldsfld int32 IntrinsicTest::counter
+ IL_45f0: box [mscorlib]System.Int32
+ IL_45f5: ldsfld int32 IntrinsicTest::id_counter
+ IL_45fa: box [mscorlib]System.Int32
+ IL_45ff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4604: ldc.i4.1
+ IL_4605: stloc.s V_20
+ IL_4607: ldsfld int64 IntrinsicTest::counter64
+ IL_460c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4611: beq.s IL_4634
+
+ IL_4613: ldstr "counter64 mismatch {0} {1}"
+ IL_4618: ldsfld int64 IntrinsicTest::counter64
+ IL_461d: box [mscorlib]System.Int64
+ IL_4622: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4627: box [mscorlib]System.Int64
+ IL_462c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4631: ldc.i4.1
+ IL_4632: stloc.s V_20
+ IL_4634: ldloc.s V_21
+ IL_4636: ldfld int32 IntrinsicTest::instanceCounter
+ IL_463b: ldloc.s V_21
+ IL_463d: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4642: beq.s IL_4669
+
+ IL_4644: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4649: ldloc.s V_21
+ IL_464b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4650: box [mscorlib]System.Int32
+ IL_4655: ldloc.s V_21
+ IL_4657: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_465c: box [mscorlib]System.Int32
+ IL_4661: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4666: ldc.i4.1
+ IL_4667: stloc.s V_20
+ IL_4669: ldloc.s V_21
+ IL_466b: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4670: ldloc.s V_21
+ IL_4672: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4677: beq.s IL_469e
+
+ IL_4679: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_467e: ldloc.s V_21
+ IL_4680: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4685: box [mscorlib]System.Int64
+ IL_468a: ldloc.s V_21
+ IL_468c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4691: box [mscorlib]System.Int64
+ IL_4696: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_469b: ldc.i4.1
+ IL_469c: stloc.s V_20
+ IL_469e: ldsfld int64 IntrinsicTest::temp
+ IL_46a3: ldsfld int64 IntrinsicTest::idmp
+ IL_46a8: beq.s IL_46cb
+
+ IL_46aa: ldstr "temp mismatch {0} {1}"
+ IL_46af: ldsfld int64 IntrinsicTest::temp
+ IL_46b4: box [mscorlib]System.Int64
+ IL_46b9: ldsfld int64 IntrinsicTest::idmp
+ IL_46be: box [mscorlib]System.Int64
+ IL_46c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_46c8: ldc.i4.1
+ IL_46c9: stloc.s V_20
+ IL_46cb: ldsflda int32 IntrinsicTest::counter
+ IL_46d0: ldsfld int32 IntrinsicTest::counter
+ IL_46d5: ldc.i4 0x618
+ IL_46da: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_46df: stloc.0
+ IL_46e0: ldsfld int32 IntrinsicTest::id_counter
+ IL_46e5: stloc.s V_10
+ IL_46e7: ldsfld int32 IntrinsicTest::id_counter
+ IL_46ec: ldc.i4 0x618
+ IL_46f1: bne.un.s IL_46ff
+
+ IL_46f3: ldsfld int32 IntrinsicTest::id_counter
+ IL_46f8: stsfld int32 IntrinsicTest::id_counter
+ IL_46fd: br.s IL_470a
+
+ IL_46ff: ldsfld int32 IntrinsicTest::id_counter
+ IL_4704: conv.i8
+ IL_4705: stsfld int64 IntrinsicTest::idjunk
+ IL_470a: ldstr "------------------------------------CMPXCHG 1 1 4 0"
+ IL_470f: call void [System.Console]System.Console::WriteLine(string)
+ IL_4714: ldloc.0
+ IL_4715: ldloc.s V_10
+ IL_4717: beq.s IL_4733
+
+ IL_4719: ldc.i4.1
+ IL_471a: stloc.s V_20
+ IL_471c: ldstr "te0 check failed {0} {1}"
+ IL_4721: ldloc.0
+ IL_4722: box [mscorlib]System.Int32
+ IL_4727: ldloc.s V_10
+ IL_4729: box [mscorlib]System.Int32
+ IL_472e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4733: ldloc.1
+ IL_4734: ldloc.s V_11
+ IL_4736: beq.s IL_4752
+
+ IL_4738: ldc.i4.1
+ IL_4739: stloc.s V_20
+ IL_473b: ldstr "te1 check failed {0} {1}"
+ IL_4740: ldloc.1
+ IL_4741: box [mscorlib]System.Int32
+ IL_4746: ldloc.s V_11
+ IL_4748: box [mscorlib]System.Int32
+ IL_474d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4752: ldloc.2
+ IL_4753: ldloc.s V_12
+ IL_4755: beq.s IL_4771
+
+ IL_4757: ldc.i4.1
+ IL_4758: stloc.s V_20
+ IL_475a: ldstr "te2 check failed {0} {1}"
+ IL_475f: ldloc.2
+ IL_4760: box [mscorlib]System.Int32
+ IL_4765: ldloc.s V_12
+ IL_4767: box [mscorlib]System.Int32
+ IL_476c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4771: ldloc.3
+ IL_4772: ldloc.s V_13
+ IL_4774: beq.s IL_4790
+
+ IL_4776: ldc.i4.1
+ IL_4777: stloc.s V_20
+ IL_4779: ldstr "te3 check failed {0} {1}"
+ IL_477e: ldloc.3
+ IL_477f: box [mscorlib]System.Int32
+ IL_4784: ldloc.s V_13
+ IL_4786: box [mscorlib]System.Int32
+ IL_478b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4790: ldloc.s V_4
+ IL_4792: ldloc.s V_14
+ IL_4794: beq.s IL_47b1
+
+ IL_4796: ldc.i4.1
+ IL_4797: stloc.s V_20
+ IL_4799: ldstr "te064 check failed {0} {1}"
+ IL_479e: ldloc.s V_4
+ IL_47a0: box [mscorlib]System.Int64
+ IL_47a5: ldloc.s V_14
+ IL_47a7: box [mscorlib]System.Int64
+ IL_47ac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47b1: ldloc.s V_5
+ IL_47b3: ldloc.s V_15
+ IL_47b5: beq.s IL_47d2
+
+ IL_47b7: ldc.i4.1
+ IL_47b8: stloc.s V_20
+ IL_47ba: ldstr "te164 check failed {0} {1}"
+ IL_47bf: ldloc.s V_5
+ IL_47c1: box [mscorlib]System.Int64
+ IL_47c6: ldloc.s V_15
+ IL_47c8: box [mscorlib]System.Int64
+ IL_47cd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47d2: ldloc.s V_6
+ IL_47d4: ldloc.s V_16
+ IL_47d6: beq.s IL_47f3
+
+ IL_47d8: ldc.i4.1
+ IL_47d9: stloc.s V_20
+ IL_47db: ldstr "te264 check failed {0} {1}"
+ IL_47e0: ldloc.s V_6
+ IL_47e2: box [mscorlib]System.Int64
+ IL_47e7: ldloc.s V_16
+ IL_47e9: box [mscorlib]System.Int64
+ IL_47ee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_47f3: ldloc.s V_7
+ IL_47f5: ldloc.s V_17
+ IL_47f7: beq.s IL_4814
+
+ IL_47f9: ldc.i4.1
+ IL_47fa: stloc.s V_20
+ IL_47fc: ldstr "te364 check failed {0} {1}"
+ IL_4801: ldloc.s V_7
+ IL_4803: box [mscorlib]System.Int64
+ IL_4808: ldloc.s V_17
+ IL_480a: box [mscorlib]System.Int64
+ IL_480f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4814: ldloc.s V_8
+ IL_4816: ldloc.s V_18
+ IL_4818: beq.s IL_4835
+
+ IL_481a: ldc.i4.1
+ IL_481b: stloc.s V_20
+ IL_481d: ldstr "dummy check failed {0} {1}"
+ IL_4822: ldloc.s V_8
+ IL_4824: box [mscorlib]System.Int32
+ IL_4829: ldloc.s V_18
+ IL_482b: box [mscorlib]System.Int32
+ IL_4830: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4835: ldloc.s V_9
+ IL_4837: ldloc.s V_19
+ IL_4839: beq.s IL_4856
+
+ IL_483b: ldc.i4.1
+ IL_483c: stloc.s V_20
+ IL_483e: ldstr "dummy64 check failed {0} {1}"
+ IL_4843: ldloc.s V_9
+ IL_4845: box [mscorlib]System.Int64
+ IL_484a: ldloc.s V_19
+ IL_484c: box [mscorlib]System.Int64
+ IL_4851: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4856: ldsfld int32 IntrinsicTest::counter
+ IL_485b: ldsfld int32 IntrinsicTest::id_counter
+ IL_4860: beq.s IL_4883
+
+ IL_4862: ldstr "counter mismatch {0} {1}"
+ IL_4867: ldsfld int32 IntrinsicTest::counter
+ IL_486c: box [mscorlib]System.Int32
+ IL_4871: ldsfld int32 IntrinsicTest::id_counter
+ IL_4876: box [mscorlib]System.Int32
+ IL_487b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4880: ldc.i4.1
+ IL_4881: stloc.s V_20
+ IL_4883: ldsfld int64 IntrinsicTest::counter64
+ IL_4888: ldsfld int64 IntrinsicTest::id_counter64
+ IL_488d: beq.s IL_48b0
+
+ IL_488f: ldstr "counter64 mismatch {0} {1}"
+ IL_4894: ldsfld int64 IntrinsicTest::counter64
+ IL_4899: box [mscorlib]System.Int64
+ IL_489e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_48a3: box [mscorlib]System.Int64
+ IL_48a8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_48ad: ldc.i4.1
+ IL_48ae: stloc.s V_20
+ IL_48b0: ldloc.s V_21
+ IL_48b2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_48b7: ldloc.s V_21
+ IL_48b9: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_48be: beq.s IL_48e5
+
+ IL_48c0: ldstr "instanceCounter mismatch {0} {1}"
+ IL_48c5: ldloc.s V_21
+ IL_48c7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_48cc: box [mscorlib]System.Int32
+ IL_48d1: ldloc.s V_21
+ IL_48d3: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_48d8: box [mscorlib]System.Int32
+ IL_48dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_48e2: ldc.i4.1
+ IL_48e3: stloc.s V_20
+ IL_48e5: ldloc.s V_21
+ IL_48e7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_48ec: ldloc.s V_21
+ IL_48ee: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_48f3: beq.s IL_491a
+
+ IL_48f5: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_48fa: ldloc.s V_21
+ IL_48fc: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4901: box [mscorlib]System.Int64
+ IL_4906: ldloc.s V_21
+ IL_4908: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_490d: box [mscorlib]System.Int64
+ IL_4912: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4917: ldc.i4.1
+ IL_4918: stloc.s V_20
+ IL_491a: ldsfld int64 IntrinsicTest::temp
+ IL_491f: ldsfld int64 IntrinsicTest::idmp
+ IL_4924: beq.s IL_4947
+
+ IL_4926: ldstr "temp mismatch {0} {1}"
+ IL_492b: ldsfld int64 IntrinsicTest::temp
+ IL_4930: box [mscorlib]System.Int64
+ IL_4935: ldsfld int64 IntrinsicTest::idmp
+ IL_493a: box [mscorlib]System.Int64
+ IL_493f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4944: ldc.i4.1
+ IL_4945: stloc.s V_20
+ IL_4947: ldsflda int32 IntrinsicTest::counter
+ IL_494c: ldsfld int32 IntrinsicTest::counter
+ IL_4951: ldc.i4 0x618
+ IL_4956: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_495b: stsfld int32 IntrinsicTest::counter
+ IL_4960: ldsfld int32 IntrinsicTest::id_counter
+ IL_4965: stsfld int32 IntrinsicTest::id_counter
+ IL_496a: ldsfld int32 IntrinsicTest::id_counter
+ IL_496f: ldc.i4 0x618
+ IL_4974: bne.un.s IL_4983
+
+ IL_4976: ldsfld int32 IntrinsicTest::id_counter
+ IL_497b: conv.i8
+ IL_497c: stsfld int64 IntrinsicTest::idjunk
+ IL_4981: br.s IL_498e
+
+ IL_4983: ldsfld int32 IntrinsicTest::id_counter
+ IL_4988: conv.i8
+ IL_4989: stsfld int64 IntrinsicTest::idjunk
+ IL_498e: ldstr "------------------------------------CMPXCHG 1 1 4 1"
+ IL_4993: call void [System.Console]System.Console::WriteLine(string)
+ IL_4998: ldloc.0
+ IL_4999: ldloc.s V_10
+ IL_499b: beq.s IL_49b7
+
+ IL_499d: ldc.i4.1
+ IL_499e: stloc.s V_20
+ IL_49a0: ldstr "te0 check failed {0} {1}"
+ IL_49a5: ldloc.0
+ IL_49a6: box [mscorlib]System.Int32
+ IL_49ab: ldloc.s V_10
+ IL_49ad: box [mscorlib]System.Int32
+ IL_49b2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49b7: ldloc.1
+ IL_49b8: ldloc.s V_11
+ IL_49ba: beq.s IL_49d6
+
+ IL_49bc: ldc.i4.1
+ IL_49bd: stloc.s V_20
+ IL_49bf: ldstr "te1 check failed {0} {1}"
+ IL_49c4: ldloc.1
+ IL_49c5: box [mscorlib]System.Int32
+ IL_49ca: ldloc.s V_11
+ IL_49cc: box [mscorlib]System.Int32
+ IL_49d1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49d6: ldloc.2
+ IL_49d7: ldloc.s V_12
+ IL_49d9: beq.s IL_49f5
+
+ IL_49db: ldc.i4.1
+ IL_49dc: stloc.s V_20
+ IL_49de: ldstr "te2 check failed {0} {1}"
+ IL_49e3: ldloc.2
+ IL_49e4: box [mscorlib]System.Int32
+ IL_49e9: ldloc.s V_12
+ IL_49eb: box [mscorlib]System.Int32
+ IL_49f0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_49f5: ldloc.3
+ IL_49f6: ldloc.s V_13
+ IL_49f8: beq.s IL_4a14
+
+ IL_49fa: ldc.i4.1
+ IL_49fb: stloc.s V_20
+ IL_49fd: ldstr "te3 check failed {0} {1}"
+ IL_4a02: ldloc.3
+ IL_4a03: box [mscorlib]System.Int32
+ IL_4a08: ldloc.s V_13
+ IL_4a0a: box [mscorlib]System.Int32
+ IL_4a0f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a14: ldloc.s V_4
+ IL_4a16: ldloc.s V_14
+ IL_4a18: beq.s IL_4a35
+
+ IL_4a1a: ldc.i4.1
+ IL_4a1b: stloc.s V_20
+ IL_4a1d: ldstr "te064 check failed {0} {1}"
+ IL_4a22: ldloc.s V_4
+ IL_4a24: box [mscorlib]System.Int64
+ IL_4a29: ldloc.s V_14
+ IL_4a2b: box [mscorlib]System.Int64
+ IL_4a30: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a35: ldloc.s V_5
+ IL_4a37: ldloc.s V_15
+ IL_4a39: beq.s IL_4a56
+
+ IL_4a3b: ldc.i4.1
+ IL_4a3c: stloc.s V_20
+ IL_4a3e: ldstr "te164 check failed {0} {1}"
+ IL_4a43: ldloc.s V_5
+ IL_4a45: box [mscorlib]System.Int64
+ IL_4a4a: ldloc.s V_15
+ IL_4a4c: box [mscorlib]System.Int64
+ IL_4a51: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a56: ldloc.s V_6
+ IL_4a58: ldloc.s V_16
+ IL_4a5a: beq.s IL_4a77
+
+ IL_4a5c: ldc.i4.1
+ IL_4a5d: stloc.s V_20
+ IL_4a5f: ldstr "te264 check failed {0} {1}"
+ IL_4a64: ldloc.s V_6
+ IL_4a66: box [mscorlib]System.Int64
+ IL_4a6b: ldloc.s V_16
+ IL_4a6d: box [mscorlib]System.Int64
+ IL_4a72: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a77: ldloc.s V_7
+ IL_4a79: ldloc.s V_17
+ IL_4a7b: beq.s IL_4a98
+
+ IL_4a7d: ldc.i4.1
+ IL_4a7e: stloc.s V_20
+ IL_4a80: ldstr "te364 check failed {0} {1}"
+ IL_4a85: ldloc.s V_7
+ IL_4a87: box [mscorlib]System.Int64
+ IL_4a8c: ldloc.s V_17
+ IL_4a8e: box [mscorlib]System.Int64
+ IL_4a93: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4a98: ldloc.s V_8
+ IL_4a9a: ldloc.s V_18
+ IL_4a9c: beq.s IL_4ab9
+
+ IL_4a9e: ldc.i4.1
+ IL_4a9f: stloc.s V_20
+ IL_4aa1: ldstr "dummy check failed {0} {1}"
+ IL_4aa6: ldloc.s V_8
+ IL_4aa8: box [mscorlib]System.Int32
+ IL_4aad: ldloc.s V_18
+ IL_4aaf: box [mscorlib]System.Int32
+ IL_4ab4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ab9: ldloc.s V_9
+ IL_4abb: ldloc.s V_19
+ IL_4abd: beq.s IL_4ada
+
+ IL_4abf: ldc.i4.1
+ IL_4ac0: stloc.s V_20
+ IL_4ac2: ldstr "dummy64 check failed {0} {1}"
+ IL_4ac7: ldloc.s V_9
+ IL_4ac9: box [mscorlib]System.Int64
+ IL_4ace: ldloc.s V_19
+ IL_4ad0: box [mscorlib]System.Int64
+ IL_4ad5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ada: ldsfld int32 IntrinsicTest::counter
+ IL_4adf: ldsfld int32 IntrinsicTest::id_counter
+ IL_4ae4: beq.s IL_4b07
+
+ IL_4ae6: ldstr "counter mismatch {0} {1}"
+ IL_4aeb: ldsfld int32 IntrinsicTest::counter
+ IL_4af0: box [mscorlib]System.Int32
+ IL_4af5: ldsfld int32 IntrinsicTest::id_counter
+ IL_4afa: box [mscorlib]System.Int32
+ IL_4aff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b04: ldc.i4.1
+ IL_4b05: stloc.s V_20
+ IL_4b07: ldsfld int64 IntrinsicTest::counter64
+ IL_4b0c: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4b11: beq.s IL_4b34
+
+ IL_4b13: ldstr "counter64 mismatch {0} {1}"
+ IL_4b18: ldsfld int64 IntrinsicTest::counter64
+ IL_4b1d: box [mscorlib]System.Int64
+ IL_4b22: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4b27: box [mscorlib]System.Int64
+ IL_4b2c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b31: ldc.i4.1
+ IL_4b32: stloc.s V_20
+ IL_4b34: ldloc.s V_21
+ IL_4b36: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4b3b: ldloc.s V_21
+ IL_4b3d: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4b42: beq.s IL_4b69
+
+ IL_4b44: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4b49: ldloc.s V_21
+ IL_4b4b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4b50: box [mscorlib]System.Int32
+ IL_4b55: ldloc.s V_21
+ IL_4b57: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4b5c: box [mscorlib]System.Int32
+ IL_4b61: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b66: ldc.i4.1
+ IL_4b67: stloc.s V_20
+ IL_4b69: ldloc.s V_21
+ IL_4b6b: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4b70: ldloc.s V_21
+ IL_4b72: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4b77: beq.s IL_4b9e
+
+ IL_4b79: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_4b7e: ldloc.s V_21
+ IL_4b80: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4b85: box [mscorlib]System.Int64
+ IL_4b8a: ldloc.s V_21
+ IL_4b8c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4b91: box [mscorlib]System.Int64
+ IL_4b96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4b9b: ldc.i4.1
+ IL_4b9c: stloc.s V_20
+ IL_4b9e: ldsfld int64 IntrinsicTest::temp
+ IL_4ba3: ldsfld int64 IntrinsicTest::idmp
+ IL_4ba8: beq.s IL_4bcb
+
+ IL_4baa: ldstr "temp mismatch {0} {1}"
+ IL_4baf: ldsfld int64 IntrinsicTest::temp
+ IL_4bb4: box [mscorlib]System.Int64
+ IL_4bb9: ldsfld int64 IntrinsicTest::idmp
+ IL_4bbe: box [mscorlib]System.Int64
+ IL_4bc3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4bc8: ldc.i4.1
+ IL_4bc9: stloc.s V_20
+ IL_4bcb: ldloc.s V_21
+ IL_4bcd: ldsflda int32 IntrinsicTest::counter
+ IL_4bd2: ldsfld int32 IntrinsicTest::counter
+ IL_4bd7: ldc.i4 0x618
+ IL_4bdc: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_4be1: stfld int32 IntrinsicTest::instanceCounter
+ IL_4be6: ldloc.s V_21
+ IL_4be8: ldsfld int32 IntrinsicTest::id_counter
+ IL_4bed: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_4bf2: ldsfld int32 IntrinsicTest::id_counter
+ IL_4bf7: ldc.i4 0x618
+ IL_4bfc: bne.un.s IL_4c0a
+
+ IL_4bfe: ldsfld int32 IntrinsicTest::id_counter
+ IL_4c03: stsfld int32 IntrinsicTest::id_counter
+ IL_4c08: br.s IL_4c15
+
+ IL_4c0a: ldsfld int32 IntrinsicTest::id_counter
+ IL_4c0f: conv.i8
+ IL_4c10: stsfld int64 IntrinsicTest::idjunk
+ IL_4c15: ldstr "------------------------------------CMPXCHG 1 1 4 2"
+ IL_4c1a: call void [System.Console]System.Console::WriteLine(string)
+ IL_4c1f: ldloc.0
+ IL_4c20: ldloc.s V_10
+ IL_4c22: beq.s IL_4c3e
+
+ IL_4c24: ldc.i4.1
+ IL_4c25: stloc.s V_20
+ IL_4c27: ldstr "te0 check failed {0} {1}"
+ IL_4c2c: ldloc.0
+ IL_4c2d: box [mscorlib]System.Int32
+ IL_4c32: ldloc.s V_10
+ IL_4c34: box [mscorlib]System.Int32
+ IL_4c39: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c3e: ldloc.1
+ IL_4c3f: ldloc.s V_11
+ IL_4c41: beq.s IL_4c5d
+
+ IL_4c43: ldc.i4.1
+ IL_4c44: stloc.s V_20
+ IL_4c46: ldstr "te1 check failed {0} {1}"
+ IL_4c4b: ldloc.1
+ IL_4c4c: box [mscorlib]System.Int32
+ IL_4c51: ldloc.s V_11
+ IL_4c53: box [mscorlib]System.Int32
+ IL_4c58: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c5d: ldloc.2
+ IL_4c5e: ldloc.s V_12
+ IL_4c60: beq.s IL_4c7c
+
+ IL_4c62: ldc.i4.1
+ IL_4c63: stloc.s V_20
+ IL_4c65: ldstr "te2 check failed {0} {1}"
+ IL_4c6a: ldloc.2
+ IL_4c6b: box [mscorlib]System.Int32
+ IL_4c70: ldloc.s V_12
+ IL_4c72: box [mscorlib]System.Int32
+ IL_4c77: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c7c: ldloc.3
+ IL_4c7d: ldloc.s V_13
+ IL_4c7f: beq.s IL_4c9b
+
+ IL_4c81: ldc.i4.1
+ IL_4c82: stloc.s V_20
+ IL_4c84: ldstr "te3 check failed {0} {1}"
+ IL_4c89: ldloc.3
+ IL_4c8a: box [mscorlib]System.Int32
+ IL_4c8f: ldloc.s V_13
+ IL_4c91: box [mscorlib]System.Int32
+ IL_4c96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4c9b: ldloc.s V_4
+ IL_4c9d: ldloc.s V_14
+ IL_4c9f: beq.s IL_4cbc
+
+ IL_4ca1: ldc.i4.1
+ IL_4ca2: stloc.s V_20
+ IL_4ca4: ldstr "te064 check failed {0} {1}"
+ IL_4ca9: ldloc.s V_4
+ IL_4cab: box [mscorlib]System.Int64
+ IL_4cb0: ldloc.s V_14
+ IL_4cb2: box [mscorlib]System.Int64
+ IL_4cb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cbc: ldloc.s V_5
+ IL_4cbe: ldloc.s V_15
+ IL_4cc0: beq.s IL_4cdd
+
+ IL_4cc2: ldc.i4.1
+ IL_4cc3: stloc.s V_20
+ IL_4cc5: ldstr "te164 check failed {0} {1}"
+ IL_4cca: ldloc.s V_5
+ IL_4ccc: box [mscorlib]System.Int64
+ IL_4cd1: ldloc.s V_15
+ IL_4cd3: box [mscorlib]System.Int64
+ IL_4cd8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cdd: ldloc.s V_6
+ IL_4cdf: ldloc.s V_16
+ IL_4ce1: beq.s IL_4cfe
+
+ IL_4ce3: ldc.i4.1
+ IL_4ce4: stloc.s V_20
+ IL_4ce6: ldstr "te264 check failed {0} {1}"
+ IL_4ceb: ldloc.s V_6
+ IL_4ced: box [mscorlib]System.Int64
+ IL_4cf2: ldloc.s V_16
+ IL_4cf4: box [mscorlib]System.Int64
+ IL_4cf9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4cfe: ldloc.s V_7
+ IL_4d00: ldloc.s V_17
+ IL_4d02: beq.s IL_4d1f
+
+ IL_4d04: ldc.i4.1
+ IL_4d05: stloc.s V_20
+ IL_4d07: ldstr "te364 check failed {0} {1}"
+ IL_4d0c: ldloc.s V_7
+ IL_4d0e: box [mscorlib]System.Int64
+ IL_4d13: ldloc.s V_17
+ IL_4d15: box [mscorlib]System.Int64
+ IL_4d1a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d1f: ldloc.s V_8
+ IL_4d21: ldloc.s V_18
+ IL_4d23: beq.s IL_4d40
+
+ IL_4d25: ldc.i4.1
+ IL_4d26: stloc.s V_20
+ IL_4d28: ldstr "dummy check failed {0} {1}"
+ IL_4d2d: ldloc.s V_8
+ IL_4d2f: box [mscorlib]System.Int32
+ IL_4d34: ldloc.s V_18
+ IL_4d36: box [mscorlib]System.Int32
+ IL_4d3b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d40: ldloc.s V_9
+ IL_4d42: ldloc.s V_19
+ IL_4d44: beq.s IL_4d61
+
+ IL_4d46: ldc.i4.1
+ IL_4d47: stloc.s V_20
+ IL_4d49: ldstr "dummy64 check failed {0} {1}"
+ IL_4d4e: ldloc.s V_9
+ IL_4d50: box [mscorlib]System.Int64
+ IL_4d55: ldloc.s V_19
+ IL_4d57: box [mscorlib]System.Int64
+ IL_4d5c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d61: ldsfld int32 IntrinsicTest::counter
+ IL_4d66: ldsfld int32 IntrinsicTest::id_counter
+ IL_4d6b: beq.s IL_4d8e
+
+ IL_4d6d: ldstr "counter mismatch {0} {1}"
+ IL_4d72: ldsfld int32 IntrinsicTest::counter
+ IL_4d77: box [mscorlib]System.Int32
+ IL_4d7c: ldsfld int32 IntrinsicTest::id_counter
+ IL_4d81: box [mscorlib]System.Int32
+ IL_4d86: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4d8b: ldc.i4.1
+ IL_4d8c: stloc.s V_20
+ IL_4d8e: ldsfld int64 IntrinsicTest::counter64
+ IL_4d93: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4d98: beq.s IL_4dbb
+
+ IL_4d9a: ldstr "counter64 mismatch {0} {1}"
+ IL_4d9f: ldsfld int64 IntrinsicTest::counter64
+ IL_4da4: box [mscorlib]System.Int64
+ IL_4da9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_4dae: box [mscorlib]System.Int64
+ IL_4db3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4db8: ldc.i4.1
+ IL_4db9: stloc.s V_20
+ IL_4dbb: ldloc.s V_21
+ IL_4dbd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4dc2: ldloc.s V_21
+ IL_4dc4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4dc9: beq.s IL_4df0
+
+ IL_4dcb: ldstr "instanceCounter mismatch {0} {1}"
+ IL_4dd0: ldloc.s V_21
+ IL_4dd2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_4dd7: box [mscorlib]System.Int32
+ IL_4ddc: ldloc.s V_21
+ IL_4dde: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_4de3: box [mscorlib]System.Int32
+ IL_4de8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ded: ldc.i4.1
+ IL_4dee: stloc.s V_20
+ IL_4df0: ldloc.s V_21
+ IL_4df2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4df7: ldloc.s V_21
+ IL_4df9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4dfe: beq.s IL_4e25
+
+ IL_4e00: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_4e05: ldloc.s V_21
+ IL_4e07: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_4e0c: box [mscorlib]System.Int64
+ IL_4e11: ldloc.s V_21
+ IL_4e13: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_4e18: box [mscorlib]System.Int64
+ IL_4e1d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4e22: ldc.i4.1
+ IL_4e23: stloc.s V_20
+ IL_4e25: ldsfld int64 IntrinsicTest::temp
+ IL_4e2a: ldsfld int64 IntrinsicTest::idmp
+ IL_4e2f: beq.s IL_4e52
+
+ IL_4e31: ldstr "temp mismatch {0} {1}"
+ IL_4e36: ldsfld int64 IntrinsicTest::temp
+ IL_4e3b: box [mscorlib]System.Int64
+ IL_4e40: ldsfld int64 IntrinsicTest::idmp
+ IL_4e45: box [mscorlib]System.Int64
+ IL_4e4a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4e4f: ldc.i4.1
+ IL_4e50: stloc.s V_20
+ IL_4e52: ldsflda int32 IntrinsicTest::counter
+ IL_4e57: ldsfld int32 IntrinsicTest::counter
+ IL_4e5c: ldc.i4 0x618
+ IL_4e61: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_4e66: stloc.0
+ IL_4e67: ldsfld int32 IntrinsicTest::id_counter
+ IL_4e6c: stloc.s V_10
+ IL_4e6e: ldsfld int32 IntrinsicTest::id_counter
+ IL_4e73: ldc.i4 0x618
+ IL_4e78: bne.un.s IL_4e86
+
+ IL_4e7a: ldsfld int32 IntrinsicTest::id_counter
+ IL_4e7f: stsfld int32 IntrinsicTest::id_counter
+ IL_4e84: br.s IL_4e91
+
+ IL_4e86: ldsfld int32 IntrinsicTest::id_counter
+ IL_4e8b: conv.i8
+ IL_4e8c: stsfld int64 IntrinsicTest::idjunk
+ IL_4e91: ldstr "------------------------------------CMPXCHG 1 1 4 3"
+ IL_4e96: call void [System.Console]System.Console::WriteLine(string)
+ IL_4e9b: ldloc.0
+ IL_4e9c: ldloc.s V_10
+ IL_4e9e: beq.s IL_4eba
+
+ IL_4ea0: ldc.i4.1
+ IL_4ea1: stloc.s V_20
+ IL_4ea3: ldstr "te0 check failed {0} {1}"
+ IL_4ea8: ldloc.0
+ IL_4ea9: box [mscorlib]System.Int32
+ IL_4eae: ldloc.s V_10
+ IL_4eb0: box [mscorlib]System.Int32
+ IL_4eb5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4eba: ldloc.1
+ IL_4ebb: ldloc.s V_11
+ IL_4ebd: beq.s IL_4ed9
+
+ IL_4ebf: ldc.i4.1
+ IL_4ec0: stloc.s V_20
+ IL_4ec2: ldstr "te1 check failed {0} {1}"
+ IL_4ec7: ldloc.1
+ IL_4ec8: box [mscorlib]System.Int32
+ IL_4ecd: ldloc.s V_11
+ IL_4ecf: box [mscorlib]System.Int32
+ IL_4ed4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ed9: ldloc.2
+ IL_4eda: ldloc.s V_12
+ IL_4edc: beq.s IL_4ef8
+
+ IL_4ede: ldc.i4.1
+ IL_4edf: stloc.s V_20
+ IL_4ee1: ldstr "te2 check failed {0} {1}"
+ IL_4ee6: ldloc.2
+ IL_4ee7: box [mscorlib]System.Int32
+ IL_4eec: ldloc.s V_12
+ IL_4eee: box [mscorlib]System.Int32
+ IL_4ef3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4ef8: ldloc.3
+ IL_4ef9: ldloc.s V_13
+ IL_4efb: beq.s IL_4f17
+
+ IL_4efd: ldc.i4.1
+ IL_4efe: stloc.s V_20
+ IL_4f00: ldstr "te3 check failed {0} {1}"
+ IL_4f05: ldloc.3
+ IL_4f06: box [mscorlib]System.Int32
+ IL_4f0b: ldloc.s V_13
+ IL_4f0d: box [mscorlib]System.Int32
+ IL_4f12: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f17: ldloc.s V_4
+ IL_4f19: ldloc.s V_14
+ IL_4f1b: beq.s IL_4f38
+
+ IL_4f1d: ldc.i4.1
+ IL_4f1e: stloc.s V_20
+ IL_4f20: ldstr "te064 check failed {0} {1}"
+ IL_4f25: ldloc.s V_4
+ IL_4f27: box [mscorlib]System.Int64
+ IL_4f2c: ldloc.s V_14
+ IL_4f2e: box [mscorlib]System.Int64
+ IL_4f33: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f38: ldloc.s V_5
+ IL_4f3a: ldloc.s V_15
+ IL_4f3c: beq.s IL_4f59
+
+ IL_4f3e: ldc.i4.1
+ IL_4f3f: stloc.s V_20
+ IL_4f41: ldstr "te164 check failed {0} {1}"
+ IL_4f46: ldloc.s V_5
+ IL_4f48: box [mscorlib]System.Int64
+ IL_4f4d: ldloc.s V_15
+ IL_4f4f: box [mscorlib]System.Int64
+ IL_4f54: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f59: ldloc.s V_6
+ IL_4f5b: ldloc.s V_16
+ IL_4f5d: beq.s IL_4f7a
+
+ IL_4f5f: ldc.i4.1
+ IL_4f60: stloc.s V_20
+ IL_4f62: ldstr "te264 check failed {0} {1}"
+ IL_4f67: ldloc.s V_6
+ IL_4f69: box [mscorlib]System.Int64
+ IL_4f6e: ldloc.s V_16
+ IL_4f70: box [mscorlib]System.Int64
+ IL_4f75: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f7a: ldloc.s V_7
+ IL_4f7c: ldloc.s V_17
+ IL_4f7e: beq.s IL_4f9b
+
+ IL_4f80: ldc.i4.1
+ IL_4f81: stloc.s V_20
+ IL_4f83: ldstr "te364 check failed {0} {1}"
+ IL_4f88: ldloc.s V_7
+ IL_4f8a: box [mscorlib]System.Int64
+ IL_4f8f: ldloc.s V_17
+ IL_4f91: box [mscorlib]System.Int64
+ IL_4f96: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4f9b: ldloc.s V_8
+ IL_4f9d: ldloc.s V_18
+ IL_4f9f: beq.s IL_4fbc
+
+ IL_4fa1: ldc.i4.1
+ IL_4fa2: stloc.s V_20
+ IL_4fa4: ldstr "dummy check failed {0} {1}"
+ IL_4fa9: ldloc.s V_8
+ IL_4fab: box [mscorlib]System.Int32
+ IL_4fb0: ldloc.s V_18
+ IL_4fb2: box [mscorlib]System.Int32
+ IL_4fb7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4fbc: ldloc.s V_9
+ IL_4fbe: ldloc.s V_19
+ IL_4fc0: beq.s IL_4fdd
+
+ IL_4fc2: ldc.i4.1
+ IL_4fc3: stloc.s V_20
+ IL_4fc5: ldstr "dummy64 check failed {0} {1}"
+ IL_4fca: ldloc.s V_9
+ IL_4fcc: box [mscorlib]System.Int64
+ IL_4fd1: ldloc.s V_19
+ IL_4fd3: box [mscorlib]System.Int64
+ IL_4fd8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_4fdd: ldsfld int32 IntrinsicTest::counter
+ IL_4fe2: ldsfld int32 IntrinsicTest::id_counter
+ IL_4fe7: beq.s IL_500a
+
+ IL_4fe9: ldstr "counter mismatch {0} {1}"
+ IL_4fee: ldsfld int32 IntrinsicTest::counter
+ IL_4ff3: box [mscorlib]System.Int32
+ IL_4ff8: ldsfld int32 IntrinsicTest::id_counter
+ IL_4ffd: box [mscorlib]System.Int32
+ IL_5002: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5007: ldc.i4.1
+ IL_5008: stloc.s V_20
+ IL_500a: ldsfld int64 IntrinsicTest::counter64
+ IL_500f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5014: beq.s IL_5037
+
+ IL_5016: ldstr "counter64 mismatch {0} {1}"
+ IL_501b: ldsfld int64 IntrinsicTest::counter64
+ IL_5020: box [mscorlib]System.Int64
+ IL_5025: ldsfld int64 IntrinsicTest::id_counter64
+ IL_502a: box [mscorlib]System.Int64
+ IL_502f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5034: ldc.i4.1
+ IL_5035: stloc.s V_20
+ IL_5037: ldloc.s V_21
+ IL_5039: ldfld int32 IntrinsicTest::instanceCounter
+ IL_503e: ldloc.s V_21
+ IL_5040: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5045: beq.s IL_506c
+
+ IL_5047: ldstr "instanceCounter mismatch {0} {1}"
+ IL_504c: ldloc.s V_21
+ IL_504e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5053: box [mscorlib]System.Int32
+ IL_5058: ldloc.s V_21
+ IL_505a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_505f: box [mscorlib]System.Int32
+ IL_5064: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5069: ldc.i4.1
+ IL_506a: stloc.s V_20
+ IL_506c: ldloc.s V_21
+ IL_506e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5073: ldloc.s V_21
+ IL_5075: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_507a: beq.s IL_50a1
+
+ IL_507c: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5081: ldloc.s V_21
+ IL_5083: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5088: box [mscorlib]System.Int64
+ IL_508d: ldloc.s V_21
+ IL_508f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5094: box [mscorlib]System.Int64
+ IL_5099: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_509e: ldc.i4.1
+ IL_509f: stloc.s V_20
+ IL_50a1: ldsfld int64 IntrinsicTest::temp
+ IL_50a6: ldsfld int64 IntrinsicTest::idmp
+ IL_50ab: beq.s IL_50ce
+
+ IL_50ad: ldstr "temp mismatch {0} {1}"
+ IL_50b2: ldsfld int64 IntrinsicTest::temp
+ IL_50b7: box [mscorlib]System.Int64
+ IL_50bc: ldsfld int64 IntrinsicTest::idmp
+ IL_50c1: box [mscorlib]System.Int64
+ IL_50c6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_50cb: ldc.i4.1
+ IL_50cc: stloc.s V_20
+ IL_50ce: ldsflda int32 IntrinsicTest::counter
+ IL_50d3: ldsfld int32 IntrinsicTest::counter
+ IL_50d8: ldc.i4 0x618
+ IL_50dd: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_50e2: stsfld int32 IntrinsicTest::counter
+ IL_50e7: ldsfld int32 IntrinsicTest::id_counter
+ IL_50ec: stsfld int32 IntrinsicTest::id_counter
+ IL_50f1: ldsfld int32 IntrinsicTest::id_counter
+ IL_50f6: ldc.i4 0x618
+ IL_50fb: bne.un.s IL_510a
+
+ IL_50fd: ldsfld int32 IntrinsicTest::id_counter
+ IL_5102: conv.i8
+ IL_5103: stsfld int64 IntrinsicTest::idjunk
+ IL_5108: br.s IL_5115
+
+ IL_510a: ldsfld int32 IntrinsicTest::id_counter
+ IL_510f: conv.i8
+ IL_5110: stsfld int64 IntrinsicTest::idjunk
+ IL_5115: ldstr "------------------------------------CMPXCHG 1 1 4 4"
+ IL_511a: call void [System.Console]System.Console::WriteLine(string)
+ IL_511f: ldloc.0
+ IL_5120: ldloc.s V_10
+ IL_5122: beq.s IL_513e
+
+ IL_5124: ldc.i4.1
+ IL_5125: stloc.s V_20
+ IL_5127: ldstr "te0 check failed {0} {1}"
+ IL_512c: ldloc.0
+ IL_512d: box [mscorlib]System.Int32
+ IL_5132: ldloc.s V_10
+ IL_5134: box [mscorlib]System.Int32
+ IL_5139: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_513e: ldloc.1
+ IL_513f: ldloc.s V_11
+ IL_5141: beq.s IL_515d
+
+ IL_5143: ldc.i4.1
+ IL_5144: stloc.s V_20
+ IL_5146: ldstr "te1 check failed {0} {1}"
+ IL_514b: ldloc.1
+ IL_514c: box [mscorlib]System.Int32
+ IL_5151: ldloc.s V_11
+ IL_5153: box [mscorlib]System.Int32
+ IL_5158: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_515d: ldloc.2
+ IL_515e: ldloc.s V_12
+ IL_5160: beq.s IL_517c
+
+ IL_5162: ldc.i4.1
+ IL_5163: stloc.s V_20
+ IL_5165: ldstr "te2 check failed {0} {1}"
+ IL_516a: ldloc.2
+ IL_516b: box [mscorlib]System.Int32
+ IL_5170: ldloc.s V_12
+ IL_5172: box [mscorlib]System.Int32
+ IL_5177: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_517c: ldloc.3
+ IL_517d: ldloc.s V_13
+ IL_517f: beq.s IL_519b
+
+ IL_5181: ldc.i4.1
+ IL_5182: stloc.s V_20
+ IL_5184: ldstr "te3 check failed {0} {1}"
+ IL_5189: ldloc.3
+ IL_518a: box [mscorlib]System.Int32
+ IL_518f: ldloc.s V_13
+ IL_5191: box [mscorlib]System.Int32
+ IL_5196: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_519b: ldloc.s V_4
+ IL_519d: ldloc.s V_14
+ IL_519f: beq.s IL_51bc
+
+ IL_51a1: ldc.i4.1
+ IL_51a2: stloc.s V_20
+ IL_51a4: ldstr "te064 check failed {0} {1}"
+ IL_51a9: ldloc.s V_4
+ IL_51ab: box [mscorlib]System.Int64
+ IL_51b0: ldloc.s V_14
+ IL_51b2: box [mscorlib]System.Int64
+ IL_51b7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_51bc: ldloc.s V_5
+ IL_51be: ldloc.s V_15
+ IL_51c0: beq.s IL_51dd
+
+ IL_51c2: ldc.i4.1
+ IL_51c3: stloc.s V_20
+ IL_51c5: ldstr "te164 check failed {0} {1}"
+ IL_51ca: ldloc.s V_5
+ IL_51cc: box [mscorlib]System.Int64
+ IL_51d1: ldloc.s V_15
+ IL_51d3: box [mscorlib]System.Int64
+ IL_51d8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_51dd: ldloc.s V_6
+ IL_51df: ldloc.s V_16
+ IL_51e1: beq.s IL_51fe
+
+ IL_51e3: ldc.i4.1
+ IL_51e4: stloc.s V_20
+ IL_51e6: ldstr "te264 check failed {0} {1}"
+ IL_51eb: ldloc.s V_6
+ IL_51ed: box [mscorlib]System.Int64
+ IL_51f2: ldloc.s V_16
+ IL_51f4: box [mscorlib]System.Int64
+ IL_51f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_51fe: ldloc.s V_7
+ IL_5200: ldloc.s V_17
+ IL_5202: beq.s IL_521f
+
+ IL_5204: ldc.i4.1
+ IL_5205: stloc.s V_20
+ IL_5207: ldstr "te364 check failed {0} {1}"
+ IL_520c: ldloc.s V_7
+ IL_520e: box [mscorlib]System.Int64
+ IL_5213: ldloc.s V_17
+ IL_5215: box [mscorlib]System.Int64
+ IL_521a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_521f: ldloc.s V_8
+ IL_5221: ldloc.s V_18
+ IL_5223: beq.s IL_5240
+
+ IL_5225: ldc.i4.1
+ IL_5226: stloc.s V_20
+ IL_5228: ldstr "dummy check failed {0} {1}"
+ IL_522d: ldloc.s V_8
+ IL_522f: box [mscorlib]System.Int32
+ IL_5234: ldloc.s V_18
+ IL_5236: box [mscorlib]System.Int32
+ IL_523b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5240: ldloc.s V_9
+ IL_5242: ldloc.s V_19
+ IL_5244: beq.s IL_5261
+
+ IL_5246: ldc.i4.1
+ IL_5247: stloc.s V_20
+ IL_5249: ldstr "dummy64 check failed {0} {1}"
+ IL_524e: ldloc.s V_9
+ IL_5250: box [mscorlib]System.Int64
+ IL_5255: ldloc.s V_19
+ IL_5257: box [mscorlib]System.Int64
+ IL_525c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5261: ldsfld int32 IntrinsicTest::counter
+ IL_5266: ldsfld int32 IntrinsicTest::id_counter
+ IL_526b: beq.s IL_528e
+
+ IL_526d: ldstr "counter mismatch {0} {1}"
+ IL_5272: ldsfld int32 IntrinsicTest::counter
+ IL_5277: box [mscorlib]System.Int32
+ IL_527c: ldsfld int32 IntrinsicTest::id_counter
+ IL_5281: box [mscorlib]System.Int32
+ IL_5286: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_528b: ldc.i4.1
+ IL_528c: stloc.s V_20
+ IL_528e: ldsfld int64 IntrinsicTest::counter64
+ IL_5293: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5298: beq.s IL_52bb
+
+ IL_529a: ldstr "counter64 mismatch {0} {1}"
+ IL_529f: ldsfld int64 IntrinsicTest::counter64
+ IL_52a4: box [mscorlib]System.Int64
+ IL_52a9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_52ae: box [mscorlib]System.Int64
+ IL_52b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_52b8: ldc.i4.1
+ IL_52b9: stloc.s V_20
+ IL_52bb: ldloc.s V_21
+ IL_52bd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_52c2: ldloc.s V_21
+ IL_52c4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_52c9: beq.s IL_52f0
+
+ IL_52cb: ldstr "instanceCounter mismatch {0} {1}"
+ IL_52d0: ldloc.s V_21
+ IL_52d2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_52d7: box [mscorlib]System.Int32
+ IL_52dc: ldloc.s V_21
+ IL_52de: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_52e3: box [mscorlib]System.Int32
+ IL_52e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_52ed: ldc.i4.1
+ IL_52ee: stloc.s V_20
+ IL_52f0: ldloc.s V_21
+ IL_52f2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_52f7: ldloc.s V_21
+ IL_52f9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_52fe: beq.s IL_5325
+
+ IL_5300: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5305: ldloc.s V_21
+ IL_5307: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_530c: box [mscorlib]System.Int64
+ IL_5311: ldloc.s V_21
+ IL_5313: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5318: box [mscorlib]System.Int64
+ IL_531d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5322: ldc.i4.1
+ IL_5323: stloc.s V_20
+ IL_5325: ldsfld int64 IntrinsicTest::temp
+ IL_532a: ldsfld int64 IntrinsicTest::idmp
+ IL_532f: beq.s IL_5352
+
+ IL_5331: ldstr "temp mismatch {0} {1}"
+ IL_5336: ldsfld int64 IntrinsicTest::temp
+ IL_533b: box [mscorlib]System.Int64
+ IL_5340: ldsfld int64 IntrinsicTest::idmp
+ IL_5345: box [mscorlib]System.Int64
+ IL_534a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_534f: ldc.i4.1
+ IL_5350: stloc.s V_20
+ IL_5352: ldloc.s V_21
+ IL_5354: ldsflda int32 IntrinsicTest::counter
+ IL_5359: ldsfld int32 IntrinsicTest::counter
+ IL_535e: ldc.i4 0x618
+ IL_5363: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_5368: stfld int32 IntrinsicTest::instanceCounter
+ IL_536d: ldloc.s V_21
+ IL_536f: ldsfld int32 IntrinsicTest::id_counter
+ IL_5374: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_5379: ldsfld int32 IntrinsicTest::id_counter
+ IL_537e: ldc.i4 0x618
+ IL_5383: bne.un.s IL_5391
+
+ IL_5385: ldsfld int32 IntrinsicTest::id_counter
+ IL_538a: stsfld int32 IntrinsicTest::id_counter
+ IL_538f: br.s IL_539c
+
+ IL_5391: ldsfld int32 IntrinsicTest::id_counter
+ IL_5396: conv.i8
+ IL_5397: stsfld int64 IntrinsicTest::idjunk
+ IL_539c: ldstr "------------------------------------CMPXCHG 1 1 4 5"
+ IL_53a1: call void [System.Console]System.Console::WriteLine(string)
+ IL_53a6: ldloc.0
+ IL_53a7: ldloc.s V_10
+ IL_53a9: beq.s IL_53c5
+
+ IL_53ab: ldc.i4.1
+ IL_53ac: stloc.s V_20
+ IL_53ae: ldstr "te0 check failed {0} {1}"
+ IL_53b3: ldloc.0
+ IL_53b4: box [mscorlib]System.Int32
+ IL_53b9: ldloc.s V_10
+ IL_53bb: box [mscorlib]System.Int32
+ IL_53c0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_53c5: ldloc.1
+ IL_53c6: ldloc.s V_11
+ IL_53c8: beq.s IL_53e4
+
+ IL_53ca: ldc.i4.1
+ IL_53cb: stloc.s V_20
+ IL_53cd: ldstr "te1 check failed {0} {1}"
+ IL_53d2: ldloc.1
+ IL_53d3: box [mscorlib]System.Int32
+ IL_53d8: ldloc.s V_11
+ IL_53da: box [mscorlib]System.Int32
+ IL_53df: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_53e4: ldloc.2
+ IL_53e5: ldloc.s V_12
+ IL_53e7: beq.s IL_5403
+
+ IL_53e9: ldc.i4.1
+ IL_53ea: stloc.s V_20
+ IL_53ec: ldstr "te2 check failed {0} {1}"
+ IL_53f1: ldloc.2
+ IL_53f2: box [mscorlib]System.Int32
+ IL_53f7: ldloc.s V_12
+ IL_53f9: box [mscorlib]System.Int32
+ IL_53fe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5403: ldloc.3
+ IL_5404: ldloc.s V_13
+ IL_5406: beq.s IL_5422
+
+ IL_5408: ldc.i4.1
+ IL_5409: stloc.s V_20
+ IL_540b: ldstr "te3 check failed {0} {1}"
+ IL_5410: ldloc.3
+ IL_5411: box [mscorlib]System.Int32
+ IL_5416: ldloc.s V_13
+ IL_5418: box [mscorlib]System.Int32
+ IL_541d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5422: ldloc.s V_4
+ IL_5424: ldloc.s V_14
+ IL_5426: beq.s IL_5443
+
+ IL_5428: ldc.i4.1
+ IL_5429: stloc.s V_20
+ IL_542b: ldstr "te064 check failed {0} {1}"
+ IL_5430: ldloc.s V_4
+ IL_5432: box [mscorlib]System.Int64
+ IL_5437: ldloc.s V_14
+ IL_5439: box [mscorlib]System.Int64
+ IL_543e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5443: ldloc.s V_5
+ IL_5445: ldloc.s V_15
+ IL_5447: beq.s IL_5464
+
+ IL_5449: ldc.i4.1
+ IL_544a: stloc.s V_20
+ IL_544c: ldstr "te164 check failed {0} {1}"
+ IL_5451: ldloc.s V_5
+ IL_5453: box [mscorlib]System.Int64
+ IL_5458: ldloc.s V_15
+ IL_545a: box [mscorlib]System.Int64
+ IL_545f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5464: ldloc.s V_6
+ IL_5466: ldloc.s V_16
+ IL_5468: beq.s IL_5485
+
+ IL_546a: ldc.i4.1
+ IL_546b: stloc.s V_20
+ IL_546d: ldstr "te264 check failed {0} {1}"
+ IL_5472: ldloc.s V_6
+ IL_5474: box [mscorlib]System.Int64
+ IL_5479: ldloc.s V_16
+ IL_547b: box [mscorlib]System.Int64
+ IL_5480: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5485: ldloc.s V_7
+ IL_5487: ldloc.s V_17
+ IL_5489: beq.s IL_54a6
+
+ IL_548b: ldc.i4.1
+ IL_548c: stloc.s V_20
+ IL_548e: ldstr "te364 check failed {0} {1}"
+ IL_5493: ldloc.s V_7
+ IL_5495: box [mscorlib]System.Int64
+ IL_549a: ldloc.s V_17
+ IL_549c: box [mscorlib]System.Int64
+ IL_54a1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54a6: ldloc.s V_8
+ IL_54a8: ldloc.s V_18
+ IL_54aa: beq.s IL_54c7
+
+ IL_54ac: ldc.i4.1
+ IL_54ad: stloc.s V_20
+ IL_54af: ldstr "dummy check failed {0} {1}"
+ IL_54b4: ldloc.s V_8
+ IL_54b6: box [mscorlib]System.Int32
+ IL_54bb: ldloc.s V_18
+ IL_54bd: box [mscorlib]System.Int32
+ IL_54c2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54c7: ldloc.s V_9
+ IL_54c9: ldloc.s V_19
+ IL_54cb: beq.s IL_54e8
+
+ IL_54cd: ldc.i4.1
+ IL_54ce: stloc.s V_20
+ IL_54d0: ldstr "dummy64 check failed {0} {1}"
+ IL_54d5: ldloc.s V_9
+ IL_54d7: box [mscorlib]System.Int64
+ IL_54dc: ldloc.s V_19
+ IL_54de: box [mscorlib]System.Int64
+ IL_54e3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_54e8: ldsfld int32 IntrinsicTest::counter
+ IL_54ed: ldsfld int32 IntrinsicTest::id_counter
+ IL_54f2: beq.s IL_5515
+
+ IL_54f4: ldstr "counter mismatch {0} {1}"
+ IL_54f9: ldsfld int32 IntrinsicTest::counter
+ IL_54fe: box [mscorlib]System.Int32
+ IL_5503: ldsfld int32 IntrinsicTest::id_counter
+ IL_5508: box [mscorlib]System.Int32
+ IL_550d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5512: ldc.i4.1
+ IL_5513: stloc.s V_20
+ IL_5515: ldsfld int64 IntrinsicTest::counter64
+ IL_551a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_551f: beq.s IL_5542
+
+ IL_5521: ldstr "counter64 mismatch {0} {1}"
+ IL_5526: ldsfld int64 IntrinsicTest::counter64
+ IL_552b: box [mscorlib]System.Int64
+ IL_5530: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5535: box [mscorlib]System.Int64
+ IL_553a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_553f: ldc.i4.1
+ IL_5540: stloc.s V_20
+ IL_5542: ldloc.s V_21
+ IL_5544: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5549: ldloc.s V_21
+ IL_554b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5550: beq.s IL_5577
+
+ IL_5552: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5557: ldloc.s V_21
+ IL_5559: ldfld int32 IntrinsicTest::instanceCounter
+ IL_555e: box [mscorlib]System.Int32
+ IL_5563: ldloc.s V_21
+ IL_5565: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_556a: box [mscorlib]System.Int32
+ IL_556f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5574: ldc.i4.1
+ IL_5575: stloc.s V_20
+ IL_5577: ldloc.s V_21
+ IL_5579: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_557e: ldloc.s V_21
+ IL_5580: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5585: beq.s IL_55ac
+
+ IL_5587: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_558c: ldloc.s V_21
+ IL_558e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5593: box [mscorlib]System.Int64
+ IL_5598: ldloc.s V_21
+ IL_559a: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_559f: box [mscorlib]System.Int64
+ IL_55a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_55a9: ldc.i4.1
+ IL_55aa: stloc.s V_20
+ IL_55ac: ldsfld int64 IntrinsicTest::temp
+ IL_55b1: ldsfld int64 IntrinsicTest::idmp
+ IL_55b6: beq.s IL_55d9
+
+ IL_55b8: ldstr "temp mismatch {0} {1}"
+ IL_55bd: ldsfld int64 IntrinsicTest::temp
+ IL_55c2: box [mscorlib]System.Int64
+ IL_55c7: ldsfld int64 IntrinsicTest::idmp
+ IL_55cc: box [mscorlib]System.Int64
+ IL_55d1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_55d6: ldc.i4.1
+ IL_55d7: stloc.s V_20
+ IL_55d9: ldsflda int32 IntrinsicTest::counter
+ IL_55de: ldsfld int32 IntrinsicTest::counter
+ IL_55e3: ldc.i4 0x618
+ IL_55e8: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_55ed: stloc.3
+ IL_55ee: ldsfld int32 IntrinsicTest::id_counter
+ IL_55f3: stloc.s V_13
+ IL_55f5: ldsfld int32 IntrinsicTest::id_counter
+ IL_55fa: ldc.i4 0x618
+ IL_55ff: bne.un.s IL_560d
+
+ IL_5601: ldsfld int32 IntrinsicTest::id_counter
+ IL_5606: stsfld int32 IntrinsicTest::id_counter
+ IL_560b: br.s IL_5618
+
+ IL_560d: ldsfld int32 IntrinsicTest::id_counter
+ IL_5612: conv.i8
+ IL_5613: stsfld int64 IntrinsicTest::idjunk
+ IL_5618: ldstr "------------------------------------CMPXCHG 1 1 4 6"
+ IL_561d: call void [System.Console]System.Console::WriteLine(string)
+ IL_5622: ldloc.0
+ IL_5623: ldloc.s V_10
+ IL_5625: beq.s IL_5641
+
+ IL_5627: ldc.i4.1
+ IL_5628: stloc.s V_20
+ IL_562a: ldstr "te0 check failed {0} {1}"
+ IL_562f: ldloc.0
+ IL_5630: box [mscorlib]System.Int32
+ IL_5635: ldloc.s V_10
+ IL_5637: box [mscorlib]System.Int32
+ IL_563c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5641: ldloc.1
+ IL_5642: ldloc.s V_11
+ IL_5644: beq.s IL_5660
+
+ IL_5646: ldc.i4.1
+ IL_5647: stloc.s V_20
+ IL_5649: ldstr "te1 check failed {0} {1}"
+ IL_564e: ldloc.1
+ IL_564f: box [mscorlib]System.Int32
+ IL_5654: ldloc.s V_11
+ IL_5656: box [mscorlib]System.Int32
+ IL_565b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5660: ldloc.2
+ IL_5661: ldloc.s V_12
+ IL_5663: beq.s IL_567f
+
+ IL_5665: ldc.i4.1
+ IL_5666: stloc.s V_20
+ IL_5668: ldstr "te2 check failed {0} {1}"
+ IL_566d: ldloc.2
+ IL_566e: box [mscorlib]System.Int32
+ IL_5673: ldloc.s V_12
+ IL_5675: box [mscorlib]System.Int32
+ IL_567a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_567f: ldloc.3
+ IL_5680: ldloc.s V_13
+ IL_5682: beq.s IL_569e
+
+ IL_5684: ldc.i4.1
+ IL_5685: stloc.s V_20
+ IL_5687: ldstr "te3 check failed {0} {1}"
+ IL_568c: ldloc.3
+ IL_568d: box [mscorlib]System.Int32
+ IL_5692: ldloc.s V_13
+ IL_5694: box [mscorlib]System.Int32
+ IL_5699: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_569e: ldloc.s V_4
+ IL_56a0: ldloc.s V_14
+ IL_56a2: beq.s IL_56bf
+
+ IL_56a4: ldc.i4.1
+ IL_56a5: stloc.s V_20
+ IL_56a7: ldstr "te064 check failed {0} {1}"
+ IL_56ac: ldloc.s V_4
+ IL_56ae: box [mscorlib]System.Int64
+ IL_56b3: ldloc.s V_14
+ IL_56b5: box [mscorlib]System.Int64
+ IL_56ba: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_56bf: ldloc.s V_5
+ IL_56c1: ldloc.s V_15
+ IL_56c3: beq.s IL_56e0
+
+ IL_56c5: ldc.i4.1
+ IL_56c6: stloc.s V_20
+ IL_56c8: ldstr "te164 check failed {0} {1}"
+ IL_56cd: ldloc.s V_5
+ IL_56cf: box [mscorlib]System.Int64
+ IL_56d4: ldloc.s V_15
+ IL_56d6: box [mscorlib]System.Int64
+ IL_56db: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_56e0: ldloc.s V_6
+ IL_56e2: ldloc.s V_16
+ IL_56e4: beq.s IL_5701
+
+ IL_56e6: ldc.i4.1
+ IL_56e7: stloc.s V_20
+ IL_56e9: ldstr "te264 check failed {0} {1}"
+ IL_56ee: ldloc.s V_6
+ IL_56f0: box [mscorlib]System.Int64
+ IL_56f5: ldloc.s V_16
+ IL_56f7: box [mscorlib]System.Int64
+ IL_56fc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5701: ldloc.s V_7
+ IL_5703: ldloc.s V_17
+ IL_5705: beq.s IL_5722
+
+ IL_5707: ldc.i4.1
+ IL_5708: stloc.s V_20
+ IL_570a: ldstr "te364 check failed {0} {1}"
+ IL_570f: ldloc.s V_7
+ IL_5711: box [mscorlib]System.Int64
+ IL_5716: ldloc.s V_17
+ IL_5718: box [mscorlib]System.Int64
+ IL_571d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5722: ldloc.s V_8
+ IL_5724: ldloc.s V_18
+ IL_5726: beq.s IL_5743
+
+ IL_5728: ldc.i4.1
+ IL_5729: stloc.s V_20
+ IL_572b: ldstr "dummy check failed {0} {1}"
+ IL_5730: ldloc.s V_8
+ IL_5732: box [mscorlib]System.Int32
+ IL_5737: ldloc.s V_18
+ IL_5739: box [mscorlib]System.Int32
+ IL_573e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5743: ldloc.s V_9
+ IL_5745: ldloc.s V_19
+ IL_5747: beq.s IL_5764
+
+ IL_5749: ldc.i4.1
+ IL_574a: stloc.s V_20
+ IL_574c: ldstr "dummy64 check failed {0} {1}"
+ IL_5751: ldloc.s V_9
+ IL_5753: box [mscorlib]System.Int64
+ IL_5758: ldloc.s V_19
+ IL_575a: box [mscorlib]System.Int64
+ IL_575f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5764: ldsfld int32 IntrinsicTest::counter
+ IL_5769: ldsfld int32 IntrinsicTest::id_counter
+ IL_576e: beq.s IL_5791
+
+ IL_5770: ldstr "counter mismatch {0} {1}"
+ IL_5775: ldsfld int32 IntrinsicTest::counter
+ IL_577a: box [mscorlib]System.Int32
+ IL_577f: ldsfld int32 IntrinsicTest::id_counter
+ IL_5784: box [mscorlib]System.Int32
+ IL_5789: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_578e: ldc.i4.1
+ IL_578f: stloc.s V_20
+ IL_5791: ldsfld int64 IntrinsicTest::counter64
+ IL_5796: ldsfld int64 IntrinsicTest::id_counter64
+ IL_579b: beq.s IL_57be
+
+ IL_579d: ldstr "counter64 mismatch {0} {1}"
+ IL_57a2: ldsfld int64 IntrinsicTest::counter64
+ IL_57a7: box [mscorlib]System.Int64
+ IL_57ac: ldsfld int64 IntrinsicTest::id_counter64
+ IL_57b1: box [mscorlib]System.Int64
+ IL_57b6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_57bb: ldc.i4.1
+ IL_57bc: stloc.s V_20
+ IL_57be: ldloc.s V_21
+ IL_57c0: ldfld int32 IntrinsicTest::instanceCounter
+ IL_57c5: ldloc.s V_21
+ IL_57c7: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_57cc: beq.s IL_57f3
+
+ IL_57ce: ldstr "instanceCounter mismatch {0} {1}"
+ IL_57d3: ldloc.s V_21
+ IL_57d5: ldfld int32 IntrinsicTest::instanceCounter
+ IL_57da: box [mscorlib]System.Int32
+ IL_57df: ldloc.s V_21
+ IL_57e1: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_57e6: box [mscorlib]System.Int32
+ IL_57eb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_57f0: ldc.i4.1
+ IL_57f1: stloc.s V_20
+ IL_57f3: ldloc.s V_21
+ IL_57f5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_57fa: ldloc.s V_21
+ IL_57fc: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5801: beq.s IL_5828
+
+ IL_5803: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5808: ldloc.s V_21
+ IL_580a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_580f: box [mscorlib]System.Int64
+ IL_5814: ldloc.s V_21
+ IL_5816: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_581b: box [mscorlib]System.Int64
+ IL_5820: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5825: ldc.i4.1
+ IL_5826: stloc.s V_20
+ IL_5828: ldsfld int64 IntrinsicTest::temp
+ IL_582d: ldsfld int64 IntrinsicTest::idmp
+ IL_5832: beq.s IL_5855
+
+ IL_5834: ldstr "temp mismatch {0} {1}"
+ IL_5839: ldsfld int64 IntrinsicTest::temp
+ IL_583e: box [mscorlib]System.Int64
+ IL_5843: ldsfld int64 IntrinsicTest::idmp
+ IL_5848: box [mscorlib]System.Int64
+ IL_584d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5852: ldc.i4.1
+ IL_5853: stloc.s V_20
+ IL_5855: ldsflda int32 IntrinsicTest::counter
+ IL_585a: ldsfld int32 IntrinsicTest::counter
+ IL_585f: ldloc.1
+ IL_5860: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_5865: stloc.0
+ IL_5866: ldsfld int32 IntrinsicTest::id_counter
+ IL_586b: stloc.s V_10
+ IL_586d: ldsfld int32 IntrinsicTest::id_counter
+ IL_5872: ldloc.s V_11
+ IL_5874: bne.un.s IL_5882
+
+ IL_5876: ldsfld int32 IntrinsicTest::id_counter
+ IL_587b: stsfld int32 IntrinsicTest::id_counter
+ IL_5880: br.s IL_588d
+
+ IL_5882: ldsfld int32 IntrinsicTest::id_counter
+ IL_5887: conv.i8
+ IL_5888: stsfld int64 IntrinsicTest::idjunk
+ IL_588d: ldstr "------------------------------------CMPXCHG 1 1 5 0"
+ IL_5892: call void [System.Console]System.Console::WriteLine(string)
+ IL_5897: ldloc.0
+ IL_5898: ldloc.s V_10
+ IL_589a: beq.s IL_58b6
+
+ IL_589c: ldc.i4.1
+ IL_589d: stloc.s V_20
+ IL_589f: ldstr "te0 check failed {0} {1}"
+ IL_58a4: ldloc.0
+ IL_58a5: box [mscorlib]System.Int32
+ IL_58aa: ldloc.s V_10
+ IL_58ac: box [mscorlib]System.Int32
+ IL_58b1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58b6: ldloc.1
+ IL_58b7: ldloc.s V_11
+ IL_58b9: beq.s IL_58d5
+
+ IL_58bb: ldc.i4.1
+ IL_58bc: stloc.s V_20
+ IL_58be: ldstr "te1 check failed {0} {1}"
+ IL_58c3: ldloc.1
+ IL_58c4: box [mscorlib]System.Int32
+ IL_58c9: ldloc.s V_11
+ IL_58cb: box [mscorlib]System.Int32
+ IL_58d0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58d5: ldloc.2
+ IL_58d6: ldloc.s V_12
+ IL_58d8: beq.s IL_58f4
+
+ IL_58da: ldc.i4.1
+ IL_58db: stloc.s V_20
+ IL_58dd: ldstr "te2 check failed {0} {1}"
+ IL_58e2: ldloc.2
+ IL_58e3: box [mscorlib]System.Int32
+ IL_58e8: ldloc.s V_12
+ IL_58ea: box [mscorlib]System.Int32
+ IL_58ef: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_58f4: ldloc.3
+ IL_58f5: ldloc.s V_13
+ IL_58f7: beq.s IL_5913
+
+ IL_58f9: ldc.i4.1
+ IL_58fa: stloc.s V_20
+ IL_58fc: ldstr "te3 check failed {0} {1}"
+ IL_5901: ldloc.3
+ IL_5902: box [mscorlib]System.Int32
+ IL_5907: ldloc.s V_13
+ IL_5909: box [mscorlib]System.Int32
+ IL_590e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5913: ldloc.s V_4
+ IL_5915: ldloc.s V_14
+ IL_5917: beq.s IL_5934
+
+ IL_5919: ldc.i4.1
+ IL_591a: stloc.s V_20
+ IL_591c: ldstr "te064 check failed {0} {1}"
+ IL_5921: ldloc.s V_4
+ IL_5923: box [mscorlib]System.Int64
+ IL_5928: ldloc.s V_14
+ IL_592a: box [mscorlib]System.Int64
+ IL_592f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5934: ldloc.s V_5
+ IL_5936: ldloc.s V_15
+ IL_5938: beq.s IL_5955
+
+ IL_593a: ldc.i4.1
+ IL_593b: stloc.s V_20
+ IL_593d: ldstr "te164 check failed {0} {1}"
+ IL_5942: ldloc.s V_5
+ IL_5944: box [mscorlib]System.Int64
+ IL_5949: ldloc.s V_15
+ IL_594b: box [mscorlib]System.Int64
+ IL_5950: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5955: ldloc.s V_6
+ IL_5957: ldloc.s V_16
+ IL_5959: beq.s IL_5976
+
+ IL_595b: ldc.i4.1
+ IL_595c: stloc.s V_20
+ IL_595e: ldstr "te264 check failed {0} {1}"
+ IL_5963: ldloc.s V_6
+ IL_5965: box [mscorlib]System.Int64
+ IL_596a: ldloc.s V_16
+ IL_596c: box [mscorlib]System.Int64
+ IL_5971: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5976: ldloc.s V_7
+ IL_5978: ldloc.s V_17
+ IL_597a: beq.s IL_5997
+
+ IL_597c: ldc.i4.1
+ IL_597d: stloc.s V_20
+ IL_597f: ldstr "te364 check failed {0} {1}"
+ IL_5984: ldloc.s V_7
+ IL_5986: box [mscorlib]System.Int64
+ IL_598b: ldloc.s V_17
+ IL_598d: box [mscorlib]System.Int64
+ IL_5992: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5997: ldloc.s V_8
+ IL_5999: ldloc.s V_18
+ IL_599b: beq.s IL_59b8
+
+ IL_599d: ldc.i4.1
+ IL_599e: stloc.s V_20
+ IL_59a0: ldstr "dummy check failed {0} {1}"
+ IL_59a5: ldloc.s V_8
+ IL_59a7: box [mscorlib]System.Int32
+ IL_59ac: ldloc.s V_18
+ IL_59ae: box [mscorlib]System.Int32
+ IL_59b3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_59b8: ldloc.s V_9
+ IL_59ba: ldloc.s V_19
+ IL_59bc: beq.s IL_59d9
+
+ IL_59be: ldc.i4.1
+ IL_59bf: stloc.s V_20
+ IL_59c1: ldstr "dummy64 check failed {0} {1}"
+ IL_59c6: ldloc.s V_9
+ IL_59c8: box [mscorlib]System.Int64
+ IL_59cd: ldloc.s V_19
+ IL_59cf: box [mscorlib]System.Int64
+ IL_59d4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_59d9: ldsfld int32 IntrinsicTest::counter
+ IL_59de: ldsfld int32 IntrinsicTest::id_counter
+ IL_59e3: beq.s IL_5a06
+
+ IL_59e5: ldstr "counter mismatch {0} {1}"
+ IL_59ea: ldsfld int32 IntrinsicTest::counter
+ IL_59ef: box [mscorlib]System.Int32
+ IL_59f4: ldsfld int32 IntrinsicTest::id_counter
+ IL_59f9: box [mscorlib]System.Int32
+ IL_59fe: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a03: ldc.i4.1
+ IL_5a04: stloc.s V_20
+ IL_5a06: ldsfld int64 IntrinsicTest::counter64
+ IL_5a0b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5a10: beq.s IL_5a33
+
+ IL_5a12: ldstr "counter64 mismatch {0} {1}"
+ IL_5a17: ldsfld int64 IntrinsicTest::counter64
+ IL_5a1c: box [mscorlib]System.Int64
+ IL_5a21: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5a26: box [mscorlib]System.Int64
+ IL_5a2b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a30: ldc.i4.1
+ IL_5a31: stloc.s V_20
+ IL_5a33: ldloc.s V_21
+ IL_5a35: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5a3a: ldloc.s V_21
+ IL_5a3c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5a41: beq.s IL_5a68
+
+ IL_5a43: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5a48: ldloc.s V_21
+ IL_5a4a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5a4f: box [mscorlib]System.Int32
+ IL_5a54: ldloc.s V_21
+ IL_5a56: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5a5b: box [mscorlib]System.Int32
+ IL_5a60: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a65: ldc.i4.1
+ IL_5a66: stloc.s V_20
+ IL_5a68: ldloc.s V_21
+ IL_5a6a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5a6f: ldloc.s V_21
+ IL_5a71: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5a76: beq.s IL_5a9d
+
+ IL_5a78: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5a7d: ldloc.s V_21
+ IL_5a7f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5a84: box [mscorlib]System.Int64
+ IL_5a89: ldloc.s V_21
+ IL_5a8b: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5a90: box [mscorlib]System.Int64
+ IL_5a95: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5a9a: ldc.i4.1
+ IL_5a9b: stloc.s V_20
+ IL_5a9d: ldsfld int64 IntrinsicTest::temp
+ IL_5aa2: ldsfld int64 IntrinsicTest::idmp
+ IL_5aa7: beq.s IL_5aca
+
+ IL_5aa9: ldstr "temp mismatch {0} {1}"
+ IL_5aae: ldsfld int64 IntrinsicTest::temp
+ IL_5ab3: box [mscorlib]System.Int64
+ IL_5ab8: ldsfld int64 IntrinsicTest::idmp
+ IL_5abd: box [mscorlib]System.Int64
+ IL_5ac2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5ac7: ldc.i4.1
+ IL_5ac8: stloc.s V_20
+ IL_5aca: ldsflda int32 IntrinsicTest::counter
+ IL_5acf: ldsfld int32 IntrinsicTest::counter
+ IL_5ad4: ldloc.1
+ IL_5ad5: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_5ada: stsfld int32 IntrinsicTest::counter
+ IL_5adf: ldsfld int32 IntrinsicTest::id_counter
+ IL_5ae4: stsfld int32 IntrinsicTest::id_counter
+ IL_5ae9: ldsfld int32 IntrinsicTest::id_counter
+ IL_5aee: ldloc.s V_11
+ IL_5af0: bne.un.s IL_5aff
+
+ IL_5af2: ldsfld int32 IntrinsicTest::id_counter
+ IL_5af7: conv.i8
+ IL_5af8: stsfld int64 IntrinsicTest::idjunk
+ IL_5afd: br.s IL_5b0a
+
+ IL_5aff: ldsfld int32 IntrinsicTest::id_counter
+ IL_5b04: conv.i8
+ IL_5b05: stsfld int64 IntrinsicTest::idjunk
+ IL_5b0a: ldstr "------------------------------------CMPXCHG 1 1 5 1"
+ IL_5b0f: call void [System.Console]System.Console::WriteLine(string)
+ IL_5b14: ldloc.0
+ IL_5b15: ldloc.s V_10
+ IL_5b17: beq.s IL_5b33
+
+ IL_5b19: ldc.i4.1
+ IL_5b1a: stloc.s V_20
+ IL_5b1c: ldstr "te0 check failed {0} {1}"
+ IL_5b21: ldloc.0
+ IL_5b22: box [mscorlib]System.Int32
+ IL_5b27: ldloc.s V_10
+ IL_5b29: box [mscorlib]System.Int32
+ IL_5b2e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b33: ldloc.1
+ IL_5b34: ldloc.s V_11
+ IL_5b36: beq.s IL_5b52
+
+ IL_5b38: ldc.i4.1
+ IL_5b39: stloc.s V_20
+ IL_5b3b: ldstr "te1 check failed {0} {1}"
+ IL_5b40: ldloc.1
+ IL_5b41: box [mscorlib]System.Int32
+ IL_5b46: ldloc.s V_11
+ IL_5b48: box [mscorlib]System.Int32
+ IL_5b4d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b52: ldloc.2
+ IL_5b53: ldloc.s V_12
+ IL_5b55: beq.s IL_5b71
+
+ IL_5b57: ldc.i4.1
+ IL_5b58: stloc.s V_20
+ IL_5b5a: ldstr "te2 check failed {0} {1}"
+ IL_5b5f: ldloc.2
+ IL_5b60: box [mscorlib]System.Int32
+ IL_5b65: ldloc.s V_12
+ IL_5b67: box [mscorlib]System.Int32
+ IL_5b6c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b71: ldloc.3
+ IL_5b72: ldloc.s V_13
+ IL_5b74: beq.s IL_5b90
+
+ IL_5b76: ldc.i4.1
+ IL_5b77: stloc.s V_20
+ IL_5b79: ldstr "te3 check failed {0} {1}"
+ IL_5b7e: ldloc.3
+ IL_5b7f: box [mscorlib]System.Int32
+ IL_5b84: ldloc.s V_13
+ IL_5b86: box [mscorlib]System.Int32
+ IL_5b8b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5b90: ldloc.s V_4
+ IL_5b92: ldloc.s V_14
+ IL_5b94: beq.s IL_5bb1
+
+ IL_5b96: ldc.i4.1
+ IL_5b97: stloc.s V_20
+ IL_5b99: ldstr "te064 check failed {0} {1}"
+ IL_5b9e: ldloc.s V_4
+ IL_5ba0: box [mscorlib]System.Int64
+ IL_5ba5: ldloc.s V_14
+ IL_5ba7: box [mscorlib]System.Int64
+ IL_5bac: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bb1: ldloc.s V_5
+ IL_5bb3: ldloc.s V_15
+ IL_5bb5: beq.s IL_5bd2
+
+ IL_5bb7: ldc.i4.1
+ IL_5bb8: stloc.s V_20
+ IL_5bba: ldstr "te164 check failed {0} {1}"
+ IL_5bbf: ldloc.s V_5
+ IL_5bc1: box [mscorlib]System.Int64
+ IL_5bc6: ldloc.s V_15
+ IL_5bc8: box [mscorlib]System.Int64
+ IL_5bcd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bd2: ldloc.s V_6
+ IL_5bd4: ldloc.s V_16
+ IL_5bd6: beq.s IL_5bf3
+
+ IL_5bd8: ldc.i4.1
+ IL_5bd9: stloc.s V_20
+ IL_5bdb: ldstr "te264 check failed {0} {1}"
+ IL_5be0: ldloc.s V_6
+ IL_5be2: box [mscorlib]System.Int64
+ IL_5be7: ldloc.s V_16
+ IL_5be9: box [mscorlib]System.Int64
+ IL_5bee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5bf3: ldloc.s V_7
+ IL_5bf5: ldloc.s V_17
+ IL_5bf7: beq.s IL_5c14
+
+ IL_5bf9: ldc.i4.1
+ IL_5bfa: stloc.s V_20
+ IL_5bfc: ldstr "te364 check failed {0} {1}"
+ IL_5c01: ldloc.s V_7
+ IL_5c03: box [mscorlib]System.Int64
+ IL_5c08: ldloc.s V_17
+ IL_5c0a: box [mscorlib]System.Int64
+ IL_5c0f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c14: ldloc.s V_8
+ IL_5c16: ldloc.s V_18
+ IL_5c18: beq.s IL_5c35
+
+ IL_5c1a: ldc.i4.1
+ IL_5c1b: stloc.s V_20
+ IL_5c1d: ldstr "dummy check failed {0} {1}"
+ IL_5c22: ldloc.s V_8
+ IL_5c24: box [mscorlib]System.Int32
+ IL_5c29: ldloc.s V_18
+ IL_5c2b: box [mscorlib]System.Int32
+ IL_5c30: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c35: ldloc.s V_9
+ IL_5c37: ldloc.s V_19
+ IL_5c39: beq.s IL_5c56
+
+ IL_5c3b: ldc.i4.1
+ IL_5c3c: stloc.s V_20
+ IL_5c3e: ldstr "dummy64 check failed {0} {1}"
+ IL_5c43: ldloc.s V_9
+ IL_5c45: box [mscorlib]System.Int64
+ IL_5c4a: ldloc.s V_19
+ IL_5c4c: box [mscorlib]System.Int64
+ IL_5c51: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c56: ldsfld int32 IntrinsicTest::counter
+ IL_5c5b: ldsfld int32 IntrinsicTest::id_counter
+ IL_5c60: beq.s IL_5c83
+
+ IL_5c62: ldstr "counter mismatch {0} {1}"
+ IL_5c67: ldsfld int32 IntrinsicTest::counter
+ IL_5c6c: box [mscorlib]System.Int32
+ IL_5c71: ldsfld int32 IntrinsicTest::id_counter
+ IL_5c76: box [mscorlib]System.Int32
+ IL_5c7b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5c80: ldc.i4.1
+ IL_5c81: stloc.s V_20
+ IL_5c83: ldsfld int64 IntrinsicTest::counter64
+ IL_5c88: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5c8d: beq.s IL_5cb0
+
+ IL_5c8f: ldstr "counter64 mismatch {0} {1}"
+ IL_5c94: ldsfld int64 IntrinsicTest::counter64
+ IL_5c99: box [mscorlib]System.Int64
+ IL_5c9e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5ca3: box [mscorlib]System.Int64
+ IL_5ca8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5cad: ldc.i4.1
+ IL_5cae: stloc.s V_20
+ IL_5cb0: ldloc.s V_21
+ IL_5cb2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5cb7: ldloc.s V_21
+ IL_5cb9: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5cbe: beq.s IL_5ce5
+
+ IL_5cc0: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5cc5: ldloc.s V_21
+ IL_5cc7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5ccc: box [mscorlib]System.Int32
+ IL_5cd1: ldloc.s V_21
+ IL_5cd3: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5cd8: box [mscorlib]System.Int32
+ IL_5cdd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5ce2: ldc.i4.1
+ IL_5ce3: stloc.s V_20
+ IL_5ce5: ldloc.s V_21
+ IL_5ce7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5cec: ldloc.s V_21
+ IL_5cee: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5cf3: beq.s IL_5d1a
+
+ IL_5cf5: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5cfa: ldloc.s V_21
+ IL_5cfc: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5d01: box [mscorlib]System.Int64
+ IL_5d06: ldloc.s V_21
+ IL_5d08: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5d0d: box [mscorlib]System.Int64
+ IL_5d12: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5d17: ldc.i4.1
+ IL_5d18: stloc.s V_20
+ IL_5d1a: ldsfld int64 IntrinsicTest::temp
+ IL_5d1f: ldsfld int64 IntrinsicTest::idmp
+ IL_5d24: beq.s IL_5d47
+
+ IL_5d26: ldstr "temp mismatch {0} {1}"
+ IL_5d2b: ldsfld int64 IntrinsicTest::temp
+ IL_5d30: box [mscorlib]System.Int64
+ IL_5d35: ldsfld int64 IntrinsicTest::idmp
+ IL_5d3a: box [mscorlib]System.Int64
+ IL_5d3f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5d44: ldc.i4.1
+ IL_5d45: stloc.s V_20
+ IL_5d47: ldloc.s V_21
+ IL_5d49: ldsflda int32 IntrinsicTest::counter
+ IL_5d4e: ldsfld int32 IntrinsicTest::counter
+ IL_5d53: ldloc.1
+ IL_5d54: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_5d59: stfld int32 IntrinsicTest::instanceCounter
+ IL_5d5e: ldloc.s V_21
+ IL_5d60: ldsfld int32 IntrinsicTest::id_counter
+ IL_5d65: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_5d6a: ldsfld int32 IntrinsicTest::id_counter
+ IL_5d6f: ldloc.s V_11
+ IL_5d71: bne.un.s IL_5d7f
+
+ IL_5d73: ldsfld int32 IntrinsicTest::id_counter
+ IL_5d78: stsfld int32 IntrinsicTest::id_counter
+ IL_5d7d: br.s IL_5d8a
+
+ IL_5d7f: ldsfld int32 IntrinsicTest::id_counter
+ IL_5d84: conv.i8
+ IL_5d85: stsfld int64 IntrinsicTest::idjunk
+ IL_5d8a: ldstr "------------------------------------CMPXCHG 1 1 5 2"
+ IL_5d8f: call void [System.Console]System.Console::WriteLine(string)
+ IL_5d94: ldloc.0
+ IL_5d95: ldloc.s V_10
+ IL_5d97: beq.s IL_5db3
+
+ IL_5d99: ldc.i4.1
+ IL_5d9a: stloc.s V_20
+ IL_5d9c: ldstr "te0 check failed {0} {1}"
+ IL_5da1: ldloc.0
+ IL_5da2: box [mscorlib]System.Int32
+ IL_5da7: ldloc.s V_10
+ IL_5da9: box [mscorlib]System.Int32
+ IL_5dae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5db3: ldloc.1
+ IL_5db4: ldloc.s V_11
+ IL_5db6: beq.s IL_5dd2
+
+ IL_5db8: ldc.i4.1
+ IL_5db9: stloc.s V_20
+ IL_5dbb: ldstr "te1 check failed {0} {1}"
+ IL_5dc0: ldloc.1
+ IL_5dc1: box [mscorlib]System.Int32
+ IL_5dc6: ldloc.s V_11
+ IL_5dc8: box [mscorlib]System.Int32
+ IL_5dcd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5dd2: ldloc.2
+ IL_5dd3: ldloc.s V_12
+ IL_5dd5: beq.s IL_5df1
+
+ IL_5dd7: ldc.i4.1
+ IL_5dd8: stloc.s V_20
+ IL_5dda: ldstr "te2 check failed {0} {1}"
+ IL_5ddf: ldloc.2
+ IL_5de0: box [mscorlib]System.Int32
+ IL_5de5: ldloc.s V_12
+ IL_5de7: box [mscorlib]System.Int32
+ IL_5dec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5df1: ldloc.3
+ IL_5df2: ldloc.s V_13
+ IL_5df4: beq.s IL_5e10
+
+ IL_5df6: ldc.i4.1
+ IL_5df7: stloc.s V_20
+ IL_5df9: ldstr "te3 check failed {0} {1}"
+ IL_5dfe: ldloc.3
+ IL_5dff: box [mscorlib]System.Int32
+ IL_5e04: ldloc.s V_13
+ IL_5e06: box [mscorlib]System.Int32
+ IL_5e0b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e10: ldloc.s V_4
+ IL_5e12: ldloc.s V_14
+ IL_5e14: beq.s IL_5e31
+
+ IL_5e16: ldc.i4.1
+ IL_5e17: stloc.s V_20
+ IL_5e19: ldstr "te064 check failed {0} {1}"
+ IL_5e1e: ldloc.s V_4
+ IL_5e20: box [mscorlib]System.Int64
+ IL_5e25: ldloc.s V_14
+ IL_5e27: box [mscorlib]System.Int64
+ IL_5e2c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e31: ldloc.s V_5
+ IL_5e33: ldloc.s V_15
+ IL_5e35: beq.s IL_5e52
+
+ IL_5e37: ldc.i4.1
+ IL_5e38: stloc.s V_20
+ IL_5e3a: ldstr "te164 check failed {0} {1}"
+ IL_5e3f: ldloc.s V_5
+ IL_5e41: box [mscorlib]System.Int64
+ IL_5e46: ldloc.s V_15
+ IL_5e48: box [mscorlib]System.Int64
+ IL_5e4d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e52: ldloc.s V_6
+ IL_5e54: ldloc.s V_16
+ IL_5e56: beq.s IL_5e73
+
+ IL_5e58: ldc.i4.1
+ IL_5e59: stloc.s V_20
+ IL_5e5b: ldstr "te264 check failed {0} {1}"
+ IL_5e60: ldloc.s V_6
+ IL_5e62: box [mscorlib]System.Int64
+ IL_5e67: ldloc.s V_16
+ IL_5e69: box [mscorlib]System.Int64
+ IL_5e6e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e73: ldloc.s V_7
+ IL_5e75: ldloc.s V_17
+ IL_5e77: beq.s IL_5e94
+
+ IL_5e79: ldc.i4.1
+ IL_5e7a: stloc.s V_20
+ IL_5e7c: ldstr "te364 check failed {0} {1}"
+ IL_5e81: ldloc.s V_7
+ IL_5e83: box [mscorlib]System.Int64
+ IL_5e88: ldloc.s V_17
+ IL_5e8a: box [mscorlib]System.Int64
+ IL_5e8f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5e94: ldloc.s V_8
+ IL_5e96: ldloc.s V_18
+ IL_5e98: beq.s IL_5eb5
+
+ IL_5e9a: ldc.i4.1
+ IL_5e9b: stloc.s V_20
+ IL_5e9d: ldstr "dummy check failed {0} {1}"
+ IL_5ea2: ldloc.s V_8
+ IL_5ea4: box [mscorlib]System.Int32
+ IL_5ea9: ldloc.s V_18
+ IL_5eab: box [mscorlib]System.Int32
+ IL_5eb0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5eb5: ldloc.s V_9
+ IL_5eb7: ldloc.s V_19
+ IL_5eb9: beq.s IL_5ed6
+
+ IL_5ebb: ldc.i4.1
+ IL_5ebc: stloc.s V_20
+ IL_5ebe: ldstr "dummy64 check failed {0} {1}"
+ IL_5ec3: ldloc.s V_9
+ IL_5ec5: box [mscorlib]System.Int64
+ IL_5eca: ldloc.s V_19
+ IL_5ecc: box [mscorlib]System.Int64
+ IL_5ed1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5ed6: ldsfld int32 IntrinsicTest::counter
+ IL_5edb: ldsfld int32 IntrinsicTest::id_counter
+ IL_5ee0: beq.s IL_5f03
+
+ IL_5ee2: ldstr "counter mismatch {0} {1}"
+ IL_5ee7: ldsfld int32 IntrinsicTest::counter
+ IL_5eec: box [mscorlib]System.Int32
+ IL_5ef1: ldsfld int32 IntrinsicTest::id_counter
+ IL_5ef6: box [mscorlib]System.Int32
+ IL_5efb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f00: ldc.i4.1
+ IL_5f01: stloc.s V_20
+ IL_5f03: ldsfld int64 IntrinsicTest::counter64
+ IL_5f08: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5f0d: beq.s IL_5f30
+
+ IL_5f0f: ldstr "counter64 mismatch {0} {1}"
+ IL_5f14: ldsfld int64 IntrinsicTest::counter64
+ IL_5f19: box [mscorlib]System.Int64
+ IL_5f1e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_5f23: box [mscorlib]System.Int64
+ IL_5f28: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f2d: ldc.i4.1
+ IL_5f2e: stloc.s V_20
+ IL_5f30: ldloc.s V_21
+ IL_5f32: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5f37: ldloc.s V_21
+ IL_5f39: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5f3e: beq.s IL_5f65
+
+ IL_5f40: ldstr "instanceCounter mismatch {0} {1}"
+ IL_5f45: ldloc.s V_21
+ IL_5f47: ldfld int32 IntrinsicTest::instanceCounter
+ IL_5f4c: box [mscorlib]System.Int32
+ IL_5f51: ldloc.s V_21
+ IL_5f53: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_5f58: box [mscorlib]System.Int32
+ IL_5f5d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f62: ldc.i4.1
+ IL_5f63: stloc.s V_20
+ IL_5f65: ldloc.s V_21
+ IL_5f67: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5f6c: ldloc.s V_21
+ IL_5f6e: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5f73: beq.s IL_5f9a
+
+ IL_5f75: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_5f7a: ldloc.s V_21
+ IL_5f7c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_5f81: box [mscorlib]System.Int64
+ IL_5f86: ldloc.s V_21
+ IL_5f88: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_5f8d: box [mscorlib]System.Int64
+ IL_5f92: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5f97: ldc.i4.1
+ IL_5f98: stloc.s V_20
+ IL_5f9a: ldsfld int64 IntrinsicTest::temp
+ IL_5f9f: ldsfld int64 IntrinsicTest::idmp
+ IL_5fa4: beq.s IL_5fc7
+
+ IL_5fa6: ldstr "temp mismatch {0} {1}"
+ IL_5fab: ldsfld int64 IntrinsicTest::temp
+ IL_5fb0: box [mscorlib]System.Int64
+ IL_5fb5: ldsfld int64 IntrinsicTest::idmp
+ IL_5fba: box [mscorlib]System.Int64
+ IL_5fbf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_5fc4: ldc.i4.1
+ IL_5fc5: stloc.s V_20
+ IL_5fc7: ldsflda int32 IntrinsicTest::counter
+ IL_5fcc: ldsfld int32 IntrinsicTest::counter
+ IL_5fd1: ldloc.1
+ IL_5fd2: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_5fd7: stloc.0
+ IL_5fd8: ldsfld int32 IntrinsicTest::id_counter
+ IL_5fdd: stloc.s V_10
+ IL_5fdf: ldsfld int32 IntrinsicTest::id_counter
+ IL_5fe4: ldloc.s V_11
+ IL_5fe6: bne.un.s IL_5ff4
+
+ IL_5fe8: ldsfld int32 IntrinsicTest::id_counter
+ IL_5fed: stsfld int32 IntrinsicTest::id_counter
+ IL_5ff2: br.s IL_5fff
+
+ IL_5ff4: ldsfld int32 IntrinsicTest::id_counter
+ IL_5ff9: conv.i8
+ IL_5ffa: stsfld int64 IntrinsicTest::idjunk
+ IL_5fff: ldstr "------------------------------------CMPXCHG 1 1 5 3"
+ IL_6004: call void [System.Console]System.Console::WriteLine(string)
+ IL_6009: ldloc.0
+ IL_600a: ldloc.s V_10
+ IL_600c: beq.s IL_6028
+
+ IL_600e: ldc.i4.1
+ IL_600f: stloc.s V_20
+ IL_6011: ldstr "te0 check failed {0} {1}"
+ IL_6016: ldloc.0
+ IL_6017: box [mscorlib]System.Int32
+ IL_601c: ldloc.s V_10
+ IL_601e: box [mscorlib]System.Int32
+ IL_6023: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6028: ldloc.1
+ IL_6029: ldloc.s V_11
+ IL_602b: beq.s IL_6047
+
+ IL_602d: ldc.i4.1
+ IL_602e: stloc.s V_20
+ IL_6030: ldstr "te1 check failed {0} {1}"
+ IL_6035: ldloc.1
+ IL_6036: box [mscorlib]System.Int32
+ IL_603b: ldloc.s V_11
+ IL_603d: box [mscorlib]System.Int32
+ IL_6042: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6047: ldloc.2
+ IL_6048: ldloc.s V_12
+ IL_604a: beq.s IL_6066
+
+ IL_604c: ldc.i4.1
+ IL_604d: stloc.s V_20
+ IL_604f: ldstr "te2 check failed {0} {1}"
+ IL_6054: ldloc.2
+ IL_6055: box [mscorlib]System.Int32
+ IL_605a: ldloc.s V_12
+ IL_605c: box [mscorlib]System.Int32
+ IL_6061: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6066: ldloc.3
+ IL_6067: ldloc.s V_13
+ IL_6069: beq.s IL_6085
+
+ IL_606b: ldc.i4.1
+ IL_606c: stloc.s V_20
+ IL_606e: ldstr "te3 check failed {0} {1}"
+ IL_6073: ldloc.3
+ IL_6074: box [mscorlib]System.Int32
+ IL_6079: ldloc.s V_13
+ IL_607b: box [mscorlib]System.Int32
+ IL_6080: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6085: ldloc.s V_4
+ IL_6087: ldloc.s V_14
+ IL_6089: beq.s IL_60a6
+
+ IL_608b: ldc.i4.1
+ IL_608c: stloc.s V_20
+ IL_608e: ldstr "te064 check failed {0} {1}"
+ IL_6093: ldloc.s V_4
+ IL_6095: box [mscorlib]System.Int64
+ IL_609a: ldloc.s V_14
+ IL_609c: box [mscorlib]System.Int64
+ IL_60a1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60a6: ldloc.s V_5
+ IL_60a8: ldloc.s V_15
+ IL_60aa: beq.s IL_60c7
+
+ IL_60ac: ldc.i4.1
+ IL_60ad: stloc.s V_20
+ IL_60af: ldstr "te164 check failed {0} {1}"
+ IL_60b4: ldloc.s V_5
+ IL_60b6: box [mscorlib]System.Int64
+ IL_60bb: ldloc.s V_15
+ IL_60bd: box [mscorlib]System.Int64
+ IL_60c2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60c7: ldloc.s V_6
+ IL_60c9: ldloc.s V_16
+ IL_60cb: beq.s IL_60e8
+
+ IL_60cd: ldc.i4.1
+ IL_60ce: stloc.s V_20
+ IL_60d0: ldstr "te264 check failed {0} {1}"
+ IL_60d5: ldloc.s V_6
+ IL_60d7: box [mscorlib]System.Int64
+ IL_60dc: ldloc.s V_16
+ IL_60de: box [mscorlib]System.Int64
+ IL_60e3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_60e8: ldloc.s V_7
+ IL_60ea: ldloc.s V_17
+ IL_60ec: beq.s IL_6109
+
+ IL_60ee: ldc.i4.1
+ IL_60ef: stloc.s V_20
+ IL_60f1: ldstr "te364 check failed {0} {1}"
+ IL_60f6: ldloc.s V_7
+ IL_60f8: box [mscorlib]System.Int64
+ IL_60fd: ldloc.s V_17
+ IL_60ff: box [mscorlib]System.Int64
+ IL_6104: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6109: ldloc.s V_8
+ IL_610b: ldloc.s V_18
+ IL_610d: beq.s IL_612a
+
+ IL_610f: ldc.i4.1
+ IL_6110: stloc.s V_20
+ IL_6112: ldstr "dummy check failed {0} {1}"
+ IL_6117: ldloc.s V_8
+ IL_6119: box [mscorlib]System.Int32
+ IL_611e: ldloc.s V_18
+ IL_6120: box [mscorlib]System.Int32
+ IL_6125: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_612a: ldloc.s V_9
+ IL_612c: ldloc.s V_19
+ IL_612e: beq.s IL_614b
+
+ IL_6130: ldc.i4.1
+ IL_6131: stloc.s V_20
+ IL_6133: ldstr "dummy64 check failed {0} {1}"
+ IL_6138: ldloc.s V_9
+ IL_613a: box [mscorlib]System.Int64
+ IL_613f: ldloc.s V_19
+ IL_6141: box [mscorlib]System.Int64
+ IL_6146: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_614b: ldsfld int32 IntrinsicTest::counter
+ IL_6150: ldsfld int32 IntrinsicTest::id_counter
+ IL_6155: beq.s IL_6178
+
+ IL_6157: ldstr "counter mismatch {0} {1}"
+ IL_615c: ldsfld int32 IntrinsicTest::counter
+ IL_6161: box [mscorlib]System.Int32
+ IL_6166: ldsfld int32 IntrinsicTest::id_counter
+ IL_616b: box [mscorlib]System.Int32
+ IL_6170: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6175: ldc.i4.1
+ IL_6176: stloc.s V_20
+ IL_6178: ldsfld int64 IntrinsicTest::counter64
+ IL_617d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6182: beq.s IL_61a5
+
+ IL_6184: ldstr "counter64 mismatch {0} {1}"
+ IL_6189: ldsfld int64 IntrinsicTest::counter64
+ IL_618e: box [mscorlib]System.Int64
+ IL_6193: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6198: box [mscorlib]System.Int64
+ IL_619d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_61a2: ldc.i4.1
+ IL_61a3: stloc.s V_20
+ IL_61a5: ldloc.s V_21
+ IL_61a7: ldfld int32 IntrinsicTest::instanceCounter
+ IL_61ac: ldloc.s V_21
+ IL_61ae: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_61b3: beq.s IL_61da
+
+ IL_61b5: ldstr "instanceCounter mismatch {0} {1}"
+ IL_61ba: ldloc.s V_21
+ IL_61bc: ldfld int32 IntrinsicTest::instanceCounter
+ IL_61c1: box [mscorlib]System.Int32
+ IL_61c6: ldloc.s V_21
+ IL_61c8: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_61cd: box [mscorlib]System.Int32
+ IL_61d2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_61d7: ldc.i4.1
+ IL_61d8: stloc.s V_20
+ IL_61da: ldloc.s V_21
+ IL_61dc: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_61e1: ldloc.s V_21
+ IL_61e3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_61e8: beq.s IL_620f
+
+ IL_61ea: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_61ef: ldloc.s V_21
+ IL_61f1: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_61f6: box [mscorlib]System.Int64
+ IL_61fb: ldloc.s V_21
+ IL_61fd: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6202: box [mscorlib]System.Int64
+ IL_6207: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_620c: ldc.i4.1
+ IL_620d: stloc.s V_20
+ IL_620f: ldsfld int64 IntrinsicTest::temp
+ IL_6214: ldsfld int64 IntrinsicTest::idmp
+ IL_6219: beq.s IL_623c
+
+ IL_621b: ldstr "temp mismatch {0} {1}"
+ IL_6220: ldsfld int64 IntrinsicTest::temp
+ IL_6225: box [mscorlib]System.Int64
+ IL_622a: ldsfld int64 IntrinsicTest::idmp
+ IL_622f: box [mscorlib]System.Int64
+ IL_6234: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6239: ldc.i4.1
+ IL_623a: stloc.s V_20
+ IL_623c: ldsflda int32 IntrinsicTest::counter
+ IL_6241: ldsfld int32 IntrinsicTest::counter
+ IL_6246: ldloc.1
+ IL_6247: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_624c: stsfld int32 IntrinsicTest::counter
+ IL_6251: ldsfld int32 IntrinsicTest::id_counter
+ IL_6256: stsfld int32 IntrinsicTest::id_counter
+ IL_625b: ldsfld int32 IntrinsicTest::id_counter
+ IL_6260: ldloc.s V_11
+ IL_6262: bne.un.s IL_6271
+
+ IL_6264: ldsfld int32 IntrinsicTest::id_counter
+ IL_6269: conv.i8
+ IL_626a: stsfld int64 IntrinsicTest::idjunk
+ IL_626f: br.s IL_627c
+
+ IL_6271: ldsfld int32 IntrinsicTest::id_counter
+ IL_6276: conv.i8
+ IL_6277: stsfld int64 IntrinsicTest::idjunk
+ IL_627c: ldstr "------------------------------------CMPXCHG 1 1 5 4"
+ IL_6281: call void [System.Console]System.Console::WriteLine(string)
+ IL_6286: ldloc.0
+ IL_6287: ldloc.s V_10
+ IL_6289: beq.s IL_62a5
+
+ IL_628b: ldc.i4.1
+ IL_628c: stloc.s V_20
+ IL_628e: ldstr "te0 check failed {0} {1}"
+ IL_6293: ldloc.0
+ IL_6294: box [mscorlib]System.Int32
+ IL_6299: ldloc.s V_10
+ IL_629b: box [mscorlib]System.Int32
+ IL_62a0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62a5: ldloc.1
+ IL_62a6: ldloc.s V_11
+ IL_62a8: beq.s IL_62c4
+
+ IL_62aa: ldc.i4.1
+ IL_62ab: stloc.s V_20
+ IL_62ad: ldstr "te1 check failed {0} {1}"
+ IL_62b2: ldloc.1
+ IL_62b3: box [mscorlib]System.Int32
+ IL_62b8: ldloc.s V_11
+ IL_62ba: box [mscorlib]System.Int32
+ IL_62bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62c4: ldloc.2
+ IL_62c5: ldloc.s V_12
+ IL_62c7: beq.s IL_62e3
+
+ IL_62c9: ldc.i4.1
+ IL_62ca: stloc.s V_20
+ IL_62cc: ldstr "te2 check failed {0} {1}"
+ IL_62d1: ldloc.2
+ IL_62d2: box [mscorlib]System.Int32
+ IL_62d7: ldloc.s V_12
+ IL_62d9: box [mscorlib]System.Int32
+ IL_62de: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_62e3: ldloc.3
+ IL_62e4: ldloc.s V_13
+ IL_62e6: beq.s IL_6302
+
+ IL_62e8: ldc.i4.1
+ IL_62e9: stloc.s V_20
+ IL_62eb: ldstr "te3 check failed {0} {1}"
+ IL_62f0: ldloc.3
+ IL_62f1: box [mscorlib]System.Int32
+ IL_62f6: ldloc.s V_13
+ IL_62f8: box [mscorlib]System.Int32
+ IL_62fd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6302: ldloc.s V_4
+ IL_6304: ldloc.s V_14
+ IL_6306: beq.s IL_6323
+
+ IL_6308: ldc.i4.1
+ IL_6309: stloc.s V_20
+ IL_630b: ldstr "te064 check failed {0} {1}"
+ IL_6310: ldloc.s V_4
+ IL_6312: box [mscorlib]System.Int64
+ IL_6317: ldloc.s V_14
+ IL_6319: box [mscorlib]System.Int64
+ IL_631e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6323: ldloc.s V_5
+ IL_6325: ldloc.s V_15
+ IL_6327: beq.s IL_6344
+
+ IL_6329: ldc.i4.1
+ IL_632a: stloc.s V_20
+ IL_632c: ldstr "te164 check failed {0} {1}"
+ IL_6331: ldloc.s V_5
+ IL_6333: box [mscorlib]System.Int64
+ IL_6338: ldloc.s V_15
+ IL_633a: box [mscorlib]System.Int64
+ IL_633f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6344: ldloc.s V_6
+ IL_6346: ldloc.s V_16
+ IL_6348: beq.s IL_6365
+
+ IL_634a: ldc.i4.1
+ IL_634b: stloc.s V_20
+ IL_634d: ldstr "te264 check failed {0} {1}"
+ IL_6352: ldloc.s V_6
+ IL_6354: box [mscorlib]System.Int64
+ IL_6359: ldloc.s V_16
+ IL_635b: box [mscorlib]System.Int64
+ IL_6360: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6365: ldloc.s V_7
+ IL_6367: ldloc.s V_17
+ IL_6369: beq.s IL_6386
+
+ IL_636b: ldc.i4.1
+ IL_636c: stloc.s V_20
+ IL_636e: ldstr "te364 check failed {0} {1}"
+ IL_6373: ldloc.s V_7
+ IL_6375: box [mscorlib]System.Int64
+ IL_637a: ldloc.s V_17
+ IL_637c: box [mscorlib]System.Int64
+ IL_6381: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6386: ldloc.s V_8
+ IL_6388: ldloc.s V_18
+ IL_638a: beq.s IL_63a7
+
+ IL_638c: ldc.i4.1
+ IL_638d: stloc.s V_20
+ IL_638f: ldstr "dummy check failed {0} {1}"
+ IL_6394: ldloc.s V_8
+ IL_6396: box [mscorlib]System.Int32
+ IL_639b: ldloc.s V_18
+ IL_639d: box [mscorlib]System.Int32
+ IL_63a2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63a7: ldloc.s V_9
+ IL_63a9: ldloc.s V_19
+ IL_63ab: beq.s IL_63c8
+
+ IL_63ad: ldc.i4.1
+ IL_63ae: stloc.s V_20
+ IL_63b0: ldstr "dummy64 check failed {0} {1}"
+ IL_63b5: ldloc.s V_9
+ IL_63b7: box [mscorlib]System.Int64
+ IL_63bc: ldloc.s V_19
+ IL_63be: box [mscorlib]System.Int64
+ IL_63c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63c8: ldsfld int32 IntrinsicTest::counter
+ IL_63cd: ldsfld int32 IntrinsicTest::id_counter
+ IL_63d2: beq.s IL_63f5
+
+ IL_63d4: ldstr "counter mismatch {0} {1}"
+ IL_63d9: ldsfld int32 IntrinsicTest::counter
+ IL_63de: box [mscorlib]System.Int32
+ IL_63e3: ldsfld int32 IntrinsicTest::id_counter
+ IL_63e8: box [mscorlib]System.Int32
+ IL_63ed: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_63f2: ldc.i4.1
+ IL_63f3: stloc.s V_20
+ IL_63f5: ldsfld int64 IntrinsicTest::counter64
+ IL_63fa: ldsfld int64 IntrinsicTest::id_counter64
+ IL_63ff: beq.s IL_6422
+
+ IL_6401: ldstr "counter64 mismatch {0} {1}"
+ IL_6406: ldsfld int64 IntrinsicTest::counter64
+ IL_640b: box [mscorlib]System.Int64
+ IL_6410: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6415: box [mscorlib]System.Int64
+ IL_641a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_641f: ldc.i4.1
+ IL_6420: stloc.s V_20
+ IL_6422: ldloc.s V_21
+ IL_6424: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6429: ldloc.s V_21
+ IL_642b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6430: beq.s IL_6457
+
+ IL_6432: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6437: ldloc.s V_21
+ IL_6439: ldfld int32 IntrinsicTest::instanceCounter
+ IL_643e: box [mscorlib]System.Int32
+ IL_6443: ldloc.s V_21
+ IL_6445: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_644a: box [mscorlib]System.Int32
+ IL_644f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6454: ldc.i4.1
+ IL_6455: stloc.s V_20
+ IL_6457: ldloc.s V_21
+ IL_6459: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_645e: ldloc.s V_21
+ IL_6460: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6465: beq.s IL_648c
+
+ IL_6467: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_646c: ldloc.s V_21
+ IL_646e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6473: box [mscorlib]System.Int64
+ IL_6478: ldloc.s V_21
+ IL_647a: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_647f: box [mscorlib]System.Int64
+ IL_6484: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6489: ldc.i4.1
+ IL_648a: stloc.s V_20
+ IL_648c: ldsfld int64 IntrinsicTest::temp
+ IL_6491: ldsfld int64 IntrinsicTest::idmp
+ IL_6496: beq.s IL_64b9
+
+ IL_6498: ldstr "temp mismatch {0} {1}"
+ IL_649d: ldsfld int64 IntrinsicTest::temp
+ IL_64a2: box [mscorlib]System.Int64
+ IL_64a7: ldsfld int64 IntrinsicTest::idmp
+ IL_64ac: box [mscorlib]System.Int64
+ IL_64b1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_64b6: ldc.i4.1
+ IL_64b7: stloc.s V_20
+ IL_64b9: ldloc.s V_21
+ IL_64bb: ldsflda int32 IntrinsicTest::counter
+ IL_64c0: ldsfld int32 IntrinsicTest::counter
+ IL_64c5: ldloc.1
+ IL_64c6: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_64cb: stfld int32 IntrinsicTest::instanceCounter
+ IL_64d0: ldloc.s V_21
+ IL_64d2: ldsfld int32 IntrinsicTest::id_counter
+ IL_64d7: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_64dc: ldsfld int32 IntrinsicTest::id_counter
+ IL_64e1: ldloc.s V_11
+ IL_64e3: bne.un.s IL_64f1
+
+ IL_64e5: ldsfld int32 IntrinsicTest::id_counter
+ IL_64ea: stsfld int32 IntrinsicTest::id_counter
+ IL_64ef: br.s IL_64fc
+
+ IL_64f1: ldsfld int32 IntrinsicTest::id_counter
+ IL_64f6: conv.i8
+ IL_64f7: stsfld int64 IntrinsicTest::idjunk
+ IL_64fc: ldstr "------------------------------------CMPXCHG 1 1 5 5"
+ IL_6501: call void [System.Console]System.Console::WriteLine(string)
+ IL_6506: ldloc.0
+ IL_6507: ldloc.s V_10
+ IL_6509: beq.s IL_6525
+
+ IL_650b: ldc.i4.1
+ IL_650c: stloc.s V_20
+ IL_650e: ldstr "te0 check failed {0} {1}"
+ IL_6513: ldloc.0
+ IL_6514: box [mscorlib]System.Int32
+ IL_6519: ldloc.s V_10
+ IL_651b: box [mscorlib]System.Int32
+ IL_6520: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6525: ldloc.1
+ IL_6526: ldloc.s V_11
+ IL_6528: beq.s IL_6544
+
+ IL_652a: ldc.i4.1
+ IL_652b: stloc.s V_20
+ IL_652d: ldstr "te1 check failed {0} {1}"
+ IL_6532: ldloc.1
+ IL_6533: box [mscorlib]System.Int32
+ IL_6538: ldloc.s V_11
+ IL_653a: box [mscorlib]System.Int32
+ IL_653f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6544: ldloc.2
+ IL_6545: ldloc.s V_12
+ IL_6547: beq.s IL_6563
+
+ IL_6549: ldc.i4.1
+ IL_654a: stloc.s V_20
+ IL_654c: ldstr "te2 check failed {0} {1}"
+ IL_6551: ldloc.2
+ IL_6552: box [mscorlib]System.Int32
+ IL_6557: ldloc.s V_12
+ IL_6559: box [mscorlib]System.Int32
+ IL_655e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6563: ldloc.3
+ IL_6564: ldloc.s V_13
+ IL_6566: beq.s IL_6582
+
+ IL_6568: ldc.i4.1
+ IL_6569: stloc.s V_20
+ IL_656b: ldstr "te3 check failed {0} {1}"
+ IL_6570: ldloc.3
+ IL_6571: box [mscorlib]System.Int32
+ IL_6576: ldloc.s V_13
+ IL_6578: box [mscorlib]System.Int32
+ IL_657d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6582: ldloc.s V_4
+ IL_6584: ldloc.s V_14
+ IL_6586: beq.s IL_65a3
+
+ IL_6588: ldc.i4.1
+ IL_6589: stloc.s V_20
+ IL_658b: ldstr "te064 check failed {0} {1}"
+ IL_6590: ldloc.s V_4
+ IL_6592: box [mscorlib]System.Int64
+ IL_6597: ldloc.s V_14
+ IL_6599: box [mscorlib]System.Int64
+ IL_659e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65a3: ldloc.s V_5
+ IL_65a5: ldloc.s V_15
+ IL_65a7: beq.s IL_65c4
+
+ IL_65a9: ldc.i4.1
+ IL_65aa: stloc.s V_20
+ IL_65ac: ldstr "te164 check failed {0} {1}"
+ IL_65b1: ldloc.s V_5
+ IL_65b3: box [mscorlib]System.Int64
+ IL_65b8: ldloc.s V_15
+ IL_65ba: box [mscorlib]System.Int64
+ IL_65bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65c4: ldloc.s V_6
+ IL_65c6: ldloc.s V_16
+ IL_65c8: beq.s IL_65e5
+
+ IL_65ca: ldc.i4.1
+ IL_65cb: stloc.s V_20
+ IL_65cd: ldstr "te264 check failed {0} {1}"
+ IL_65d2: ldloc.s V_6
+ IL_65d4: box [mscorlib]System.Int64
+ IL_65d9: ldloc.s V_16
+ IL_65db: box [mscorlib]System.Int64
+ IL_65e0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_65e5: ldloc.s V_7
+ IL_65e7: ldloc.s V_17
+ IL_65e9: beq.s IL_6606
+
+ IL_65eb: ldc.i4.1
+ IL_65ec: stloc.s V_20
+ IL_65ee: ldstr "te364 check failed {0} {1}"
+ IL_65f3: ldloc.s V_7
+ IL_65f5: box [mscorlib]System.Int64
+ IL_65fa: ldloc.s V_17
+ IL_65fc: box [mscorlib]System.Int64
+ IL_6601: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6606: ldloc.s V_8
+ IL_6608: ldloc.s V_18
+ IL_660a: beq.s IL_6627
+
+ IL_660c: ldc.i4.1
+ IL_660d: stloc.s V_20
+ IL_660f: ldstr "dummy check failed {0} {1}"
+ IL_6614: ldloc.s V_8
+ IL_6616: box [mscorlib]System.Int32
+ IL_661b: ldloc.s V_18
+ IL_661d: box [mscorlib]System.Int32
+ IL_6622: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6627: ldloc.s V_9
+ IL_6629: ldloc.s V_19
+ IL_662b: beq.s IL_6648
+
+ IL_662d: ldc.i4.1
+ IL_662e: stloc.s V_20
+ IL_6630: ldstr "dummy64 check failed {0} {1}"
+ IL_6635: ldloc.s V_9
+ IL_6637: box [mscorlib]System.Int64
+ IL_663c: ldloc.s V_19
+ IL_663e: box [mscorlib]System.Int64
+ IL_6643: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6648: ldsfld int32 IntrinsicTest::counter
+ IL_664d: ldsfld int32 IntrinsicTest::id_counter
+ IL_6652: beq.s IL_6675
+
+ IL_6654: ldstr "counter mismatch {0} {1}"
+ IL_6659: ldsfld int32 IntrinsicTest::counter
+ IL_665e: box [mscorlib]System.Int32
+ IL_6663: ldsfld int32 IntrinsicTest::id_counter
+ IL_6668: box [mscorlib]System.Int32
+ IL_666d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6672: ldc.i4.1
+ IL_6673: stloc.s V_20
+ IL_6675: ldsfld int64 IntrinsicTest::counter64
+ IL_667a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_667f: beq.s IL_66a2
+
+ IL_6681: ldstr "counter64 mismatch {0} {1}"
+ IL_6686: ldsfld int64 IntrinsicTest::counter64
+ IL_668b: box [mscorlib]System.Int64
+ IL_6690: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6695: box [mscorlib]System.Int64
+ IL_669a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_669f: ldc.i4.1
+ IL_66a0: stloc.s V_20
+ IL_66a2: ldloc.s V_21
+ IL_66a4: ldfld int32 IntrinsicTest::instanceCounter
+ IL_66a9: ldloc.s V_21
+ IL_66ab: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_66b0: beq.s IL_66d7
+
+ IL_66b2: ldstr "instanceCounter mismatch {0} {1}"
+ IL_66b7: ldloc.s V_21
+ IL_66b9: ldfld int32 IntrinsicTest::instanceCounter
+ IL_66be: box [mscorlib]System.Int32
+ IL_66c3: ldloc.s V_21
+ IL_66c5: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_66ca: box [mscorlib]System.Int32
+ IL_66cf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_66d4: ldc.i4.1
+ IL_66d5: stloc.s V_20
+ IL_66d7: ldloc.s V_21
+ IL_66d9: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_66de: ldloc.s V_21
+ IL_66e0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_66e5: beq.s IL_670c
+
+ IL_66e7: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_66ec: ldloc.s V_21
+ IL_66ee: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_66f3: box [mscorlib]System.Int64
+ IL_66f8: ldloc.s V_21
+ IL_66fa: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_66ff: box [mscorlib]System.Int64
+ IL_6704: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6709: ldc.i4.1
+ IL_670a: stloc.s V_20
+ IL_670c: ldsfld int64 IntrinsicTest::temp
+ IL_6711: ldsfld int64 IntrinsicTest::idmp
+ IL_6716: beq.s IL_6739
+
+ IL_6718: ldstr "temp mismatch {0} {1}"
+ IL_671d: ldsfld int64 IntrinsicTest::temp
+ IL_6722: box [mscorlib]System.Int64
+ IL_6727: ldsfld int64 IntrinsicTest::idmp
+ IL_672c: box [mscorlib]System.Int64
+ IL_6731: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6736: ldc.i4.1
+ IL_6737: stloc.s V_20
+ IL_6739: ldsflda int32 IntrinsicTest::counter
+ IL_673e: ldsfld int32 IntrinsicTest::counter
+ IL_6743: ldloc.1
+ IL_6744: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_6749: stloc.3
+ IL_674a: ldsfld int32 IntrinsicTest::id_counter
+ IL_674f: stloc.s V_13
+ IL_6751: ldsfld int32 IntrinsicTest::id_counter
+ IL_6756: ldloc.s V_11
+ IL_6758: bne.un.s IL_6766
+
+ IL_675a: ldsfld int32 IntrinsicTest::id_counter
+ IL_675f: stsfld int32 IntrinsicTest::id_counter
+ IL_6764: br.s IL_6771
+
+ IL_6766: ldsfld int32 IntrinsicTest::id_counter
+ IL_676b: conv.i8
+ IL_676c: stsfld int64 IntrinsicTest::idjunk
+ IL_6771: ldstr "------------------------------------CMPXCHG 1 1 5 6"
+ IL_6776: call void [System.Console]System.Console::WriteLine(string)
+ IL_677b: ldloc.0
+ IL_677c: ldloc.s V_10
+ IL_677e: beq.s IL_679a
+
+ IL_6780: ldc.i4.1
+ IL_6781: stloc.s V_20
+ IL_6783: ldstr "te0 check failed {0} {1}"
+ IL_6788: ldloc.0
+ IL_6789: box [mscorlib]System.Int32
+ IL_678e: ldloc.s V_10
+ IL_6790: box [mscorlib]System.Int32
+ IL_6795: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_679a: ldloc.1
+ IL_679b: ldloc.s V_11
+ IL_679d: beq.s IL_67b9
+
+ IL_679f: ldc.i4.1
+ IL_67a0: stloc.s V_20
+ IL_67a2: ldstr "te1 check failed {0} {1}"
+ IL_67a7: ldloc.1
+ IL_67a8: box [mscorlib]System.Int32
+ IL_67ad: ldloc.s V_11
+ IL_67af: box [mscorlib]System.Int32
+ IL_67b4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67b9: ldloc.2
+ IL_67ba: ldloc.s V_12
+ IL_67bc: beq.s IL_67d8
+
+ IL_67be: ldc.i4.1
+ IL_67bf: stloc.s V_20
+ IL_67c1: ldstr "te2 check failed {0} {1}"
+ IL_67c6: ldloc.2
+ IL_67c7: box [mscorlib]System.Int32
+ IL_67cc: ldloc.s V_12
+ IL_67ce: box [mscorlib]System.Int32
+ IL_67d3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67d8: ldloc.3
+ IL_67d9: ldloc.s V_13
+ IL_67db: beq.s IL_67f7
+
+ IL_67dd: ldc.i4.1
+ IL_67de: stloc.s V_20
+ IL_67e0: ldstr "te3 check failed {0} {1}"
+ IL_67e5: ldloc.3
+ IL_67e6: box [mscorlib]System.Int32
+ IL_67eb: ldloc.s V_13
+ IL_67ed: box [mscorlib]System.Int32
+ IL_67f2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_67f7: ldloc.s V_4
+ IL_67f9: ldloc.s V_14
+ IL_67fb: beq.s IL_6818
+
+ IL_67fd: ldc.i4.1
+ IL_67fe: stloc.s V_20
+ IL_6800: ldstr "te064 check failed {0} {1}"
+ IL_6805: ldloc.s V_4
+ IL_6807: box [mscorlib]System.Int64
+ IL_680c: ldloc.s V_14
+ IL_680e: box [mscorlib]System.Int64
+ IL_6813: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6818: ldloc.s V_5
+ IL_681a: ldloc.s V_15
+ IL_681c: beq.s IL_6839
+
+ IL_681e: ldc.i4.1
+ IL_681f: stloc.s V_20
+ IL_6821: ldstr "te164 check failed {0} {1}"
+ IL_6826: ldloc.s V_5
+ IL_6828: box [mscorlib]System.Int64
+ IL_682d: ldloc.s V_15
+ IL_682f: box [mscorlib]System.Int64
+ IL_6834: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6839: ldloc.s V_6
+ IL_683b: ldloc.s V_16
+ IL_683d: beq.s IL_685a
+
+ IL_683f: ldc.i4.1
+ IL_6840: stloc.s V_20
+ IL_6842: ldstr "te264 check failed {0} {1}"
+ IL_6847: ldloc.s V_6
+ IL_6849: box [mscorlib]System.Int64
+ IL_684e: ldloc.s V_16
+ IL_6850: box [mscorlib]System.Int64
+ IL_6855: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_685a: ldloc.s V_7
+ IL_685c: ldloc.s V_17
+ IL_685e: beq.s IL_687b
+
+ IL_6860: ldc.i4.1
+ IL_6861: stloc.s V_20
+ IL_6863: ldstr "te364 check failed {0} {1}"
+ IL_6868: ldloc.s V_7
+ IL_686a: box [mscorlib]System.Int64
+ IL_686f: ldloc.s V_17
+ IL_6871: box [mscorlib]System.Int64
+ IL_6876: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_687b: ldloc.s V_8
+ IL_687d: ldloc.s V_18
+ IL_687f: beq.s IL_689c
+
+ IL_6881: ldc.i4.1
+ IL_6882: stloc.s V_20
+ IL_6884: ldstr "dummy check failed {0} {1}"
+ IL_6889: ldloc.s V_8
+ IL_688b: box [mscorlib]System.Int32
+ IL_6890: ldloc.s V_18
+ IL_6892: box [mscorlib]System.Int32
+ IL_6897: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_689c: ldloc.s V_9
+ IL_689e: ldloc.s V_19
+ IL_68a0: beq.s IL_68bd
+
+ IL_68a2: ldc.i4.1
+ IL_68a3: stloc.s V_20
+ IL_68a5: ldstr "dummy64 check failed {0} {1}"
+ IL_68aa: ldloc.s V_9
+ IL_68ac: box [mscorlib]System.Int64
+ IL_68b1: ldloc.s V_19
+ IL_68b3: box [mscorlib]System.Int64
+ IL_68b8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_68bd: ldsfld int32 IntrinsicTest::counter
+ IL_68c2: ldsfld int32 IntrinsicTest::id_counter
+ IL_68c7: beq.s IL_68ea
+
+ IL_68c9: ldstr "counter mismatch {0} {1}"
+ IL_68ce: ldsfld int32 IntrinsicTest::counter
+ IL_68d3: box [mscorlib]System.Int32
+ IL_68d8: ldsfld int32 IntrinsicTest::id_counter
+ IL_68dd: box [mscorlib]System.Int32
+ IL_68e2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_68e7: ldc.i4.1
+ IL_68e8: stloc.s V_20
+ IL_68ea: ldsfld int64 IntrinsicTest::counter64
+ IL_68ef: ldsfld int64 IntrinsicTest::id_counter64
+ IL_68f4: beq.s IL_6917
+
+ IL_68f6: ldstr "counter64 mismatch {0} {1}"
+ IL_68fb: ldsfld int64 IntrinsicTest::counter64
+ IL_6900: box [mscorlib]System.Int64
+ IL_6905: ldsfld int64 IntrinsicTest::id_counter64
+ IL_690a: box [mscorlib]System.Int64
+ IL_690f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6914: ldc.i4.1
+ IL_6915: stloc.s V_20
+ IL_6917: ldloc.s V_21
+ IL_6919: ldfld int32 IntrinsicTest::instanceCounter
+ IL_691e: ldloc.s V_21
+ IL_6920: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6925: beq.s IL_694c
+
+ IL_6927: ldstr "instanceCounter mismatch {0} {1}"
+ IL_692c: ldloc.s V_21
+ IL_692e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6933: box [mscorlib]System.Int32
+ IL_6938: ldloc.s V_21
+ IL_693a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_693f: box [mscorlib]System.Int32
+ IL_6944: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6949: ldc.i4.1
+ IL_694a: stloc.s V_20
+ IL_694c: ldloc.s V_21
+ IL_694e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6953: ldloc.s V_21
+ IL_6955: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_695a: beq.s IL_6981
+
+ IL_695c: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6961: ldloc.s V_21
+ IL_6963: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6968: box [mscorlib]System.Int64
+ IL_696d: ldloc.s V_21
+ IL_696f: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6974: box [mscorlib]System.Int64
+ IL_6979: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_697e: ldc.i4.1
+ IL_697f: stloc.s V_20
+ IL_6981: ldsfld int64 IntrinsicTest::temp
+ IL_6986: ldsfld int64 IntrinsicTest::idmp
+ IL_698b: beq.s IL_69ae
+
+ IL_698d: ldstr "temp mismatch {0} {1}"
+ IL_6992: ldsfld int64 IntrinsicTest::temp
+ IL_6997: box [mscorlib]System.Int64
+ IL_699c: ldsfld int64 IntrinsicTest::idmp
+ IL_69a1: box [mscorlib]System.Int64
+ IL_69a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_69ab: ldc.i4.1
+ IL_69ac: stloc.s V_20
+ IL_69ae: ldsflda int32 IntrinsicTest::counter
+ IL_69b3: ldsfld int32 IntrinsicTest::counter
+ IL_69b8: ldloc.2
+ IL_69b9: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_69be: stloc.0
+ IL_69bf: ldsfld int32 IntrinsicTest::id_counter
+ IL_69c4: stloc.s V_10
+ IL_69c6: ldsfld int32 IntrinsicTest::id_counter
+ IL_69cb: ldloc.s V_12
+ IL_69cd: bne.un.s IL_69db
+
+ IL_69cf: ldsfld int32 IntrinsicTest::id_counter
+ IL_69d4: stsfld int32 IntrinsicTest::id_counter
+ IL_69d9: br.s IL_69e6
+
+ IL_69db: ldsfld int32 IntrinsicTest::id_counter
+ IL_69e0: conv.i8
+ IL_69e1: stsfld int64 IntrinsicTest::idjunk
+ IL_69e6: ldstr "------------------------------------CMPXCHG 1 1 6 0"
+ IL_69eb: call void [System.Console]System.Console::WriteLine(string)
+ IL_69f0: ldloc.0
+ IL_69f1: ldloc.s V_10
+ IL_69f3: beq.s IL_6a0f
+
+ IL_69f5: ldc.i4.1
+ IL_69f6: stloc.s V_20
+ IL_69f8: ldstr "te0 check failed {0} {1}"
+ IL_69fd: ldloc.0
+ IL_69fe: box [mscorlib]System.Int32
+ IL_6a03: ldloc.s V_10
+ IL_6a05: box [mscorlib]System.Int32
+ IL_6a0a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a0f: ldloc.1
+ IL_6a10: ldloc.s V_11
+ IL_6a12: beq.s IL_6a2e
+
+ IL_6a14: ldc.i4.1
+ IL_6a15: stloc.s V_20
+ IL_6a17: ldstr "te1 check failed {0} {1}"
+ IL_6a1c: ldloc.1
+ IL_6a1d: box [mscorlib]System.Int32
+ IL_6a22: ldloc.s V_11
+ IL_6a24: box [mscorlib]System.Int32
+ IL_6a29: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a2e: ldloc.2
+ IL_6a2f: ldloc.s V_12
+ IL_6a31: beq.s IL_6a4d
+
+ IL_6a33: ldc.i4.1
+ IL_6a34: stloc.s V_20
+ IL_6a36: ldstr "te2 check failed {0} {1}"
+ IL_6a3b: ldloc.2
+ IL_6a3c: box [mscorlib]System.Int32
+ IL_6a41: ldloc.s V_12
+ IL_6a43: box [mscorlib]System.Int32
+ IL_6a48: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a4d: ldloc.3
+ IL_6a4e: ldloc.s V_13
+ IL_6a50: beq.s IL_6a6c
+
+ IL_6a52: ldc.i4.1
+ IL_6a53: stloc.s V_20
+ IL_6a55: ldstr "te3 check failed {0} {1}"
+ IL_6a5a: ldloc.3
+ IL_6a5b: box [mscorlib]System.Int32
+ IL_6a60: ldloc.s V_13
+ IL_6a62: box [mscorlib]System.Int32
+ IL_6a67: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a6c: ldloc.s V_4
+ IL_6a6e: ldloc.s V_14
+ IL_6a70: beq.s IL_6a8d
+
+ IL_6a72: ldc.i4.1
+ IL_6a73: stloc.s V_20
+ IL_6a75: ldstr "te064 check failed {0} {1}"
+ IL_6a7a: ldloc.s V_4
+ IL_6a7c: box [mscorlib]System.Int64
+ IL_6a81: ldloc.s V_14
+ IL_6a83: box [mscorlib]System.Int64
+ IL_6a88: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6a8d: ldloc.s V_5
+ IL_6a8f: ldloc.s V_15
+ IL_6a91: beq.s IL_6aae
+
+ IL_6a93: ldc.i4.1
+ IL_6a94: stloc.s V_20
+ IL_6a96: ldstr "te164 check failed {0} {1}"
+ IL_6a9b: ldloc.s V_5
+ IL_6a9d: box [mscorlib]System.Int64
+ IL_6aa2: ldloc.s V_15
+ IL_6aa4: box [mscorlib]System.Int64
+ IL_6aa9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6aae: ldloc.s V_6
+ IL_6ab0: ldloc.s V_16
+ IL_6ab2: beq.s IL_6acf
+
+ IL_6ab4: ldc.i4.1
+ IL_6ab5: stloc.s V_20
+ IL_6ab7: ldstr "te264 check failed {0} {1}"
+ IL_6abc: ldloc.s V_6
+ IL_6abe: box [mscorlib]System.Int64
+ IL_6ac3: ldloc.s V_16
+ IL_6ac5: box [mscorlib]System.Int64
+ IL_6aca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6acf: ldloc.s V_7
+ IL_6ad1: ldloc.s V_17
+ IL_6ad3: beq.s IL_6af0
+
+ IL_6ad5: ldc.i4.1
+ IL_6ad6: stloc.s V_20
+ IL_6ad8: ldstr "te364 check failed {0} {1}"
+ IL_6add: ldloc.s V_7
+ IL_6adf: box [mscorlib]System.Int64
+ IL_6ae4: ldloc.s V_17
+ IL_6ae6: box [mscorlib]System.Int64
+ IL_6aeb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6af0: ldloc.s V_8
+ IL_6af2: ldloc.s V_18
+ IL_6af4: beq.s IL_6b11
+
+ IL_6af6: ldc.i4.1
+ IL_6af7: stloc.s V_20
+ IL_6af9: ldstr "dummy check failed {0} {1}"
+ IL_6afe: ldloc.s V_8
+ IL_6b00: box [mscorlib]System.Int32
+ IL_6b05: ldloc.s V_18
+ IL_6b07: box [mscorlib]System.Int32
+ IL_6b0c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b11: ldloc.s V_9
+ IL_6b13: ldloc.s V_19
+ IL_6b15: beq.s IL_6b32
+
+ IL_6b17: ldc.i4.1
+ IL_6b18: stloc.s V_20
+ IL_6b1a: ldstr "dummy64 check failed {0} {1}"
+ IL_6b1f: ldloc.s V_9
+ IL_6b21: box [mscorlib]System.Int64
+ IL_6b26: ldloc.s V_19
+ IL_6b28: box [mscorlib]System.Int64
+ IL_6b2d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b32: ldsfld int32 IntrinsicTest::counter
+ IL_6b37: ldsfld int32 IntrinsicTest::id_counter
+ IL_6b3c: beq.s IL_6b5f
+
+ IL_6b3e: ldstr "counter mismatch {0} {1}"
+ IL_6b43: ldsfld int32 IntrinsicTest::counter
+ IL_6b48: box [mscorlib]System.Int32
+ IL_6b4d: ldsfld int32 IntrinsicTest::id_counter
+ IL_6b52: box [mscorlib]System.Int32
+ IL_6b57: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b5c: ldc.i4.1
+ IL_6b5d: stloc.s V_20
+ IL_6b5f: ldsfld int64 IntrinsicTest::counter64
+ IL_6b64: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6b69: beq.s IL_6b8c
+
+ IL_6b6b: ldstr "counter64 mismatch {0} {1}"
+ IL_6b70: ldsfld int64 IntrinsicTest::counter64
+ IL_6b75: box [mscorlib]System.Int64
+ IL_6b7a: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6b7f: box [mscorlib]System.Int64
+ IL_6b84: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6b89: ldc.i4.1
+ IL_6b8a: stloc.s V_20
+ IL_6b8c: ldloc.s V_21
+ IL_6b8e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6b93: ldloc.s V_21
+ IL_6b95: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6b9a: beq.s IL_6bc1
+
+ IL_6b9c: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6ba1: ldloc.s V_21
+ IL_6ba3: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6ba8: box [mscorlib]System.Int32
+ IL_6bad: ldloc.s V_21
+ IL_6baf: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6bb4: box [mscorlib]System.Int32
+ IL_6bb9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6bbe: ldc.i4.1
+ IL_6bbf: stloc.s V_20
+ IL_6bc1: ldloc.s V_21
+ IL_6bc3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6bc8: ldloc.s V_21
+ IL_6bca: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6bcf: beq.s IL_6bf6
+
+ IL_6bd1: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6bd6: ldloc.s V_21
+ IL_6bd8: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6bdd: box [mscorlib]System.Int64
+ IL_6be2: ldloc.s V_21
+ IL_6be4: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6be9: box [mscorlib]System.Int64
+ IL_6bee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6bf3: ldc.i4.1
+ IL_6bf4: stloc.s V_20
+ IL_6bf6: ldsfld int64 IntrinsicTest::temp
+ IL_6bfb: ldsfld int64 IntrinsicTest::idmp
+ IL_6c00: beq.s IL_6c23
+
+ IL_6c02: ldstr "temp mismatch {0} {1}"
+ IL_6c07: ldsfld int64 IntrinsicTest::temp
+ IL_6c0c: box [mscorlib]System.Int64
+ IL_6c11: ldsfld int64 IntrinsicTest::idmp
+ IL_6c16: box [mscorlib]System.Int64
+ IL_6c1b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6c20: ldc.i4.1
+ IL_6c21: stloc.s V_20
+ IL_6c23: ldsflda int32 IntrinsicTest::counter
+ IL_6c28: ldsfld int32 IntrinsicTest::counter
+ IL_6c2d: ldloc.2
+ IL_6c2e: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_6c33: stsfld int32 IntrinsicTest::counter
+ IL_6c38: ldsfld int32 IntrinsicTest::id_counter
+ IL_6c3d: stsfld int32 IntrinsicTest::id_counter
+ IL_6c42: ldsfld int32 IntrinsicTest::id_counter
+ IL_6c47: ldloc.s V_12
+ IL_6c49: bne.un.s IL_6c58
+
+ IL_6c4b: ldsfld int32 IntrinsicTest::id_counter
+ IL_6c50: conv.i8
+ IL_6c51: stsfld int64 IntrinsicTest::idjunk
+ IL_6c56: br.s IL_6c63
+
+ IL_6c58: ldsfld int32 IntrinsicTest::id_counter
+ IL_6c5d: conv.i8
+ IL_6c5e: stsfld int64 IntrinsicTest::idjunk
+ IL_6c63: ldstr "------------------------------------CMPXCHG 1 1 6 1"
+ IL_6c68: call void [System.Console]System.Console::WriteLine(string)
+ IL_6c6d: ldloc.0
+ IL_6c6e: ldloc.s V_10
+ IL_6c70: beq.s IL_6c8c
+
+ IL_6c72: ldc.i4.1
+ IL_6c73: stloc.s V_20
+ IL_6c75: ldstr "te0 check failed {0} {1}"
+ IL_6c7a: ldloc.0
+ IL_6c7b: box [mscorlib]System.Int32
+ IL_6c80: ldloc.s V_10
+ IL_6c82: box [mscorlib]System.Int32
+ IL_6c87: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6c8c: ldloc.1
+ IL_6c8d: ldloc.s V_11
+ IL_6c8f: beq.s IL_6cab
+
+ IL_6c91: ldc.i4.1
+ IL_6c92: stloc.s V_20
+ IL_6c94: ldstr "te1 check failed {0} {1}"
+ IL_6c99: ldloc.1
+ IL_6c9a: box [mscorlib]System.Int32
+ IL_6c9f: ldloc.s V_11
+ IL_6ca1: box [mscorlib]System.Int32
+ IL_6ca6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6cab: ldloc.2
+ IL_6cac: ldloc.s V_12
+ IL_6cae: beq.s IL_6cca
+
+ IL_6cb0: ldc.i4.1
+ IL_6cb1: stloc.s V_20
+ IL_6cb3: ldstr "te2 check failed {0} {1}"
+ IL_6cb8: ldloc.2
+ IL_6cb9: box [mscorlib]System.Int32
+ IL_6cbe: ldloc.s V_12
+ IL_6cc0: box [mscorlib]System.Int32
+ IL_6cc5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6cca: ldloc.3
+ IL_6ccb: ldloc.s V_13
+ IL_6ccd: beq.s IL_6ce9
+
+ IL_6ccf: ldc.i4.1
+ IL_6cd0: stloc.s V_20
+ IL_6cd2: ldstr "te3 check failed {0} {1}"
+ IL_6cd7: ldloc.3
+ IL_6cd8: box [mscorlib]System.Int32
+ IL_6cdd: ldloc.s V_13
+ IL_6cdf: box [mscorlib]System.Int32
+ IL_6ce4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6ce9: ldloc.s V_4
+ IL_6ceb: ldloc.s V_14
+ IL_6ced: beq.s IL_6d0a
+
+ IL_6cef: ldc.i4.1
+ IL_6cf0: stloc.s V_20
+ IL_6cf2: ldstr "te064 check failed {0} {1}"
+ IL_6cf7: ldloc.s V_4
+ IL_6cf9: box [mscorlib]System.Int64
+ IL_6cfe: ldloc.s V_14
+ IL_6d00: box [mscorlib]System.Int64
+ IL_6d05: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d0a: ldloc.s V_5
+ IL_6d0c: ldloc.s V_15
+ IL_6d0e: beq.s IL_6d2b
+
+ IL_6d10: ldc.i4.1
+ IL_6d11: stloc.s V_20
+ IL_6d13: ldstr "te164 check failed {0} {1}"
+ IL_6d18: ldloc.s V_5
+ IL_6d1a: box [mscorlib]System.Int64
+ IL_6d1f: ldloc.s V_15
+ IL_6d21: box [mscorlib]System.Int64
+ IL_6d26: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d2b: ldloc.s V_6
+ IL_6d2d: ldloc.s V_16
+ IL_6d2f: beq.s IL_6d4c
+
+ IL_6d31: ldc.i4.1
+ IL_6d32: stloc.s V_20
+ IL_6d34: ldstr "te264 check failed {0} {1}"
+ IL_6d39: ldloc.s V_6
+ IL_6d3b: box [mscorlib]System.Int64
+ IL_6d40: ldloc.s V_16
+ IL_6d42: box [mscorlib]System.Int64
+ IL_6d47: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d4c: ldloc.s V_7
+ IL_6d4e: ldloc.s V_17
+ IL_6d50: beq.s IL_6d6d
+
+ IL_6d52: ldc.i4.1
+ IL_6d53: stloc.s V_20
+ IL_6d55: ldstr "te364 check failed {0} {1}"
+ IL_6d5a: ldloc.s V_7
+ IL_6d5c: box [mscorlib]System.Int64
+ IL_6d61: ldloc.s V_17
+ IL_6d63: box [mscorlib]System.Int64
+ IL_6d68: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d6d: ldloc.s V_8
+ IL_6d6f: ldloc.s V_18
+ IL_6d71: beq.s IL_6d8e
+
+ IL_6d73: ldc.i4.1
+ IL_6d74: stloc.s V_20
+ IL_6d76: ldstr "dummy check failed {0} {1}"
+ IL_6d7b: ldloc.s V_8
+ IL_6d7d: box [mscorlib]System.Int32
+ IL_6d82: ldloc.s V_18
+ IL_6d84: box [mscorlib]System.Int32
+ IL_6d89: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6d8e: ldloc.s V_9
+ IL_6d90: ldloc.s V_19
+ IL_6d92: beq.s IL_6daf
+
+ IL_6d94: ldc.i4.1
+ IL_6d95: stloc.s V_20
+ IL_6d97: ldstr "dummy64 check failed {0} {1}"
+ IL_6d9c: ldloc.s V_9
+ IL_6d9e: box [mscorlib]System.Int64
+ IL_6da3: ldloc.s V_19
+ IL_6da5: box [mscorlib]System.Int64
+ IL_6daa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6daf: ldsfld int32 IntrinsicTest::counter
+ IL_6db4: ldsfld int32 IntrinsicTest::id_counter
+ IL_6db9: beq.s IL_6ddc
+
+ IL_6dbb: ldstr "counter mismatch {0} {1}"
+ IL_6dc0: ldsfld int32 IntrinsicTest::counter
+ IL_6dc5: box [mscorlib]System.Int32
+ IL_6dca: ldsfld int32 IntrinsicTest::id_counter
+ IL_6dcf: box [mscorlib]System.Int32
+ IL_6dd4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6dd9: ldc.i4.1
+ IL_6dda: stloc.s V_20
+ IL_6ddc: ldsfld int64 IntrinsicTest::counter64
+ IL_6de1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6de6: beq.s IL_6e09
+
+ IL_6de8: ldstr "counter64 mismatch {0} {1}"
+ IL_6ded: ldsfld int64 IntrinsicTest::counter64
+ IL_6df2: box [mscorlib]System.Int64
+ IL_6df7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_6dfc: box [mscorlib]System.Int64
+ IL_6e01: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e06: ldc.i4.1
+ IL_6e07: stloc.s V_20
+ IL_6e09: ldloc.s V_21
+ IL_6e0b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6e10: ldloc.s V_21
+ IL_6e12: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6e17: beq.s IL_6e3e
+
+ IL_6e19: ldstr "instanceCounter mismatch {0} {1}"
+ IL_6e1e: ldloc.s V_21
+ IL_6e20: ldfld int32 IntrinsicTest::instanceCounter
+ IL_6e25: box [mscorlib]System.Int32
+ IL_6e2a: ldloc.s V_21
+ IL_6e2c: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_6e31: box [mscorlib]System.Int32
+ IL_6e36: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e3b: ldc.i4.1
+ IL_6e3c: stloc.s V_20
+ IL_6e3e: ldloc.s V_21
+ IL_6e40: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6e45: ldloc.s V_21
+ IL_6e47: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6e4c: beq.s IL_6e73
+
+ IL_6e4e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_6e53: ldloc.s V_21
+ IL_6e55: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_6e5a: box [mscorlib]System.Int64
+ IL_6e5f: ldloc.s V_21
+ IL_6e61: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_6e66: box [mscorlib]System.Int64
+ IL_6e6b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e70: ldc.i4.1
+ IL_6e71: stloc.s V_20
+ IL_6e73: ldsfld int64 IntrinsicTest::temp
+ IL_6e78: ldsfld int64 IntrinsicTest::idmp
+ IL_6e7d: beq.s IL_6ea0
+
+ IL_6e7f: ldstr "temp mismatch {0} {1}"
+ IL_6e84: ldsfld int64 IntrinsicTest::temp
+ IL_6e89: box [mscorlib]System.Int64
+ IL_6e8e: ldsfld int64 IntrinsicTest::idmp
+ IL_6e93: box [mscorlib]System.Int64
+ IL_6e98: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6e9d: ldc.i4.1
+ IL_6e9e: stloc.s V_20
+ IL_6ea0: ldloc.s V_21
+ IL_6ea2: ldsflda int32 IntrinsicTest::counter
+ IL_6ea7: ldsfld int32 IntrinsicTest::counter
+ IL_6eac: ldloc.2
+ IL_6ead: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_6eb2: stfld int32 IntrinsicTest::instanceCounter
+ IL_6eb7: ldloc.s V_21
+ IL_6eb9: ldsfld int32 IntrinsicTest::id_counter
+ IL_6ebe: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_6ec3: ldsfld int32 IntrinsicTest::id_counter
+ IL_6ec8: ldloc.s V_12
+ IL_6eca: bne.un.s IL_6ed8
+
+ IL_6ecc: ldsfld int32 IntrinsicTest::id_counter
+ IL_6ed1: stsfld int32 IntrinsicTest::id_counter
+ IL_6ed6: br.s IL_6ee3
+
+ IL_6ed8: ldsfld int32 IntrinsicTest::id_counter
+ IL_6edd: conv.i8
+ IL_6ede: stsfld int64 IntrinsicTest::idjunk
+ IL_6ee3: ldstr "------------------------------------CMPXCHG 1 1 6 2"
+ IL_6ee8: call void [System.Console]System.Console::WriteLine(string)
+ IL_6eed: ldloc.0
+ IL_6eee: ldloc.s V_10
+ IL_6ef0: beq.s IL_6f0c
+
+ IL_6ef2: ldc.i4.1
+ IL_6ef3: stloc.s V_20
+ IL_6ef5: ldstr "te0 check failed {0} {1}"
+ IL_6efa: ldloc.0
+ IL_6efb: box [mscorlib]System.Int32
+ IL_6f00: ldloc.s V_10
+ IL_6f02: box [mscorlib]System.Int32
+ IL_6f07: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f0c: ldloc.1
+ IL_6f0d: ldloc.s V_11
+ IL_6f0f: beq.s IL_6f2b
+
+ IL_6f11: ldc.i4.1
+ IL_6f12: stloc.s V_20
+ IL_6f14: ldstr "te1 check failed {0} {1}"
+ IL_6f19: ldloc.1
+ IL_6f1a: box [mscorlib]System.Int32
+ IL_6f1f: ldloc.s V_11
+ IL_6f21: box [mscorlib]System.Int32
+ IL_6f26: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f2b: ldloc.2
+ IL_6f2c: ldloc.s V_12
+ IL_6f2e: beq.s IL_6f4a
+
+ IL_6f30: ldc.i4.1
+ IL_6f31: stloc.s V_20
+ IL_6f33: ldstr "te2 check failed {0} {1}"
+ IL_6f38: ldloc.2
+ IL_6f39: box [mscorlib]System.Int32
+ IL_6f3e: ldloc.s V_12
+ IL_6f40: box [mscorlib]System.Int32
+ IL_6f45: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f4a: ldloc.3
+ IL_6f4b: ldloc.s V_13
+ IL_6f4d: beq.s IL_6f69
+
+ IL_6f4f: ldc.i4.1
+ IL_6f50: stloc.s V_20
+ IL_6f52: ldstr "te3 check failed {0} {1}"
+ IL_6f57: ldloc.3
+ IL_6f58: box [mscorlib]System.Int32
+ IL_6f5d: ldloc.s V_13
+ IL_6f5f: box [mscorlib]System.Int32
+ IL_6f64: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f69: ldloc.s V_4
+ IL_6f6b: ldloc.s V_14
+ IL_6f6d: beq.s IL_6f8a
+
+ IL_6f6f: ldc.i4.1
+ IL_6f70: stloc.s V_20
+ IL_6f72: ldstr "te064 check failed {0} {1}"
+ IL_6f77: ldloc.s V_4
+ IL_6f79: box [mscorlib]System.Int64
+ IL_6f7e: ldloc.s V_14
+ IL_6f80: box [mscorlib]System.Int64
+ IL_6f85: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6f8a: ldloc.s V_5
+ IL_6f8c: ldloc.s V_15
+ IL_6f8e: beq.s IL_6fab
+
+ IL_6f90: ldc.i4.1
+ IL_6f91: stloc.s V_20
+ IL_6f93: ldstr "te164 check failed {0} {1}"
+ IL_6f98: ldloc.s V_5
+ IL_6f9a: box [mscorlib]System.Int64
+ IL_6f9f: ldloc.s V_15
+ IL_6fa1: box [mscorlib]System.Int64
+ IL_6fa6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6fab: ldloc.s V_6
+ IL_6fad: ldloc.s V_16
+ IL_6faf: beq.s IL_6fcc
+
+ IL_6fb1: ldc.i4.1
+ IL_6fb2: stloc.s V_20
+ IL_6fb4: ldstr "te264 check failed {0} {1}"
+ IL_6fb9: ldloc.s V_6
+ IL_6fbb: box [mscorlib]System.Int64
+ IL_6fc0: ldloc.s V_16
+ IL_6fc2: box [mscorlib]System.Int64
+ IL_6fc7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6fcc: ldloc.s V_7
+ IL_6fce: ldloc.s V_17
+ IL_6fd0: beq.s IL_6fed
+
+ IL_6fd2: ldc.i4.1
+ IL_6fd3: stloc.s V_20
+ IL_6fd5: ldstr "te364 check failed {0} {1}"
+ IL_6fda: ldloc.s V_7
+ IL_6fdc: box [mscorlib]System.Int64
+ IL_6fe1: ldloc.s V_17
+ IL_6fe3: box [mscorlib]System.Int64
+ IL_6fe8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_6fed: ldloc.s V_8
+ IL_6fef: ldloc.s V_18
+ IL_6ff1: beq.s IL_700e
+
+ IL_6ff3: ldc.i4.1
+ IL_6ff4: stloc.s V_20
+ IL_6ff6: ldstr "dummy check failed {0} {1}"
+ IL_6ffb: ldloc.s V_8
+ IL_6ffd: box [mscorlib]System.Int32
+ IL_7002: ldloc.s V_18
+ IL_7004: box [mscorlib]System.Int32
+ IL_7009: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_700e: ldloc.s V_9
+ IL_7010: ldloc.s V_19
+ IL_7012: beq.s IL_702f
+
+ IL_7014: ldc.i4.1
+ IL_7015: stloc.s V_20
+ IL_7017: ldstr "dummy64 check failed {0} {1}"
+ IL_701c: ldloc.s V_9
+ IL_701e: box [mscorlib]System.Int64
+ IL_7023: ldloc.s V_19
+ IL_7025: box [mscorlib]System.Int64
+ IL_702a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_702f: ldsfld int32 IntrinsicTest::counter
+ IL_7034: ldsfld int32 IntrinsicTest::id_counter
+ IL_7039: beq.s IL_705c
+
+ IL_703b: ldstr "counter mismatch {0} {1}"
+ IL_7040: ldsfld int32 IntrinsicTest::counter
+ IL_7045: box [mscorlib]System.Int32
+ IL_704a: ldsfld int32 IntrinsicTest::id_counter
+ IL_704f: box [mscorlib]System.Int32
+ IL_7054: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7059: ldc.i4.1
+ IL_705a: stloc.s V_20
+ IL_705c: ldsfld int64 IntrinsicTest::counter64
+ IL_7061: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7066: beq.s IL_7089
+
+ IL_7068: ldstr "counter64 mismatch {0} {1}"
+ IL_706d: ldsfld int64 IntrinsicTest::counter64
+ IL_7072: box [mscorlib]System.Int64
+ IL_7077: ldsfld int64 IntrinsicTest::id_counter64
+ IL_707c: box [mscorlib]System.Int64
+ IL_7081: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7086: ldc.i4.1
+ IL_7087: stloc.s V_20
+ IL_7089: ldloc.s V_21
+ IL_708b: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7090: ldloc.s V_21
+ IL_7092: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7097: beq.s IL_70be
+
+ IL_7099: ldstr "instanceCounter mismatch {0} {1}"
+ IL_709e: ldloc.s V_21
+ IL_70a0: ldfld int32 IntrinsicTest::instanceCounter
+ IL_70a5: box [mscorlib]System.Int32
+ IL_70aa: ldloc.s V_21
+ IL_70ac: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_70b1: box [mscorlib]System.Int32
+ IL_70b6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_70bb: ldc.i4.1
+ IL_70bc: stloc.s V_20
+ IL_70be: ldloc.s V_21
+ IL_70c0: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_70c5: ldloc.s V_21
+ IL_70c7: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_70cc: beq.s IL_70f3
+
+ IL_70ce: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_70d3: ldloc.s V_21
+ IL_70d5: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_70da: box [mscorlib]System.Int64
+ IL_70df: ldloc.s V_21
+ IL_70e1: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_70e6: box [mscorlib]System.Int64
+ IL_70eb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_70f0: ldc.i4.1
+ IL_70f1: stloc.s V_20
+ IL_70f3: ldsfld int64 IntrinsicTest::temp
+ IL_70f8: ldsfld int64 IntrinsicTest::idmp
+ IL_70fd: beq.s IL_7120
+
+ IL_70ff: ldstr "temp mismatch {0} {1}"
+ IL_7104: ldsfld int64 IntrinsicTest::temp
+ IL_7109: box [mscorlib]System.Int64
+ IL_710e: ldsfld int64 IntrinsicTest::idmp
+ IL_7113: box [mscorlib]System.Int64
+ IL_7118: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_711d: ldc.i4.1
+ IL_711e: stloc.s V_20
+ IL_7120: ldsflda int32 IntrinsicTest::counter
+ IL_7125: ldsfld int32 IntrinsicTest::counter
+ IL_712a: ldloc.2
+ IL_712b: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_7130: stloc.0
+ IL_7131: ldsfld int32 IntrinsicTest::id_counter
+ IL_7136: stloc.s V_10
+ IL_7138: ldsfld int32 IntrinsicTest::id_counter
+ IL_713d: ldloc.s V_12
+ IL_713f: bne.un.s IL_714d
+
+ IL_7141: ldsfld int32 IntrinsicTest::id_counter
+ IL_7146: stsfld int32 IntrinsicTest::id_counter
+ IL_714b: br.s IL_7158
+
+ IL_714d: ldsfld int32 IntrinsicTest::id_counter
+ IL_7152: conv.i8
+ IL_7153: stsfld int64 IntrinsicTest::idjunk
+ IL_7158: ldstr "------------------------------------CMPXCHG 1 1 6 3"
+ IL_715d: call void [System.Console]System.Console::WriteLine(string)
+ IL_7162: ldloc.0
+ IL_7163: ldloc.s V_10
+ IL_7165: beq.s IL_7181
+
+ IL_7167: ldc.i4.1
+ IL_7168: stloc.s V_20
+ IL_716a: ldstr "te0 check failed {0} {1}"
+ IL_716f: ldloc.0
+ IL_7170: box [mscorlib]System.Int32
+ IL_7175: ldloc.s V_10
+ IL_7177: box [mscorlib]System.Int32
+ IL_717c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7181: ldloc.1
+ IL_7182: ldloc.s V_11
+ IL_7184: beq.s IL_71a0
+
+ IL_7186: ldc.i4.1
+ IL_7187: stloc.s V_20
+ IL_7189: ldstr "te1 check failed {0} {1}"
+ IL_718e: ldloc.1
+ IL_718f: box [mscorlib]System.Int32
+ IL_7194: ldloc.s V_11
+ IL_7196: box [mscorlib]System.Int32
+ IL_719b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71a0: ldloc.2
+ IL_71a1: ldloc.s V_12
+ IL_71a3: beq.s IL_71bf
+
+ IL_71a5: ldc.i4.1
+ IL_71a6: stloc.s V_20
+ IL_71a8: ldstr "te2 check failed {0} {1}"
+ IL_71ad: ldloc.2
+ IL_71ae: box [mscorlib]System.Int32
+ IL_71b3: ldloc.s V_12
+ IL_71b5: box [mscorlib]System.Int32
+ IL_71ba: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71bf: ldloc.3
+ IL_71c0: ldloc.s V_13
+ IL_71c2: beq.s IL_71de
+
+ IL_71c4: ldc.i4.1
+ IL_71c5: stloc.s V_20
+ IL_71c7: ldstr "te3 check failed {0} {1}"
+ IL_71cc: ldloc.3
+ IL_71cd: box [mscorlib]System.Int32
+ IL_71d2: ldloc.s V_13
+ IL_71d4: box [mscorlib]System.Int32
+ IL_71d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71de: ldloc.s V_4
+ IL_71e0: ldloc.s V_14
+ IL_71e2: beq.s IL_71ff
+
+ IL_71e4: ldc.i4.1
+ IL_71e5: stloc.s V_20
+ IL_71e7: ldstr "te064 check failed {0} {1}"
+ IL_71ec: ldloc.s V_4
+ IL_71ee: box [mscorlib]System.Int64
+ IL_71f3: ldloc.s V_14
+ IL_71f5: box [mscorlib]System.Int64
+ IL_71fa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_71ff: ldloc.s V_5
+ IL_7201: ldloc.s V_15
+ IL_7203: beq.s IL_7220
+
+ IL_7205: ldc.i4.1
+ IL_7206: stloc.s V_20
+ IL_7208: ldstr "te164 check failed {0} {1}"
+ IL_720d: ldloc.s V_5
+ IL_720f: box [mscorlib]System.Int64
+ IL_7214: ldloc.s V_15
+ IL_7216: box [mscorlib]System.Int64
+ IL_721b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7220: ldloc.s V_6
+ IL_7222: ldloc.s V_16
+ IL_7224: beq.s IL_7241
+
+ IL_7226: ldc.i4.1
+ IL_7227: stloc.s V_20
+ IL_7229: ldstr "te264 check failed {0} {1}"
+ IL_722e: ldloc.s V_6
+ IL_7230: box [mscorlib]System.Int64
+ IL_7235: ldloc.s V_16
+ IL_7237: box [mscorlib]System.Int64
+ IL_723c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7241: ldloc.s V_7
+ IL_7243: ldloc.s V_17
+ IL_7245: beq.s IL_7262
+
+ IL_7247: ldc.i4.1
+ IL_7248: stloc.s V_20
+ IL_724a: ldstr "te364 check failed {0} {1}"
+ IL_724f: ldloc.s V_7
+ IL_7251: box [mscorlib]System.Int64
+ IL_7256: ldloc.s V_17
+ IL_7258: box [mscorlib]System.Int64
+ IL_725d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7262: ldloc.s V_8
+ IL_7264: ldloc.s V_18
+ IL_7266: beq.s IL_7283
+
+ IL_7268: ldc.i4.1
+ IL_7269: stloc.s V_20
+ IL_726b: ldstr "dummy check failed {0} {1}"
+ IL_7270: ldloc.s V_8
+ IL_7272: box [mscorlib]System.Int32
+ IL_7277: ldloc.s V_18
+ IL_7279: box [mscorlib]System.Int32
+ IL_727e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7283: ldloc.s V_9
+ IL_7285: ldloc.s V_19
+ IL_7287: beq.s IL_72a4
+
+ IL_7289: ldc.i4.1
+ IL_728a: stloc.s V_20
+ IL_728c: ldstr "dummy64 check failed {0} {1}"
+ IL_7291: ldloc.s V_9
+ IL_7293: box [mscorlib]System.Int64
+ IL_7298: ldloc.s V_19
+ IL_729a: box [mscorlib]System.Int64
+ IL_729f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_72a4: ldsfld int32 IntrinsicTest::counter
+ IL_72a9: ldsfld int32 IntrinsicTest::id_counter
+ IL_72ae: beq.s IL_72d1
+
+ IL_72b0: ldstr "counter mismatch {0} {1}"
+ IL_72b5: ldsfld int32 IntrinsicTest::counter
+ IL_72ba: box [mscorlib]System.Int32
+ IL_72bf: ldsfld int32 IntrinsicTest::id_counter
+ IL_72c4: box [mscorlib]System.Int32
+ IL_72c9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_72ce: ldc.i4.1
+ IL_72cf: stloc.s V_20
+ IL_72d1: ldsfld int64 IntrinsicTest::counter64
+ IL_72d6: ldsfld int64 IntrinsicTest::id_counter64
+ IL_72db: beq.s IL_72fe
+
+ IL_72dd: ldstr "counter64 mismatch {0} {1}"
+ IL_72e2: ldsfld int64 IntrinsicTest::counter64
+ IL_72e7: box [mscorlib]System.Int64
+ IL_72ec: ldsfld int64 IntrinsicTest::id_counter64
+ IL_72f1: box [mscorlib]System.Int64
+ IL_72f6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_72fb: ldc.i4.1
+ IL_72fc: stloc.s V_20
+ IL_72fe: ldloc.s V_21
+ IL_7300: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7305: ldloc.s V_21
+ IL_7307: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_730c: beq.s IL_7333
+
+ IL_730e: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7313: ldloc.s V_21
+ IL_7315: ldfld int32 IntrinsicTest::instanceCounter
+ IL_731a: box [mscorlib]System.Int32
+ IL_731f: ldloc.s V_21
+ IL_7321: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7326: box [mscorlib]System.Int32
+ IL_732b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7330: ldc.i4.1
+ IL_7331: stloc.s V_20
+ IL_7333: ldloc.s V_21
+ IL_7335: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_733a: ldloc.s V_21
+ IL_733c: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7341: beq.s IL_7368
+
+ IL_7343: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_7348: ldloc.s V_21
+ IL_734a: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_734f: box [mscorlib]System.Int64
+ IL_7354: ldloc.s V_21
+ IL_7356: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_735b: box [mscorlib]System.Int64
+ IL_7360: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7365: ldc.i4.1
+ IL_7366: stloc.s V_20
+ IL_7368: ldsfld int64 IntrinsicTest::temp
+ IL_736d: ldsfld int64 IntrinsicTest::idmp
+ IL_7372: beq.s IL_7395
+
+ IL_7374: ldstr "temp mismatch {0} {1}"
+ IL_7379: ldsfld int64 IntrinsicTest::temp
+ IL_737e: box [mscorlib]System.Int64
+ IL_7383: ldsfld int64 IntrinsicTest::idmp
+ IL_7388: box [mscorlib]System.Int64
+ IL_738d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7392: ldc.i4.1
+ IL_7393: stloc.s V_20
+ IL_7395: ldsflda int32 IntrinsicTest::counter
+ IL_739a: ldsfld int32 IntrinsicTest::counter
+ IL_739f: ldloc.2
+ IL_73a0: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_73a5: stsfld int32 IntrinsicTest::counter
+ IL_73aa: ldsfld int32 IntrinsicTest::id_counter
+ IL_73af: stsfld int32 IntrinsicTest::id_counter
+ IL_73b4: ldsfld int32 IntrinsicTest::id_counter
+ IL_73b9: ldloc.s V_12
+ IL_73bb: bne.un.s IL_73ca
+
+ IL_73bd: ldsfld int32 IntrinsicTest::id_counter
+ IL_73c2: conv.i8
+ IL_73c3: stsfld int64 IntrinsicTest::idjunk
+ IL_73c8: br.s IL_73d5
+
+ IL_73ca: ldsfld int32 IntrinsicTest::id_counter
+ IL_73cf: conv.i8
+ IL_73d0: stsfld int64 IntrinsicTest::idjunk
+ IL_73d5: ldstr "------------------------------------CMPXCHG 1 1 6 4"
+ IL_73da: call void [System.Console]System.Console::WriteLine(string)
+ IL_73df: ldloc.0
+ IL_73e0: ldloc.s V_10
+ IL_73e2: beq.s IL_73fe
+
+ IL_73e4: ldc.i4.1
+ IL_73e5: stloc.s V_20
+ IL_73e7: ldstr "te0 check failed {0} {1}"
+ IL_73ec: ldloc.0
+ IL_73ed: box [mscorlib]System.Int32
+ IL_73f2: ldloc.s V_10
+ IL_73f4: box [mscorlib]System.Int32
+ IL_73f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_73fe: ldloc.1
+ IL_73ff: ldloc.s V_11
+ IL_7401: beq.s IL_741d
+
+ IL_7403: ldc.i4.1
+ IL_7404: stloc.s V_20
+ IL_7406: ldstr "te1 check failed {0} {1}"
+ IL_740b: ldloc.1
+ IL_740c: box [mscorlib]System.Int32
+ IL_7411: ldloc.s V_11
+ IL_7413: box [mscorlib]System.Int32
+ IL_7418: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_741d: ldloc.2
+ IL_741e: ldloc.s V_12
+ IL_7420: beq.s IL_743c
+
+ IL_7422: ldc.i4.1
+ IL_7423: stloc.s V_20
+ IL_7425: ldstr "te2 check failed {0} {1}"
+ IL_742a: ldloc.2
+ IL_742b: box [mscorlib]System.Int32
+ IL_7430: ldloc.s V_12
+ IL_7432: box [mscorlib]System.Int32
+ IL_7437: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_743c: ldloc.3
+ IL_743d: ldloc.s V_13
+ IL_743f: beq.s IL_745b
+
+ IL_7441: ldc.i4.1
+ IL_7442: stloc.s V_20
+ IL_7444: ldstr "te3 check failed {0} {1}"
+ IL_7449: ldloc.3
+ IL_744a: box [mscorlib]System.Int32
+ IL_744f: ldloc.s V_13
+ IL_7451: box [mscorlib]System.Int32
+ IL_7456: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_745b: ldloc.s V_4
+ IL_745d: ldloc.s V_14
+ IL_745f: beq.s IL_747c
+
+ IL_7461: ldc.i4.1
+ IL_7462: stloc.s V_20
+ IL_7464: ldstr "te064 check failed {0} {1}"
+ IL_7469: ldloc.s V_4
+ IL_746b: box [mscorlib]System.Int64
+ IL_7470: ldloc.s V_14
+ IL_7472: box [mscorlib]System.Int64
+ IL_7477: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_747c: ldloc.s V_5
+ IL_747e: ldloc.s V_15
+ IL_7480: beq.s IL_749d
+
+ IL_7482: ldc.i4.1
+ IL_7483: stloc.s V_20
+ IL_7485: ldstr "te164 check failed {0} {1}"
+ IL_748a: ldloc.s V_5
+ IL_748c: box [mscorlib]System.Int64
+ IL_7491: ldloc.s V_15
+ IL_7493: box [mscorlib]System.Int64
+ IL_7498: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_749d: ldloc.s V_6
+ IL_749f: ldloc.s V_16
+ IL_74a1: beq.s IL_74be
+
+ IL_74a3: ldc.i4.1
+ IL_74a4: stloc.s V_20
+ IL_74a6: ldstr "te264 check failed {0} {1}"
+ IL_74ab: ldloc.s V_6
+ IL_74ad: box [mscorlib]System.Int64
+ IL_74b2: ldloc.s V_16
+ IL_74b4: box [mscorlib]System.Int64
+ IL_74b9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_74be: ldloc.s V_7
+ IL_74c0: ldloc.s V_17
+ IL_74c2: beq.s IL_74df
+
+ IL_74c4: ldc.i4.1
+ IL_74c5: stloc.s V_20
+ IL_74c7: ldstr "te364 check failed {0} {1}"
+ IL_74cc: ldloc.s V_7
+ IL_74ce: box [mscorlib]System.Int64
+ IL_74d3: ldloc.s V_17
+ IL_74d5: box [mscorlib]System.Int64
+ IL_74da: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_74df: ldloc.s V_8
+ IL_74e1: ldloc.s V_18
+ IL_74e3: beq.s IL_7500
+
+ IL_74e5: ldc.i4.1
+ IL_74e6: stloc.s V_20
+ IL_74e8: ldstr "dummy check failed {0} {1}"
+ IL_74ed: ldloc.s V_8
+ IL_74ef: box [mscorlib]System.Int32
+ IL_74f4: ldloc.s V_18
+ IL_74f6: box [mscorlib]System.Int32
+ IL_74fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7500: ldloc.s V_9
+ IL_7502: ldloc.s V_19
+ IL_7504: beq.s IL_7521
+
+ IL_7506: ldc.i4.1
+ IL_7507: stloc.s V_20
+ IL_7509: ldstr "dummy64 check failed {0} {1}"
+ IL_750e: ldloc.s V_9
+ IL_7510: box [mscorlib]System.Int64
+ IL_7515: ldloc.s V_19
+ IL_7517: box [mscorlib]System.Int64
+ IL_751c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7521: ldsfld int32 IntrinsicTest::counter
+ IL_7526: ldsfld int32 IntrinsicTest::id_counter
+ IL_752b: beq.s IL_754e
+
+ IL_752d: ldstr "counter mismatch {0} {1}"
+ IL_7532: ldsfld int32 IntrinsicTest::counter
+ IL_7537: box [mscorlib]System.Int32
+ IL_753c: ldsfld int32 IntrinsicTest::id_counter
+ IL_7541: box [mscorlib]System.Int32
+ IL_7546: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_754b: ldc.i4.1
+ IL_754c: stloc.s V_20
+ IL_754e: ldsfld int64 IntrinsicTest::counter64
+ IL_7553: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7558: beq.s IL_757b
+
+ IL_755a: ldstr "counter64 mismatch {0} {1}"
+ IL_755f: ldsfld int64 IntrinsicTest::counter64
+ IL_7564: box [mscorlib]System.Int64
+ IL_7569: ldsfld int64 IntrinsicTest::id_counter64
+ IL_756e: box [mscorlib]System.Int64
+ IL_7573: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7578: ldc.i4.1
+ IL_7579: stloc.s V_20
+ IL_757b: ldloc.s V_21
+ IL_757d: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7582: ldloc.s V_21
+ IL_7584: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7589: beq.s IL_75b0
+
+ IL_758b: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7590: ldloc.s V_21
+ IL_7592: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7597: box [mscorlib]System.Int32
+ IL_759c: ldloc.s V_21
+ IL_759e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_75a3: box [mscorlib]System.Int32
+ IL_75a8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_75ad: ldc.i4.1
+ IL_75ae: stloc.s V_20
+ IL_75b0: ldloc.s V_21
+ IL_75b2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_75b7: ldloc.s V_21
+ IL_75b9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_75be: beq.s IL_75e5
+
+ IL_75c0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_75c5: ldloc.s V_21
+ IL_75c7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_75cc: box [mscorlib]System.Int64
+ IL_75d1: ldloc.s V_21
+ IL_75d3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_75d8: box [mscorlib]System.Int64
+ IL_75dd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_75e2: ldc.i4.1
+ IL_75e3: stloc.s V_20
+ IL_75e5: ldsfld int64 IntrinsicTest::temp
+ IL_75ea: ldsfld int64 IntrinsicTest::idmp
+ IL_75ef: beq.s IL_7612
+
+ IL_75f1: ldstr "temp mismatch {0} {1}"
+ IL_75f6: ldsfld int64 IntrinsicTest::temp
+ IL_75fb: box [mscorlib]System.Int64
+ IL_7600: ldsfld int64 IntrinsicTest::idmp
+ IL_7605: box [mscorlib]System.Int64
+ IL_760a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_760f: ldc.i4.1
+ IL_7610: stloc.s V_20
+ IL_7612: ldloc.s V_21
+ IL_7614: ldsflda int32 IntrinsicTest::counter
+ IL_7619: ldsfld int32 IntrinsicTest::counter
+ IL_761e: ldloc.2
+ IL_761f: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_7624: stfld int32 IntrinsicTest::instanceCounter
+ IL_7629: ldloc.s V_21
+ IL_762b: ldsfld int32 IntrinsicTest::id_counter
+ IL_7630: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_7635: ldsfld int32 IntrinsicTest::id_counter
+ IL_763a: ldloc.s V_12
+ IL_763c: bne.un.s IL_764a
+
+ IL_763e: ldsfld int32 IntrinsicTest::id_counter
+ IL_7643: stsfld int32 IntrinsicTest::id_counter
+ IL_7648: br.s IL_7655
+
+ IL_764a: ldsfld int32 IntrinsicTest::id_counter
+ IL_764f: conv.i8
+ IL_7650: stsfld int64 IntrinsicTest::idjunk
+ IL_7655: ldstr "------------------------------------CMPXCHG 1 1 6 5"
+ IL_765a: call void [System.Console]System.Console::WriteLine(string)
+ IL_765f: ldloc.0
+ IL_7660: ldloc.s V_10
+ IL_7662: beq.s IL_767e
+
+ IL_7664: ldc.i4.1
+ IL_7665: stloc.s V_20
+ IL_7667: ldstr "te0 check failed {0} {1}"
+ IL_766c: ldloc.0
+ IL_766d: box [mscorlib]System.Int32
+ IL_7672: ldloc.s V_10
+ IL_7674: box [mscorlib]System.Int32
+ IL_7679: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_767e: ldloc.1
+ IL_767f: ldloc.s V_11
+ IL_7681: beq.s IL_769d
+
+ IL_7683: ldc.i4.1
+ IL_7684: stloc.s V_20
+ IL_7686: ldstr "te1 check failed {0} {1}"
+ IL_768b: ldloc.1
+ IL_768c: box [mscorlib]System.Int32
+ IL_7691: ldloc.s V_11
+ IL_7693: box [mscorlib]System.Int32
+ IL_7698: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_769d: ldloc.2
+ IL_769e: ldloc.s V_12
+ IL_76a0: beq.s IL_76bc
+
+ IL_76a2: ldc.i4.1
+ IL_76a3: stloc.s V_20
+ IL_76a5: ldstr "te2 check failed {0} {1}"
+ IL_76aa: ldloc.2
+ IL_76ab: box [mscorlib]System.Int32
+ IL_76b0: ldloc.s V_12
+ IL_76b2: box [mscorlib]System.Int32
+ IL_76b7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76bc: ldloc.3
+ IL_76bd: ldloc.s V_13
+ IL_76bf: beq.s IL_76db
+
+ IL_76c1: ldc.i4.1
+ IL_76c2: stloc.s V_20
+ IL_76c4: ldstr "te3 check failed {0} {1}"
+ IL_76c9: ldloc.3
+ IL_76ca: box [mscorlib]System.Int32
+ IL_76cf: ldloc.s V_13
+ IL_76d1: box [mscorlib]System.Int32
+ IL_76d6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76db: ldloc.s V_4
+ IL_76dd: ldloc.s V_14
+ IL_76df: beq.s IL_76fc
+
+ IL_76e1: ldc.i4.1
+ IL_76e2: stloc.s V_20
+ IL_76e4: ldstr "te064 check failed {0} {1}"
+ IL_76e9: ldloc.s V_4
+ IL_76eb: box [mscorlib]System.Int64
+ IL_76f0: ldloc.s V_14
+ IL_76f2: box [mscorlib]System.Int64
+ IL_76f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_76fc: ldloc.s V_5
+ IL_76fe: ldloc.s V_15
+ IL_7700: beq.s IL_771d
+
+ IL_7702: ldc.i4.1
+ IL_7703: stloc.s V_20
+ IL_7705: ldstr "te164 check failed {0} {1}"
+ IL_770a: ldloc.s V_5
+ IL_770c: box [mscorlib]System.Int64
+ IL_7711: ldloc.s V_15
+ IL_7713: box [mscorlib]System.Int64
+ IL_7718: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_771d: ldloc.s V_6
+ IL_771f: ldloc.s V_16
+ IL_7721: beq.s IL_773e
+
+ IL_7723: ldc.i4.1
+ IL_7724: stloc.s V_20
+ IL_7726: ldstr "te264 check failed {0} {1}"
+ IL_772b: ldloc.s V_6
+ IL_772d: box [mscorlib]System.Int64
+ IL_7732: ldloc.s V_16
+ IL_7734: box [mscorlib]System.Int64
+ IL_7739: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_773e: ldloc.s V_7
+ IL_7740: ldloc.s V_17
+ IL_7742: beq.s IL_775f
+
+ IL_7744: ldc.i4.1
+ IL_7745: stloc.s V_20
+ IL_7747: ldstr "te364 check failed {0} {1}"
+ IL_774c: ldloc.s V_7
+ IL_774e: box [mscorlib]System.Int64
+ IL_7753: ldloc.s V_17
+ IL_7755: box [mscorlib]System.Int64
+ IL_775a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_775f: ldloc.s V_8
+ IL_7761: ldloc.s V_18
+ IL_7763: beq.s IL_7780
+
+ IL_7765: ldc.i4.1
+ IL_7766: stloc.s V_20
+ IL_7768: ldstr "dummy check failed {0} {1}"
+ IL_776d: ldloc.s V_8
+ IL_776f: box [mscorlib]System.Int32
+ IL_7774: ldloc.s V_18
+ IL_7776: box [mscorlib]System.Int32
+ IL_777b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7780: ldloc.s V_9
+ IL_7782: ldloc.s V_19
+ IL_7784: beq.s IL_77a1
+
+ IL_7786: ldc.i4.1
+ IL_7787: stloc.s V_20
+ IL_7789: ldstr "dummy64 check failed {0} {1}"
+ IL_778e: ldloc.s V_9
+ IL_7790: box [mscorlib]System.Int64
+ IL_7795: ldloc.s V_19
+ IL_7797: box [mscorlib]System.Int64
+ IL_779c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77a1: ldsfld int32 IntrinsicTest::counter
+ IL_77a6: ldsfld int32 IntrinsicTest::id_counter
+ IL_77ab: beq.s IL_77ce
+
+ IL_77ad: ldstr "counter mismatch {0} {1}"
+ IL_77b2: ldsfld int32 IntrinsicTest::counter
+ IL_77b7: box [mscorlib]System.Int32
+ IL_77bc: ldsfld int32 IntrinsicTest::id_counter
+ IL_77c1: box [mscorlib]System.Int32
+ IL_77c6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77cb: ldc.i4.1
+ IL_77cc: stloc.s V_20
+ IL_77ce: ldsfld int64 IntrinsicTest::counter64
+ IL_77d3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_77d8: beq.s IL_77fb
+
+ IL_77da: ldstr "counter64 mismatch {0} {1}"
+ IL_77df: ldsfld int64 IntrinsicTest::counter64
+ IL_77e4: box [mscorlib]System.Int64
+ IL_77e9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_77ee: box [mscorlib]System.Int64
+ IL_77f3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_77f8: ldc.i4.1
+ IL_77f9: stloc.s V_20
+ IL_77fb: ldloc.s V_21
+ IL_77fd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7802: ldloc.s V_21
+ IL_7804: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7809: beq.s IL_7830
+
+ IL_780b: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7810: ldloc.s V_21
+ IL_7812: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7817: box [mscorlib]System.Int32
+ IL_781c: ldloc.s V_21
+ IL_781e: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7823: box [mscorlib]System.Int32
+ IL_7828: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_782d: ldc.i4.1
+ IL_782e: stloc.s V_20
+ IL_7830: ldloc.s V_21
+ IL_7832: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7837: ldloc.s V_21
+ IL_7839: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_783e: beq.s IL_7865
+
+ IL_7840: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_7845: ldloc.s V_21
+ IL_7847: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_784c: box [mscorlib]System.Int64
+ IL_7851: ldloc.s V_21
+ IL_7853: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7858: box [mscorlib]System.Int64
+ IL_785d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7862: ldc.i4.1
+ IL_7863: stloc.s V_20
+ IL_7865: ldsfld int64 IntrinsicTest::temp
+ IL_786a: ldsfld int64 IntrinsicTest::idmp
+ IL_786f: beq.s IL_7892
+
+ IL_7871: ldstr "temp mismatch {0} {1}"
+ IL_7876: ldsfld int64 IntrinsicTest::temp
+ IL_787b: box [mscorlib]System.Int64
+ IL_7880: ldsfld int64 IntrinsicTest::idmp
+ IL_7885: box [mscorlib]System.Int64
+ IL_788a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_788f: ldc.i4.1
+ IL_7890: stloc.s V_20
+ IL_7892: ldsflda int32 IntrinsicTest::counter
+ IL_7897: ldsfld int32 IntrinsicTest::counter
+ IL_789c: ldloc.2
+ IL_789d: call int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_78a2: stloc.3
+ IL_78a3: ldsfld int32 IntrinsicTest::id_counter
+ IL_78a8: stloc.s V_13
+ IL_78aa: ldsfld int32 IntrinsicTest::id_counter
+ IL_78af: ldloc.s V_12
+ IL_78b1: bne.un.s IL_78bf
+
+ IL_78b3: ldsfld int32 IntrinsicTest::id_counter
+ IL_78b8: stsfld int32 IntrinsicTest::id_counter
+ IL_78bd: br.s IL_78ca
+
+ IL_78bf: ldsfld int32 IntrinsicTest::id_counter
+ IL_78c4: conv.i8
+ IL_78c5: stsfld int64 IntrinsicTest::idjunk
+ IL_78ca: ldstr "------------------------------------CMPXCHG 1 1 6 6"
+ IL_78cf: call void [System.Console]System.Console::WriteLine(string)
+ IL_78d4: ldloc.0
+ IL_78d5: ldloc.s V_10
+ IL_78d7: beq.s IL_78f3
+
+ IL_78d9: ldc.i4.1
+ IL_78da: stloc.s V_20
+ IL_78dc: ldstr "te0 check failed {0} {1}"
+ IL_78e1: ldloc.0
+ IL_78e2: box [mscorlib]System.Int32
+ IL_78e7: ldloc.s V_10
+ IL_78e9: box [mscorlib]System.Int32
+ IL_78ee: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_78f3: ldloc.1
+ IL_78f4: ldloc.s V_11
+ IL_78f6: beq.s IL_7912
+
+ IL_78f8: ldc.i4.1
+ IL_78f9: stloc.s V_20
+ IL_78fb: ldstr "te1 check failed {0} {1}"
+ IL_7900: ldloc.1
+ IL_7901: box [mscorlib]System.Int32
+ IL_7906: ldloc.s V_11
+ IL_7908: box [mscorlib]System.Int32
+ IL_790d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7912: ldloc.2
+ IL_7913: ldloc.s V_12
+ IL_7915: beq.s IL_7931
+
+ IL_7917: ldc.i4.1
+ IL_7918: stloc.s V_20
+ IL_791a: ldstr "te2 check failed {0} {1}"
+ IL_791f: ldloc.2
+ IL_7920: box [mscorlib]System.Int32
+ IL_7925: ldloc.s V_12
+ IL_7927: box [mscorlib]System.Int32
+ IL_792c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7931: ldloc.3
+ IL_7932: ldloc.s V_13
+ IL_7934: beq.s IL_7950
+
+ IL_7936: ldc.i4.1
+ IL_7937: stloc.s V_20
+ IL_7939: ldstr "te3 check failed {0} {1}"
+ IL_793e: ldloc.3
+ IL_793f: box [mscorlib]System.Int32
+ IL_7944: ldloc.s V_13
+ IL_7946: box [mscorlib]System.Int32
+ IL_794b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7950: ldloc.s V_4
+ IL_7952: ldloc.s V_14
+ IL_7954: beq.s IL_7971
+
+ IL_7956: ldc.i4.1
+ IL_7957: stloc.s V_20
+ IL_7959: ldstr "te064 check failed {0} {1}"
+ IL_795e: ldloc.s V_4
+ IL_7960: box [mscorlib]System.Int64
+ IL_7965: ldloc.s V_14
+ IL_7967: box [mscorlib]System.Int64
+ IL_796c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7971: ldloc.s V_5
+ IL_7973: ldloc.s V_15
+ IL_7975: beq.s IL_7992
+
+ IL_7977: ldc.i4.1
+ IL_7978: stloc.s V_20
+ IL_797a: ldstr "te164 check failed {0} {1}"
+ IL_797f: ldloc.s V_5
+ IL_7981: box [mscorlib]System.Int64
+ IL_7986: ldloc.s V_15
+ IL_7988: box [mscorlib]System.Int64
+ IL_798d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7992: ldloc.s V_6
+ IL_7994: ldloc.s V_16
+ IL_7996: beq.s IL_79b3
+
+ IL_7998: ldc.i4.1
+ IL_7999: stloc.s V_20
+ IL_799b: ldstr "te264 check failed {0} {1}"
+ IL_79a0: ldloc.s V_6
+ IL_79a2: box [mscorlib]System.Int64
+ IL_79a7: ldloc.s V_16
+ IL_79a9: box [mscorlib]System.Int64
+ IL_79ae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79b3: ldloc.s V_7
+ IL_79b5: ldloc.s V_17
+ IL_79b7: beq.s IL_79d4
+
+ IL_79b9: ldc.i4.1
+ IL_79ba: stloc.s V_20
+ IL_79bc: ldstr "te364 check failed {0} {1}"
+ IL_79c1: ldloc.s V_7
+ IL_79c3: box [mscorlib]System.Int64
+ IL_79c8: ldloc.s V_17
+ IL_79ca: box [mscorlib]System.Int64
+ IL_79cf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79d4: ldloc.s V_8
+ IL_79d6: ldloc.s V_18
+ IL_79d8: beq.s IL_79f5
+
+ IL_79da: ldc.i4.1
+ IL_79db: stloc.s V_20
+ IL_79dd: ldstr "dummy check failed {0} {1}"
+ IL_79e2: ldloc.s V_8
+ IL_79e4: box [mscorlib]System.Int32
+ IL_79e9: ldloc.s V_18
+ IL_79eb: box [mscorlib]System.Int32
+ IL_79f0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_79f5: ldloc.s V_9
+ IL_79f7: ldloc.s V_19
+ IL_79f9: beq.s IL_7a16
+
+ IL_79fb: ldc.i4.1
+ IL_79fc: stloc.s V_20
+ IL_79fe: ldstr "dummy64 check failed {0} {1}"
+ IL_7a03: ldloc.s V_9
+ IL_7a05: box [mscorlib]System.Int64
+ IL_7a0a: ldloc.s V_19
+ IL_7a0c: box [mscorlib]System.Int64
+ IL_7a11: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a16: ldsfld int32 IntrinsicTest::counter
+ IL_7a1b: ldsfld int32 IntrinsicTest::id_counter
+ IL_7a20: beq.s IL_7a43
+
+ IL_7a22: ldstr "counter mismatch {0} {1}"
+ IL_7a27: ldsfld int32 IntrinsicTest::counter
+ IL_7a2c: box [mscorlib]System.Int32
+ IL_7a31: ldsfld int32 IntrinsicTest::id_counter
+ IL_7a36: box [mscorlib]System.Int32
+ IL_7a3b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a40: ldc.i4.1
+ IL_7a41: stloc.s V_20
+ IL_7a43: ldsfld int64 IntrinsicTest::counter64
+ IL_7a48: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7a4d: beq.s IL_7a70
+
+ IL_7a4f: ldstr "counter64 mismatch {0} {1}"
+ IL_7a54: ldsfld int64 IntrinsicTest::counter64
+ IL_7a59: box [mscorlib]System.Int64
+ IL_7a5e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_7a63: box [mscorlib]System.Int64
+ IL_7a68: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7a6d: ldc.i4.1
+ IL_7a6e: stloc.s V_20
+ IL_7a70: ldloc.s V_21
+ IL_7a72: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7a77: ldloc.s V_21
+ IL_7a79: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7a7e: beq.s IL_7aa5
+
+ IL_7a80: ldstr "instanceCounter mismatch {0} {1}"
+ IL_7a85: ldloc.s V_21
+ IL_7a87: ldfld int32 IntrinsicTest::instanceCounter
+ IL_7a8c: box [mscorlib]System.Int32
+ IL_7a91: ldloc.s V_21
+ IL_7a93: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_7a98: box [mscorlib]System.Int32
+ IL_7a9d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7aa2: ldc.i4.1
+ IL_7aa3: stloc.s V_20
+ IL_7aa5: ldloc.s V_21
+ IL_7aa7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7aac: ldloc.s V_21
+ IL_7aae: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7ab3: beq.s IL_7ada
+
+ IL_7ab5: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_7aba: ldloc.s V_21
+ IL_7abc: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_7ac1: box [mscorlib]System.Int64
+ IL_7ac6: ldloc.s V_21
+ IL_7ac8: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_7acd: box [mscorlib]System.Int64
+ IL_7ad2: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7ad7: ldc.i4.1
+ IL_7ad8: stloc.s V_20
+ IL_7ada: ldsfld int64 IntrinsicTest::temp
+ IL_7adf: ldsfld int64 IntrinsicTest::idmp
+ IL_7ae4: beq.s IL_7b07
+
+ IL_7ae6: ldstr "temp mismatch {0} {1}"
+ IL_7aeb: ldsfld int64 IntrinsicTest::temp
+ IL_7af0: box [mscorlib]System.Int64
+ IL_7af5: ldsfld int64 IntrinsicTest::idmp
+ IL_7afa: box [mscorlib]System.Int64
+ IL_7aff: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_7b04: ldc.i4.1
+ IL_7b05: stloc.s V_20
+ IL_7b07: ldloc.s V_20
+ IL_7b09: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call bool IntrinsicTest::MainTest()
+ IL_0005: brfalse.s IL_0014
+
+ IL_0007: ldstr "Test Failed"
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: ret
+
+ IL_0014: ldstr "Test Passed"
+ IL_0019: call void [System.Console]System.Console::WriteLine(string)
+ IL_001e: ldc.i4.s 100
+ IL_0020: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stsfld int32 IntrinsicTest::counter
+ IL_000a: ldc.i4 0xcad
+ IL_000f: conv.i8
+ IL_0010: stsfld int64 IntrinsicTest::counter64
+ IL_0015: ldc.i4 0xcad
+ IL_001a: stsfld int32 IntrinsicTest::id_counter
+ IL_001f: ldc.i4 0xcad
+ IL_0024: conv.i8
+ IL_0025: stsfld int64 IntrinsicTest::id_counter64
+ IL_002a: ldc.i4 0x457
+ IL_002f: conv.i8
+ IL_0030: stsfld int64 IntrinsicTest::temp
+ IL_0035: ldc.i4 0x457
+ IL_003a: conv.i8
+ IL_003b: stsfld int64 IntrinsicTest::idmp
+ IL_0040: ldc.i4.0
+ IL_0041: conv.i8
+ IL_0042: stsfld int64 IntrinsicTest::idjunk
+ IL_0047: ret
+ }
+
+}
+
+ .data bytearray1 = bytearray ( 0 0 0 0 )
+
+ .data RVAInt = int32 (3245)
+
+ .data RVALong = int64 (3245)
+
+
+
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic3.il b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic3.il
new file mode 100644
index 0000000000..aca149dd82
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic3.il
@@ -0,0 +1,1153 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly o
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module o.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit IntrinsicTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 counter at RVAInt
+ .field private int32 instanceCounter
+ .field private static int64 counter64 at RVALong
+ .field private int64 instanceCounter64
+ .field private static int32 id_counter
+ .field private int32 id_instanceCounter
+ .field private static int64 id_counter64
+ .field private int64 id_instanceCounter64
+ .field private static int64 temp
+ .field private static int64 idmp
+ .field private static int64 idjunk
+ .method private hidebysig specialname rtspecialname
+ instance void .ctor() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldc.i4 0xcad
+ IL_000c: stfld int32 IntrinsicTest::instanceCounter
+ IL_0011: ldarg.0
+ IL_0012: ldc.i4 0xcad
+ IL_0017: conv.i8
+ IL_0018: stfld int64 IntrinsicTest::instanceCounter64
+ IL_001d: ldarg.0
+ IL_001e: ldc.i4 0xcad
+ IL_0023: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_0028: ldarg.0
+ IL_0029: ldc.i4 0xcad
+ IL_002e: conv.i8
+ IL_002f: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0034: ret
+ }
+
+ .method public hidebysig instance int32
+ GetValue() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::temp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::temp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance int32
+ id_GetValue() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::idmp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::idmp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig static bool MainTest() cil managed
+ {
+ .maxstack 3
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4,
+ int64 V_5,
+ int64 V_6,
+ int64 V_7,
+ int32 V_8,
+ int64 V_9,
+ int32 V_10,
+ int32 V_11,
+ int32 V_12,
+ int32 V_13,
+ int64 V_14,
+ int64 V_15,
+ int64 V_16,
+ int64 V_17,
+ int32 V_18,
+ int64 V_19,
+ bool V_20,
+ class IntrinsicTest V_21)
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stloc.0
+ IL_0006: ldc.i4 0x10e5
+ IL_000b: stloc.1
+ IL_000c: ldc.i4 0x10e5
+ IL_0011: stloc.2
+ IL_0012: ldc.i4 0x856
+ IL_0017: stloc.3
+ IL_0018: ldc.i4 0x6efa2
+ IL_001d: conv.i8
+ IL_001e: stloc.s V_4
+ IL_0020: ldc.i4 0x54635
+ IL_0025: conv.i8
+ IL_0026: stloc.s V_5
+ IL_0028: ldc.i4 0x54635
+ IL_002d: conv.i8
+ IL_002e: stloc.s V_6
+ IL_0030: ldc.i4 0x545dc
+ IL_0035: conv.i8
+ IL_0036: stloc.s V_7
+ IL_0038: ldc.i4 0x1103
+ IL_003d: stloc.s V_8
+ IL_003f: ldc.i4 0xa03d6
+ IL_0044: conv.i8
+ IL_0045: stloc.s V_9
+ IL_0047: ldc.i4 0xcad
+ IL_004c: stloc.s V_10
+ IL_004e: ldc.i4 0x10e5
+ IL_0053: stloc.s V_11
+ IL_0055: ldc.i4 0x10e5
+ IL_005a: stloc.s V_12
+ IL_005c: ldc.i4 0x856
+ IL_0061: stloc.s V_13
+ IL_0063: ldc.i4 0x6efa2
+ IL_0068: conv.i8
+ IL_0069: stloc.s V_14
+ IL_006b: ldc.i4 0x54635
+ IL_0070: conv.i8
+ IL_0071: stloc.s V_15
+ IL_0073: ldc.i4 0x54635
+ IL_0078: conv.i8
+ IL_0079: stloc.s V_16
+ IL_007b: ldc.i4 0x545dc
+ IL_0080: conv.i8
+ IL_0081: stloc.s V_17
+ IL_0083: ldc.i4 0x1103
+ IL_0088: stloc.s V_18
+ IL_008a: ldc.i4 0xa03d6
+ IL_008f: conv.i8
+ IL_0090: stloc.s V_19
+ IL_0092: ldc.i4.0
+ IL_0093: stloc.s V_20
+ IL_0095: newobj instance void IntrinsicTest::.ctor()
+ IL_009a: stloc.s V_21
+ IL_009c: ldsflda int64 IntrinsicTest::counter64
+ IL_00a1: call int64 [mscorlib]System.Threading.Interlocked::Increment(int64&)
+ IL_00a6: stsfld int64 IntrinsicTest::counter64
+ IL_00ab: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00b0: ldc.i4.1
+ IL_00b1: conv.i8
+ IL_00b2: add
+ IL_00b3: stsfld int64 IntrinsicTest::id_counter64
+ IL_00b8: ldsfld int64 IntrinsicTest::id_counter64
+ IL_00bd: stsfld int64 IntrinsicTest::id_counter64
+ IL_00c2: ldstr "------------------------------------INC 64 1 1 0 1"
+ IL_00c7: call void [System.Console]System.Console::WriteLine(string)
+ IL_00cc: ldloc.0
+ IL_00cd: ldloc.s V_10
+ IL_00cf: beq.s IL_00eb
+
+ IL_00d1: ldc.i4.1
+ IL_00d2: stloc.s V_20
+ IL_00d4: ldstr "te0 check failed {0} {1}"
+ IL_00d9: ldloc.0
+ IL_00da: box [mscorlib]System.Int32
+ IL_00df: ldloc.s V_10
+ IL_00e1: box [mscorlib]System.Int32
+ IL_00e6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_00eb: ldloc.1
+ IL_00ec: ldloc.s V_11
+ IL_00ee: beq.s IL_010a
+
+ IL_00f0: ldc.i4.1
+ IL_00f1: stloc.s V_20
+ IL_00f3: ldstr "te1 check failed {0} {1}"
+ IL_00f8: ldloc.1
+ IL_00f9: box [mscorlib]System.Int32
+ IL_00fe: ldloc.s V_11
+ IL_0100: box [mscorlib]System.Int32
+ IL_0105: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_010a: ldloc.2
+ IL_010b: ldloc.s V_12
+ IL_010d: beq.s IL_0129
+
+ IL_010f: ldc.i4.1
+ IL_0110: stloc.s V_20
+ IL_0112: ldstr "te2 check failed {0} {1}"
+ IL_0117: ldloc.2
+ IL_0118: box [mscorlib]System.Int32
+ IL_011d: ldloc.s V_12
+ IL_011f: box [mscorlib]System.Int32
+ IL_0124: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0129: ldloc.3
+ IL_012a: ldloc.s V_13
+ IL_012c: beq.s IL_0148
+
+ IL_012e: ldc.i4.1
+ IL_012f: stloc.s V_20
+ IL_0131: ldstr "te3 check failed {0} {1}"
+ IL_0136: ldloc.3
+ IL_0137: box [mscorlib]System.Int32
+ IL_013c: ldloc.s V_13
+ IL_013e: box [mscorlib]System.Int32
+ IL_0143: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0148: ldloc.s V_4
+ IL_014a: ldloc.s V_14
+ IL_014c: beq.s IL_0169
+
+ IL_014e: ldc.i4.1
+ IL_014f: stloc.s V_20
+ IL_0151: ldstr "te064 check failed {0} {1}"
+ IL_0156: ldloc.s V_4
+ IL_0158: box [mscorlib]System.Int64
+ IL_015d: ldloc.s V_14
+ IL_015f: box [mscorlib]System.Int64
+ IL_0164: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0169: ldloc.s V_5
+ IL_016b: ldloc.s V_15
+ IL_016d: beq.s IL_018a
+
+ IL_016f: ldc.i4.1
+ IL_0170: stloc.s V_20
+ IL_0172: ldstr "te164 check failed {0} {1}"
+ IL_0177: ldloc.s V_5
+ IL_0179: box [mscorlib]System.Int64
+ IL_017e: ldloc.s V_15
+ IL_0180: box [mscorlib]System.Int64
+ IL_0185: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_018a: ldloc.s V_6
+ IL_018c: ldloc.s V_16
+ IL_018e: beq.s IL_01ab
+
+ IL_0190: ldc.i4.1
+ IL_0191: stloc.s V_20
+ IL_0193: ldstr "te264 check failed {0} {1}"
+ IL_0198: ldloc.s V_6
+ IL_019a: box [mscorlib]System.Int64
+ IL_019f: ldloc.s V_16
+ IL_01a1: box [mscorlib]System.Int64
+ IL_01a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01ab: ldloc.s V_7
+ IL_01ad: ldloc.s V_17
+ IL_01af: beq.s IL_01cc
+
+ IL_01b1: ldc.i4.1
+ IL_01b2: stloc.s V_20
+ IL_01b4: ldstr "te364 check failed {0} {1}"
+ IL_01b9: ldloc.s V_7
+ IL_01bb: box [mscorlib]System.Int64
+ IL_01c0: ldloc.s V_17
+ IL_01c2: box [mscorlib]System.Int64
+ IL_01c7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01cc: ldloc.s V_8
+ IL_01ce: ldloc.s V_18
+ IL_01d0: beq.s IL_01ed
+
+ IL_01d2: ldc.i4.1
+ IL_01d3: stloc.s V_20
+ IL_01d5: ldstr "dummy check failed {0} {1}"
+ IL_01da: ldloc.s V_8
+ IL_01dc: box [mscorlib]System.Int32
+ IL_01e1: ldloc.s V_18
+ IL_01e3: box [mscorlib]System.Int32
+ IL_01e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01ed: ldloc.s V_9
+ IL_01ef: ldloc.s V_19
+ IL_01f1: beq.s IL_020e
+
+ IL_01f3: ldc.i4.1
+ IL_01f4: stloc.s V_20
+ IL_01f6: ldstr "dummy64 check failed {0} {1}"
+ IL_01fb: ldloc.s V_9
+ IL_01fd: box [mscorlib]System.Int64
+ IL_0202: ldloc.s V_19
+ IL_0204: box [mscorlib]System.Int64
+ IL_0209: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_020e: ldsfld int32 IntrinsicTest::counter
+ IL_0213: ldsfld int32 IntrinsicTest::id_counter
+ IL_0218: beq.s IL_023b
+
+ IL_021a: ldstr "counter mismatch {0} {1}"
+ IL_021f: ldsfld int32 IntrinsicTest::counter
+ IL_0224: box [mscorlib]System.Int32
+ IL_0229: ldsfld int32 IntrinsicTest::id_counter
+ IL_022e: box [mscorlib]System.Int32
+ IL_0233: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0238: ldc.i4.1
+ IL_0239: stloc.s V_20
+ IL_023b: ldsfld int64 IntrinsicTest::counter64
+ IL_0240: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0245: beq.s IL_0268
+
+ IL_0247: ldstr "counter64 mismatch {0} {1}"
+ IL_024c: ldsfld int64 IntrinsicTest::counter64
+ IL_0251: box [mscorlib]System.Int64
+ IL_0256: ldsfld int64 IntrinsicTest::id_counter64
+ IL_025b: box [mscorlib]System.Int64
+ IL_0260: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0265: ldc.i4.1
+ IL_0266: stloc.s V_20
+ IL_0268: ldloc.s V_21
+ IL_026a: ldfld int32 IntrinsicTest::instanceCounter
+ IL_026f: ldloc.s V_21
+ IL_0271: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0276: beq.s IL_029d
+
+ IL_0278: ldstr "instanceCounter mismatch {0} {1}"
+ IL_027d: ldloc.s V_21
+ IL_027f: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0284: box [mscorlib]System.Int32
+ IL_0289: ldloc.s V_21
+ IL_028b: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0290: box [mscorlib]System.Int32
+ IL_0295: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_029a: ldc.i4.1
+ IL_029b: stloc.s V_20
+ IL_029d: ldloc.s V_21
+ IL_029f: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02a4: ldloc.s V_21
+ IL_02a6: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02ab: beq.s IL_02d2
+
+ IL_02ad: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_02b2: ldloc.s V_21
+ IL_02b4: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02b9: box [mscorlib]System.Int64
+ IL_02be: ldloc.s V_21
+ IL_02c0: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02c5: box [mscorlib]System.Int64
+ IL_02ca: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02cf: ldc.i4.1
+ IL_02d0: stloc.s V_20
+ IL_02d2: ldsfld int64 IntrinsicTest::temp
+ IL_02d7: ldsfld int64 IntrinsicTest::idmp
+ IL_02dc: beq.s IL_02ff
+
+ IL_02de: ldstr "temp mismatch {0} {1}"
+ IL_02e3: ldsfld int64 IntrinsicTest::temp
+ IL_02e8: box [mscorlib]System.Int64
+ IL_02ed: ldsfld int64 IntrinsicTest::idmp
+ IL_02f2: box [mscorlib]System.Int64
+ IL_02f7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02fc: ldc.i4.1
+ IL_02fd: stloc.s V_20
+ IL_02ff: ldsflda int64 IntrinsicTest::counter64
+ IL_0304: call int64 [mscorlib]System.Threading.Interlocked::Decrement(int64&)
+ IL_0309: stsfld int64 IntrinsicTest::counter64
+ IL_030e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0313: ldc.i4.1
+ IL_0314: conv.i8
+ IL_0315: sub
+ IL_0316: stsfld int64 IntrinsicTest::id_counter64
+ IL_031b: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0320: stsfld int64 IntrinsicTest::id_counter64
+ IL_0325: ldstr "------------------------------------DEC 64 1 1 0 1"
+ IL_032a: call void [System.Console]System.Console::WriteLine(string)
+ IL_032f: ldloc.0
+ IL_0330: ldloc.s V_10
+ IL_0332: beq.s IL_034e
+
+ IL_0334: ldc.i4.1
+ IL_0335: stloc.s V_20
+ IL_0337: ldstr "te0 check failed {0} {1}"
+ IL_033c: ldloc.0
+ IL_033d: box [mscorlib]System.Int32
+ IL_0342: ldloc.s V_10
+ IL_0344: box [mscorlib]System.Int32
+ IL_0349: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_034e: ldloc.1
+ IL_034f: ldloc.s V_11
+ IL_0351: beq.s IL_036d
+
+ IL_0353: ldc.i4.1
+ IL_0354: stloc.s V_20
+ IL_0356: ldstr "te1 check failed {0} {1}"
+ IL_035b: ldloc.1
+ IL_035c: box [mscorlib]System.Int32
+ IL_0361: ldloc.s V_11
+ IL_0363: box [mscorlib]System.Int32
+ IL_0368: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_036d: ldloc.2
+ IL_036e: ldloc.s V_12
+ IL_0370: beq.s IL_038c
+
+ IL_0372: ldc.i4.1
+ IL_0373: stloc.s V_20
+ IL_0375: ldstr "te2 check failed {0} {1}"
+ IL_037a: ldloc.2
+ IL_037b: box [mscorlib]System.Int32
+ IL_0380: ldloc.s V_12
+ IL_0382: box [mscorlib]System.Int32
+ IL_0387: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_038c: ldloc.3
+ IL_038d: ldloc.s V_13
+ IL_038f: beq.s IL_03ab
+
+ IL_0391: ldc.i4.1
+ IL_0392: stloc.s V_20
+ IL_0394: ldstr "te3 check failed {0} {1}"
+ IL_0399: ldloc.3
+ IL_039a: box [mscorlib]System.Int32
+ IL_039f: ldloc.s V_13
+ IL_03a1: box [mscorlib]System.Int32
+ IL_03a6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03ab: ldloc.s V_4
+ IL_03ad: ldloc.s V_14
+ IL_03af: beq.s IL_03cc
+
+ IL_03b1: ldc.i4.1
+ IL_03b2: stloc.s V_20
+ IL_03b4: ldstr "te064 check failed {0} {1}"
+ IL_03b9: ldloc.s V_4
+ IL_03bb: box [mscorlib]System.Int64
+ IL_03c0: ldloc.s V_14
+ IL_03c2: box [mscorlib]System.Int64
+ IL_03c7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03cc: ldloc.s V_5
+ IL_03ce: ldloc.s V_15
+ IL_03d0: beq.s IL_03ed
+
+ IL_03d2: ldc.i4.1
+ IL_03d3: stloc.s V_20
+ IL_03d5: ldstr "te164 check failed {0} {1}"
+ IL_03da: ldloc.s V_5
+ IL_03dc: box [mscorlib]System.Int64
+ IL_03e1: ldloc.s V_15
+ IL_03e3: box [mscorlib]System.Int64
+ IL_03e8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03ed: ldloc.s V_6
+ IL_03ef: ldloc.s V_16
+ IL_03f1: beq.s IL_040e
+
+ IL_03f3: ldc.i4.1
+ IL_03f4: stloc.s V_20
+ IL_03f6: ldstr "te264 check failed {0} {1}"
+ IL_03fb: ldloc.s V_6
+ IL_03fd: box [mscorlib]System.Int64
+ IL_0402: ldloc.s V_16
+ IL_0404: box [mscorlib]System.Int64
+ IL_0409: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_040e: ldloc.s V_7
+ IL_0410: ldloc.s V_17
+ IL_0412: beq.s IL_042f
+
+ IL_0414: ldc.i4.1
+ IL_0415: stloc.s V_20
+ IL_0417: ldstr "te364 check failed {0} {1}"
+ IL_041c: ldloc.s V_7
+ IL_041e: box [mscorlib]System.Int64
+ IL_0423: ldloc.s V_17
+ IL_0425: box [mscorlib]System.Int64
+ IL_042a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_042f: ldloc.s V_8
+ IL_0431: ldloc.s V_18
+ IL_0433: beq.s IL_0450
+
+ IL_0435: ldc.i4.1
+ IL_0436: stloc.s V_20
+ IL_0438: ldstr "dummy check failed {0} {1}"
+ IL_043d: ldloc.s V_8
+ IL_043f: box [mscorlib]System.Int32
+ IL_0444: ldloc.s V_18
+ IL_0446: box [mscorlib]System.Int32
+ IL_044b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0450: ldloc.s V_9
+ IL_0452: ldloc.s V_19
+ IL_0454: beq.s IL_0471
+
+ IL_0456: ldc.i4.1
+ IL_0457: stloc.s V_20
+ IL_0459: ldstr "dummy64 check failed {0} {1}"
+ IL_045e: ldloc.s V_9
+ IL_0460: box [mscorlib]System.Int64
+ IL_0465: ldloc.s V_19
+ IL_0467: box [mscorlib]System.Int64
+ IL_046c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0471: ldsfld int32 IntrinsicTest::counter
+ IL_0476: ldsfld int32 IntrinsicTest::id_counter
+ IL_047b: beq.s IL_049e
+
+ IL_047d: ldstr "counter mismatch {0} {1}"
+ IL_0482: ldsfld int32 IntrinsicTest::counter
+ IL_0487: box [mscorlib]System.Int32
+ IL_048c: ldsfld int32 IntrinsicTest::id_counter
+ IL_0491: box [mscorlib]System.Int32
+ IL_0496: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_049b: ldc.i4.1
+ IL_049c: stloc.s V_20
+ IL_049e: ldsfld int64 IntrinsicTest::counter64
+ IL_04a3: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04a8: beq.s IL_04cb
+
+ IL_04aa: ldstr "counter64 mismatch {0} {1}"
+ IL_04af: ldsfld int64 IntrinsicTest::counter64
+ IL_04b4: box [mscorlib]System.Int64
+ IL_04b9: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04be: box [mscorlib]System.Int64
+ IL_04c3: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04c8: ldc.i4.1
+ IL_04c9: stloc.s V_20
+ IL_04cb: ldloc.s V_21
+ IL_04cd: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04d2: ldloc.s V_21
+ IL_04d4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_04d9: beq.s IL_0500
+
+ IL_04db: ldstr "instanceCounter mismatch {0} {1}"
+ IL_04e0: ldloc.s V_21
+ IL_04e2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04e7: box [mscorlib]System.Int32
+ IL_04ec: ldloc.s V_21
+ IL_04ee: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_04f3: box [mscorlib]System.Int32
+ IL_04f8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04fd: ldc.i4.1
+ IL_04fe: stloc.s V_20
+ IL_0500: ldloc.s V_21
+ IL_0502: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0507: ldloc.s V_21
+ IL_0509: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_050e: beq.s IL_0535
+
+ IL_0510: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0515: ldloc.s V_21
+ IL_0517: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_051c: box [mscorlib]System.Int64
+ IL_0521: ldloc.s V_21
+ IL_0523: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0528: box [mscorlib]System.Int64
+ IL_052d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0532: ldc.i4.1
+ IL_0533: stloc.s V_20
+ IL_0535: ldsfld int64 IntrinsicTest::temp
+ IL_053a: ldsfld int64 IntrinsicTest::idmp
+ IL_053f: beq.s IL_0562
+
+ IL_0541: ldstr "temp mismatch {0} {1}"
+ IL_0546: ldsfld int64 IntrinsicTest::temp
+ IL_054b: box [mscorlib]System.Int64
+ IL_0550: ldsfld int64 IntrinsicTest::idmp
+ IL_0555: box [mscorlib]System.Int64
+ IL_055a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_055f: ldc.i4.1
+ IL_0560: stloc.s V_20
+ IL_0562: ldsflda int64 IntrinsicTest::counter64
+ IL_0567: ldsfld int64 IntrinsicTest::counter64
+ IL_056c: call int64 [mscorlib]System.Threading.Interlocked::Exchange(int64&,
+ int64)
+ IL_0571: stsfld int64 IntrinsicTest::counter64
+ IL_0576: ldsfld int64 IntrinsicTest::id_counter64
+ IL_057b: stsfld int64 IntrinsicTest::id_counter64
+ IL_0580: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0585: stsfld int64 IntrinsicTest::idjunk
+ IL_058a: ldstr "------------------------------------XCHG 64 1 1 0 1"
+ IL_058f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0594: ldloc.0
+ IL_0595: ldloc.s V_10
+ IL_0597: beq.s IL_05b3
+
+ IL_0599: ldc.i4.1
+ IL_059a: stloc.s V_20
+ IL_059c: ldstr "te0 check failed {0} {1}"
+ IL_05a1: ldloc.0
+ IL_05a2: box [mscorlib]System.Int32
+ IL_05a7: ldloc.s V_10
+ IL_05a9: box [mscorlib]System.Int32
+ IL_05ae: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05b3: ldloc.1
+ IL_05b4: ldloc.s V_11
+ IL_05b6: beq.s IL_05d2
+
+ IL_05b8: ldc.i4.1
+ IL_05b9: stloc.s V_20
+ IL_05bb: ldstr "te1 check failed {0} {1}"
+ IL_05c0: ldloc.1
+ IL_05c1: box [mscorlib]System.Int32
+ IL_05c6: ldloc.s V_11
+ IL_05c8: box [mscorlib]System.Int32
+ IL_05cd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05d2: ldloc.2
+ IL_05d3: ldloc.s V_12
+ IL_05d5: beq.s IL_05f1
+
+ IL_05d7: ldc.i4.1
+ IL_05d8: stloc.s V_20
+ IL_05da: ldstr "te2 check failed {0} {1}"
+ IL_05df: ldloc.2
+ IL_05e0: box [mscorlib]System.Int32
+ IL_05e5: ldloc.s V_12
+ IL_05e7: box [mscorlib]System.Int32
+ IL_05ec: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05f1: ldloc.3
+ IL_05f2: ldloc.s V_13
+ IL_05f4: beq.s IL_0610
+
+ IL_05f6: ldc.i4.1
+ IL_05f7: stloc.s V_20
+ IL_05f9: ldstr "te3 check failed {0} {1}"
+ IL_05fe: ldloc.3
+ IL_05ff: box [mscorlib]System.Int32
+ IL_0604: ldloc.s V_13
+ IL_0606: box [mscorlib]System.Int32
+ IL_060b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0610: ldloc.s V_4
+ IL_0612: ldloc.s V_14
+ IL_0614: beq.s IL_0631
+
+ IL_0616: ldc.i4.1
+ IL_0617: stloc.s V_20
+ IL_0619: ldstr "te064 check failed {0} {1}"
+ IL_061e: ldloc.s V_4
+ IL_0620: box [mscorlib]System.Int64
+ IL_0625: ldloc.s V_14
+ IL_0627: box [mscorlib]System.Int64
+ IL_062c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0631: ldloc.s V_5
+ IL_0633: ldloc.s V_15
+ IL_0635: beq.s IL_0652
+
+ IL_0637: ldc.i4.1
+ IL_0638: stloc.s V_20
+ IL_063a: ldstr "te164 check failed {0} {1}"
+ IL_063f: ldloc.s V_5
+ IL_0641: box [mscorlib]System.Int64
+ IL_0646: ldloc.s V_15
+ IL_0648: box [mscorlib]System.Int64
+ IL_064d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0652: ldloc.s V_6
+ IL_0654: ldloc.s V_16
+ IL_0656: beq.s IL_0673
+
+ IL_0658: ldc.i4.1
+ IL_0659: stloc.s V_20
+ IL_065b: ldstr "te264 check failed {0} {1}"
+ IL_0660: ldloc.s V_6
+ IL_0662: box [mscorlib]System.Int64
+ IL_0667: ldloc.s V_16
+ IL_0669: box [mscorlib]System.Int64
+ IL_066e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0673: ldloc.s V_7
+ IL_0675: ldloc.s V_17
+ IL_0677: beq.s IL_0694
+
+ IL_0679: ldc.i4.1
+ IL_067a: stloc.s V_20
+ IL_067c: ldstr "te364 check failed {0} {1}"
+ IL_0681: ldloc.s V_7
+ IL_0683: box [mscorlib]System.Int64
+ IL_0688: ldloc.s V_17
+ IL_068a: box [mscorlib]System.Int64
+ IL_068f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0694: ldloc.s V_8
+ IL_0696: ldloc.s V_18
+ IL_0698: beq.s IL_06b5
+
+ IL_069a: ldc.i4.1
+ IL_069b: stloc.s V_20
+ IL_069d: ldstr "dummy check failed {0} {1}"
+ IL_06a2: ldloc.s V_8
+ IL_06a4: box [mscorlib]System.Int32
+ IL_06a9: ldloc.s V_18
+ IL_06ab: box [mscorlib]System.Int32
+ IL_06b0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06b5: ldloc.s V_9
+ IL_06b7: ldloc.s V_19
+ IL_06b9: beq.s IL_06d6
+
+ IL_06bb: ldc.i4.1
+ IL_06bc: stloc.s V_20
+ IL_06be: ldstr "dummy64 check failed {0} {1}"
+ IL_06c3: ldloc.s V_9
+ IL_06c5: box [mscorlib]System.Int64
+ IL_06ca: ldloc.s V_19
+ IL_06cc: box [mscorlib]System.Int64
+ IL_06d1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06d6: ldsfld int32 IntrinsicTest::counter
+ IL_06db: ldsfld int32 IntrinsicTest::id_counter
+ IL_06e0: beq.s IL_0703
+
+ IL_06e2: ldstr "counter mismatch {0} {1}"
+ IL_06e7: ldsfld int32 IntrinsicTest::counter
+ IL_06ec: box [mscorlib]System.Int32
+ IL_06f1: ldsfld int32 IntrinsicTest::id_counter
+ IL_06f6: box [mscorlib]System.Int32
+ IL_06fb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0700: ldc.i4.1
+ IL_0701: stloc.s V_20
+ IL_0703: ldsfld int64 IntrinsicTest::counter64
+ IL_0708: ldsfld int64 IntrinsicTest::id_counter64
+ IL_070d: beq.s IL_0730
+
+ IL_070f: ldstr "counter64 mismatch {0} {1}"
+ IL_0714: ldsfld int64 IntrinsicTest::counter64
+ IL_0719: box [mscorlib]System.Int64
+ IL_071e: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0723: box [mscorlib]System.Int64
+ IL_0728: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_072d: ldc.i4.1
+ IL_072e: stloc.s V_20
+ IL_0730: ldloc.s V_21
+ IL_0732: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0737: ldloc.s V_21
+ IL_0739: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_073e: beq.s IL_0765
+
+ IL_0740: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0745: ldloc.s V_21
+ IL_0747: ldfld int32 IntrinsicTest::instanceCounter
+ IL_074c: box [mscorlib]System.Int32
+ IL_0751: ldloc.s V_21
+ IL_0753: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0758: box [mscorlib]System.Int32
+ IL_075d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0762: ldc.i4.1
+ IL_0763: stloc.s V_20
+ IL_0765: ldloc.s V_21
+ IL_0767: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_076c: ldloc.s V_21
+ IL_076e: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0773: beq.s IL_079a
+
+ IL_0775: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_077a: ldloc.s V_21
+ IL_077c: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0781: box [mscorlib]System.Int64
+ IL_0786: ldloc.s V_21
+ IL_0788: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_078d: box [mscorlib]System.Int64
+ IL_0792: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0797: ldc.i4.1
+ IL_0798: stloc.s V_20
+ IL_079a: ldsfld int64 IntrinsicTest::temp
+ IL_079f: ldsfld int64 IntrinsicTest::idmp
+ IL_07a4: beq.s IL_07c7
+
+ IL_07a6: ldstr "temp mismatch {0} {1}"
+ IL_07ab: ldsfld int64 IntrinsicTest::temp
+ IL_07b0: box [mscorlib]System.Int64
+ IL_07b5: ldsfld int64 IntrinsicTest::idmp
+ IL_07ba: box [mscorlib]System.Int64
+ IL_07bf: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07c4: ldc.i4.1
+ IL_07c5: stloc.s V_20
+ IL_07c7: ldsflda int64 IntrinsicTest::counter64
+ IL_07cc: ldsfld int64 IntrinsicTest::counter64
+ IL_07d1: call int64 [mscorlib]System.Threading.Interlocked::Add(int64&,
+ int64)
+ IL_07d6: stsfld int64 IntrinsicTest::counter64
+ IL_07db: ldsfld int64 IntrinsicTest::id_counter64
+ IL_07e0: ldsfld int64 IntrinsicTest::id_counter64
+ IL_07e5: add
+ IL_07e6: stsfld int64 IntrinsicTest::id_counter64
+ IL_07eb: ldsfld int64 IntrinsicTest::id_counter64
+ IL_07f0: stsfld int64 IntrinsicTest::id_counter64
+ IL_07f5: ldstr "------------------------------------XADD 64 1 1 0 1"
+ IL_07fa: call void [System.Console]System.Console::WriteLine(string)
+ IL_07ff: ldloc.0
+ IL_0800: ldloc.s V_10
+ IL_0802: beq.s IL_081e
+
+ IL_0804: ldc.i4.1
+ IL_0805: stloc.s V_20
+ IL_0807: ldstr "te0 check failed {0} {1}"
+ IL_080c: ldloc.0
+ IL_080d: box [mscorlib]System.Int32
+ IL_0812: ldloc.s V_10
+ IL_0814: box [mscorlib]System.Int32
+ IL_0819: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_081e: ldloc.1
+ IL_081f: ldloc.s V_11
+ IL_0821: beq.s IL_083d
+
+ IL_0823: ldc.i4.1
+ IL_0824: stloc.s V_20
+ IL_0826: ldstr "te1 check failed {0} {1}"
+ IL_082b: ldloc.1
+ IL_082c: box [mscorlib]System.Int32
+ IL_0831: ldloc.s V_11
+ IL_0833: box [mscorlib]System.Int32
+ IL_0838: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_083d: ldloc.2
+ IL_083e: ldloc.s V_12
+ IL_0840: beq.s IL_085c
+
+ IL_0842: ldc.i4.1
+ IL_0843: stloc.s V_20
+ IL_0845: ldstr "te2 check failed {0} {1}"
+ IL_084a: ldloc.2
+ IL_084b: box [mscorlib]System.Int32
+ IL_0850: ldloc.s V_12
+ IL_0852: box [mscorlib]System.Int32
+ IL_0857: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_085c: ldloc.3
+ IL_085d: ldloc.s V_13
+ IL_085f: beq.s IL_087b
+
+ IL_0861: ldc.i4.1
+ IL_0862: stloc.s V_20
+ IL_0864: ldstr "te3 check failed {0} {1}"
+ IL_0869: ldloc.3
+ IL_086a: box [mscorlib]System.Int32
+ IL_086f: ldloc.s V_13
+ IL_0871: box [mscorlib]System.Int32
+ IL_0876: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_087b: ldloc.s V_4
+ IL_087d: ldloc.s V_14
+ IL_087f: beq.s IL_089c
+
+ IL_0881: ldc.i4.1
+ IL_0882: stloc.s V_20
+ IL_0884: ldstr "te064 check failed {0} {1}"
+ IL_0889: ldloc.s V_4
+ IL_088b: box [mscorlib]System.Int64
+ IL_0890: ldloc.s V_14
+ IL_0892: box [mscorlib]System.Int64
+ IL_0897: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_089c: ldloc.s V_5
+ IL_089e: ldloc.s V_15
+ IL_08a0: beq.s IL_08bd
+
+ IL_08a2: ldc.i4.1
+ IL_08a3: stloc.s V_20
+ IL_08a5: ldstr "te164 check failed {0} {1}"
+ IL_08aa: ldloc.s V_5
+ IL_08ac: box [mscorlib]System.Int64
+ IL_08b1: ldloc.s V_15
+ IL_08b3: box [mscorlib]System.Int64
+ IL_08b8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08bd: ldloc.s V_6
+ IL_08bf: ldloc.s V_16
+ IL_08c1: beq.s IL_08de
+
+ IL_08c3: ldc.i4.1
+ IL_08c4: stloc.s V_20
+ IL_08c6: ldstr "te264 check failed {0} {1}"
+ IL_08cb: ldloc.s V_6
+ IL_08cd: box [mscorlib]System.Int64
+ IL_08d2: ldloc.s V_16
+ IL_08d4: box [mscorlib]System.Int64
+ IL_08d9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08de: ldloc.s V_7
+ IL_08e0: ldloc.s V_17
+ IL_08e2: beq.s IL_08ff
+
+ IL_08e4: ldc.i4.1
+ IL_08e5: stloc.s V_20
+ IL_08e7: ldstr "te364 check failed {0} {1}"
+ IL_08ec: ldloc.s V_7
+ IL_08ee: box [mscorlib]System.Int64
+ IL_08f3: ldloc.s V_17
+ IL_08f5: box [mscorlib]System.Int64
+ IL_08fa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08ff: ldloc.s V_8
+ IL_0901: ldloc.s V_18
+ IL_0903: beq.s IL_0920
+
+ IL_0905: ldc.i4.1
+ IL_0906: stloc.s V_20
+ IL_0908: ldstr "dummy check failed {0} {1}"
+ IL_090d: ldloc.s V_8
+ IL_090f: box [mscorlib]System.Int32
+ IL_0914: ldloc.s V_18
+ IL_0916: box [mscorlib]System.Int32
+ IL_091b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0920: ldloc.s V_9
+ IL_0922: ldloc.s V_19
+ IL_0924: beq.s IL_0941
+
+ IL_0926: ldc.i4.1
+ IL_0927: stloc.s V_20
+ IL_0929: ldstr "dummy64 check failed {0} {1}"
+ IL_092e: ldloc.s V_9
+ IL_0930: box [mscorlib]System.Int64
+ IL_0935: ldloc.s V_19
+ IL_0937: box [mscorlib]System.Int64
+ IL_093c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0941: ldsfld int32 IntrinsicTest::counter
+ IL_0946: ldsfld int32 IntrinsicTest::id_counter
+ IL_094b: beq.s IL_096e
+
+ IL_094d: ldstr "counter mismatch {0} {1}"
+ IL_0952: ldsfld int32 IntrinsicTest::counter
+ IL_0957: box [mscorlib]System.Int32
+ IL_095c: ldsfld int32 IntrinsicTest::id_counter
+ IL_0961: box [mscorlib]System.Int32
+ IL_0966: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_096b: ldc.i4.1
+ IL_096c: stloc.s V_20
+ IL_096e: ldsfld int64 IntrinsicTest::counter64
+ IL_0973: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0978: beq.s IL_099b
+
+ IL_097a: ldstr "counter64 mismatch {0} {1}"
+ IL_097f: ldsfld int64 IntrinsicTest::counter64
+ IL_0984: box [mscorlib]System.Int64
+ IL_0989: ldsfld int64 IntrinsicTest::id_counter64
+ IL_098e: box [mscorlib]System.Int64
+ IL_0993: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0998: ldc.i4.1
+ IL_0999: stloc.s V_20
+ IL_099b: ldloc.s V_21
+ IL_099d: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09a2: ldloc.s V_21
+ IL_09a4: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09a9: beq.s IL_09d0
+
+ IL_09ab: ldstr "instanceCounter mismatch {0} {1}"
+ IL_09b0: ldloc.s V_21
+ IL_09b2: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09b7: box [mscorlib]System.Int32
+ IL_09bc: ldloc.s V_21
+ IL_09be: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09c3: box [mscorlib]System.Int32
+ IL_09c8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09cd: ldc.i4.1
+ IL_09ce: stloc.s V_20
+ IL_09d0: ldloc.s V_21
+ IL_09d2: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_09d7: ldloc.s V_21
+ IL_09d9: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_09de: beq.s IL_0a05
+
+ IL_09e0: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_09e5: ldloc.s V_21
+ IL_09e7: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_09ec: box [mscorlib]System.Int64
+ IL_09f1: ldloc.s V_21
+ IL_09f3: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_09f8: box [mscorlib]System.Int64
+ IL_09fd: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a02: ldc.i4.1
+ IL_0a03: stloc.s V_20
+ IL_0a05: ldsfld int64 IntrinsicTest::temp
+ IL_0a0a: ldsfld int64 IntrinsicTest::idmp
+ IL_0a0f: beq.s IL_0a32
+
+ IL_0a11: ldstr "temp mismatch {0} {1}"
+ IL_0a16: ldsfld int64 IntrinsicTest::temp
+ IL_0a1b: box [mscorlib]System.Int64
+ IL_0a20: ldsfld int64 IntrinsicTest::idmp
+ IL_0a25: box [mscorlib]System.Int64
+ IL_0a2a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a2f: ldc.i4.1
+ IL_0a30: stloc.s V_20
+ IL_0a32: ldloc.s V_20
+ IL_0a34: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call bool IntrinsicTest::MainTest()
+ IL_0005: brfalse.s IL_0014
+
+ IL_0007: ldstr "Test Failed"
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: ret
+
+ IL_0014: ldstr "Test Passed"
+ IL_0019: call void [System.Console]System.Console::WriteLine(string)
+ IL_001e: ldc.i4.s 100
+ IL_0020: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stsfld int32 IntrinsicTest::counter
+ IL_000a: ldc.i4 0xcad
+ IL_000f: conv.i8
+ IL_0010: stsfld int64 IntrinsicTest::counter64
+ IL_0015: ldc.i4 0xcad
+ IL_001a: stsfld int32 IntrinsicTest::id_counter
+ IL_001f: ldc.i4 0xcad
+ IL_0024: conv.i8
+ IL_0025: stsfld int64 IntrinsicTest::id_counter64
+ IL_002a: ldc.i4 0x457
+ IL_002f: conv.i8
+ IL_0030: stsfld int64 IntrinsicTest::temp
+ IL_0035: ldc.i4 0x457
+ IL_003a: conv.i8
+ IL_003b: stsfld int64 IntrinsicTest::idmp
+ IL_0040: ldc.i4.0
+ IL_0041: conv.i8
+ IL_0042: stsfld int64 IntrinsicTest::idjunk
+ IL_0047: ret
+ }
+
+}
+
+ .data bytearray1 = bytearray ( 0 0 0 0 )
+
+ .data RVAInt = int32 (3245)
+
+ .data RVALong = int64 (3245)
+
+
+
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic4.il b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic4.il
new file mode 100644
index 0000000000..7b2f5a74b3
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvaStatic4.il
@@ -0,0 +1,1152 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly o
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module o.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit IntrinsicTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 counter at RVAInt
+ .field private int32 instanceCounter
+ .field private static int64 counter64 at RVALong
+ .field private int64 instanceCounter64
+ .field private static int32 id_counter
+ .field private int32 id_instanceCounter
+ .field private static int64 id_counter64
+ .field private int64 id_instanceCounter64
+ .field private static int64 temp
+ .field private static int64 idmp
+ .field private static int64 idjunk
+ .method private hidebysig specialname rtspecialname
+ instance void .ctor() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldc.i4 0xcad
+ IL_000c: stfld int32 IntrinsicTest::instanceCounter
+ IL_0011: ldarg.0
+ IL_0012: ldc.i4 0xcad
+ IL_0017: conv.i8
+ IL_0018: stfld int64 IntrinsicTest::instanceCounter64
+ IL_001d: ldarg.0
+ IL_001e: ldc.i4 0xcad
+ IL_0023: stfld int32 IntrinsicTest::id_instanceCounter
+ IL_0028: ldarg.0
+ IL_0029: ldc.i4 0xcad
+ IL_002e: conv.i8
+ IL_002f: stfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0034: ret
+ }
+
+ .method public hidebysig instance int32
+ GetValue() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::temp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::temp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance int32
+ id_GetValue() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldsfld int64 IntrinsicTest::idmp
+ IL_0005: ldc.i4.1
+ IL_0006: conv.i8
+ IL_0007: add
+ IL_0008: stsfld int64 IntrinsicTest::idmp
+ IL_000d: ldc.i4 0x1ceddeed
+ IL_0012: ret
+ }
+
+ .method public hidebysig static bool MainTest() cil managed
+ {
+ .maxstack 3
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4,
+ int64 V_5,
+ int64 V_6,
+ int64 V_7,
+ int32 V_8,
+ int64 V_9,
+ int32 V_10,
+ int32 V_11,
+ int32 V_12,
+ int32 V_13,
+ int64 V_14,
+ int64 V_15,
+ int64 V_16,
+ int64 V_17,
+ int32 V_18,
+ int64 V_19,
+ bool V_20,
+ class IntrinsicTest V_21)
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stloc.0
+ IL_0006: ldc.i4 0x10e5
+ IL_000b: stloc.1
+ IL_000c: ldc.i4 0x10e5
+ IL_0011: stloc.2
+ IL_0012: ldc.i4 0x856
+ IL_0017: stloc.3
+ IL_0018: ldc.i4 0x6efa2
+ IL_001d: conv.i8
+ IL_001e: stloc.s V_4
+ IL_0020: ldc.i4 0x54635
+ IL_0025: conv.i8
+ IL_0026: stloc.s V_5
+ IL_0028: ldc.i4 0x54635
+ IL_002d: conv.i8
+ IL_002e: stloc.s V_6
+ IL_0030: ldc.i4 0x545dc
+ IL_0035: conv.i8
+ IL_0036: stloc.s V_7
+ IL_0038: ldc.i4 0x1103
+ IL_003d: stloc.s V_8
+ IL_003f: ldc.i4 0xa03d6
+ IL_0044: conv.i8
+ IL_0045: stloc.s V_9
+ IL_0047: ldc.i4 0xcad
+ IL_004c: stloc.s V_10
+ IL_004e: ldc.i4 0x10e5
+ IL_0053: stloc.s V_11
+ IL_0055: ldc.i4 0x10e5
+ IL_005a: stloc.s V_12
+ IL_005c: ldc.i4 0x856
+ IL_0061: stloc.s V_13
+ IL_0063: ldc.i4 0x6efa2
+ IL_0068: conv.i8
+ IL_0069: stloc.s V_14
+ IL_006b: ldc.i4 0x54635
+ IL_0070: conv.i8
+ IL_0071: stloc.s V_15
+ IL_0073: ldc.i4 0x54635
+ IL_0078: conv.i8
+ IL_0079: stloc.s V_16
+ IL_007b: ldc.i4 0x545dc
+ IL_0080: conv.i8
+ IL_0081: stloc.s V_17
+ IL_0083: ldc.i4 0x1103
+ IL_0088: stloc.s V_18
+ IL_008a: ldc.i4 0xa03d6
+ IL_008f: conv.i8
+ IL_0090: stloc.s V_19
+ IL_0092: ldc.i4.0
+ IL_0093: stloc.s V_20
+ IL_0095: newobj instance void IntrinsicTest::.ctor()
+ IL_009a: stloc.s V_21
+ IL_009c: ldsflda int32 IntrinsicTest::counter
+ IL_00a1: call int32 [mscorlib]System.Threading.Interlocked::Increment(int32&)
+ IL_00a6: stsfld int32 IntrinsicTest::counter
+ IL_00ab: ldsfld int32 IntrinsicTest::id_counter
+ IL_00b0: ldc.i4.1
+ IL_00b1: add
+ IL_00b2: stsfld int32 IntrinsicTest::id_counter
+ IL_00b7: ldsfld int32 IntrinsicTest::id_counter
+ IL_00bc: stsfld int32 IntrinsicTest::id_counter
+ IL_00c1: ldstr "------------------------------------INC 1 1 0 1"
+ IL_00c6: call void [System.Console]System.Console::WriteLine(string)
+ IL_00cb: ldloc.0
+ IL_00cc: ldloc.s V_10
+ IL_00ce: beq.s IL_00ea
+
+ IL_00d0: ldc.i4.1
+ IL_00d1: stloc.s V_20
+ IL_00d3: ldstr "te0 check failed {0} {1}"
+ IL_00d8: ldloc.0
+ IL_00d9: box [mscorlib]System.Int32
+ IL_00de: ldloc.s V_10
+ IL_00e0: box [mscorlib]System.Int32
+ IL_00e5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_00ea: ldloc.1
+ IL_00eb: ldloc.s V_11
+ IL_00ed: beq.s IL_0109
+
+ IL_00ef: ldc.i4.1
+ IL_00f0: stloc.s V_20
+ IL_00f2: ldstr "te1 check failed {0} {1}"
+ IL_00f7: ldloc.1
+ IL_00f8: box [mscorlib]System.Int32
+ IL_00fd: ldloc.s V_11
+ IL_00ff: box [mscorlib]System.Int32
+ IL_0104: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0109: ldloc.2
+ IL_010a: ldloc.s V_12
+ IL_010c: beq.s IL_0128
+
+ IL_010e: ldc.i4.1
+ IL_010f: stloc.s V_20
+ IL_0111: ldstr "te2 check failed {0} {1}"
+ IL_0116: ldloc.2
+ IL_0117: box [mscorlib]System.Int32
+ IL_011c: ldloc.s V_12
+ IL_011e: box [mscorlib]System.Int32
+ IL_0123: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0128: ldloc.3
+ IL_0129: ldloc.s V_13
+ IL_012b: beq.s IL_0147
+
+ IL_012d: ldc.i4.1
+ IL_012e: stloc.s V_20
+ IL_0130: ldstr "te3 check failed {0} {1}"
+ IL_0135: ldloc.3
+ IL_0136: box [mscorlib]System.Int32
+ IL_013b: ldloc.s V_13
+ IL_013d: box [mscorlib]System.Int32
+ IL_0142: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0147: ldloc.s V_4
+ IL_0149: ldloc.s V_14
+ IL_014b: beq.s IL_0168
+
+ IL_014d: ldc.i4.1
+ IL_014e: stloc.s V_20
+ IL_0150: ldstr "te064 check failed {0} {1}"
+ IL_0155: ldloc.s V_4
+ IL_0157: box [mscorlib]System.Int64
+ IL_015c: ldloc.s V_14
+ IL_015e: box [mscorlib]System.Int64
+ IL_0163: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0168: ldloc.s V_5
+ IL_016a: ldloc.s V_15
+ IL_016c: beq.s IL_0189
+
+ IL_016e: ldc.i4.1
+ IL_016f: stloc.s V_20
+ IL_0171: ldstr "te164 check failed {0} {1}"
+ IL_0176: ldloc.s V_5
+ IL_0178: box [mscorlib]System.Int64
+ IL_017d: ldloc.s V_15
+ IL_017f: box [mscorlib]System.Int64
+ IL_0184: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0189: ldloc.s V_6
+ IL_018b: ldloc.s V_16
+ IL_018d: beq.s IL_01aa
+
+ IL_018f: ldc.i4.1
+ IL_0190: stloc.s V_20
+ IL_0192: ldstr "te264 check failed {0} {1}"
+ IL_0197: ldloc.s V_6
+ IL_0199: box [mscorlib]System.Int64
+ IL_019e: ldloc.s V_16
+ IL_01a0: box [mscorlib]System.Int64
+ IL_01a5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01aa: ldloc.s V_7
+ IL_01ac: ldloc.s V_17
+ IL_01ae: beq.s IL_01cb
+
+ IL_01b0: ldc.i4.1
+ IL_01b1: stloc.s V_20
+ IL_01b3: ldstr "te364 check failed {0} {1}"
+ IL_01b8: ldloc.s V_7
+ IL_01ba: box [mscorlib]System.Int64
+ IL_01bf: ldloc.s V_17
+ IL_01c1: box [mscorlib]System.Int64
+ IL_01c6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01cb: ldloc.s V_8
+ IL_01cd: ldloc.s V_18
+ IL_01cf: beq.s IL_01ec
+
+ IL_01d1: ldc.i4.1
+ IL_01d2: stloc.s V_20
+ IL_01d4: ldstr "dummy check failed {0} {1}"
+ IL_01d9: ldloc.s V_8
+ IL_01db: box [mscorlib]System.Int32
+ IL_01e0: ldloc.s V_18
+ IL_01e2: box [mscorlib]System.Int32
+ IL_01e7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_01ec: ldloc.s V_9
+ IL_01ee: ldloc.s V_19
+ IL_01f0: beq.s IL_020d
+
+ IL_01f2: ldc.i4.1
+ IL_01f3: stloc.s V_20
+ IL_01f5: ldstr "dummy64 check failed {0} {1}"
+ IL_01fa: ldloc.s V_9
+ IL_01fc: box [mscorlib]System.Int64
+ IL_0201: ldloc.s V_19
+ IL_0203: box [mscorlib]System.Int64
+ IL_0208: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_020d: ldsfld int32 IntrinsicTest::counter
+ IL_0212: ldsfld int32 IntrinsicTest::id_counter
+ IL_0217: beq.s IL_023a
+
+ IL_0219: ldstr "counter mismatch {0} {1}"
+ IL_021e: ldsfld int32 IntrinsicTest::counter
+ IL_0223: box [mscorlib]System.Int32
+ IL_0228: ldsfld int32 IntrinsicTest::id_counter
+ IL_022d: box [mscorlib]System.Int32
+ IL_0232: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0237: ldc.i4.1
+ IL_0238: stloc.s V_20
+ IL_023a: ldsfld int64 IntrinsicTest::counter64
+ IL_023f: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0244: beq.s IL_0267
+
+ IL_0246: ldstr "counter64 mismatch {0} {1}"
+ IL_024b: ldsfld int64 IntrinsicTest::counter64
+ IL_0250: box [mscorlib]System.Int64
+ IL_0255: ldsfld int64 IntrinsicTest::id_counter64
+ IL_025a: box [mscorlib]System.Int64
+ IL_025f: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0264: ldc.i4.1
+ IL_0265: stloc.s V_20
+ IL_0267: ldloc.s V_21
+ IL_0269: ldfld int32 IntrinsicTest::instanceCounter
+ IL_026e: ldloc.s V_21
+ IL_0270: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0275: beq.s IL_029c
+
+ IL_0277: ldstr "instanceCounter mismatch {0} {1}"
+ IL_027c: ldloc.s V_21
+ IL_027e: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0283: box [mscorlib]System.Int32
+ IL_0288: ldloc.s V_21
+ IL_028a: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_028f: box [mscorlib]System.Int32
+ IL_0294: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0299: ldc.i4.1
+ IL_029a: stloc.s V_20
+ IL_029c: ldloc.s V_21
+ IL_029e: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02a3: ldloc.s V_21
+ IL_02a5: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02aa: beq.s IL_02d1
+
+ IL_02ac: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_02b1: ldloc.s V_21
+ IL_02b3: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_02b8: box [mscorlib]System.Int64
+ IL_02bd: ldloc.s V_21
+ IL_02bf: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_02c4: box [mscorlib]System.Int64
+ IL_02c9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02ce: ldc.i4.1
+ IL_02cf: stloc.s V_20
+ IL_02d1: ldsfld int64 IntrinsicTest::temp
+ IL_02d6: ldsfld int64 IntrinsicTest::idmp
+ IL_02db: beq.s IL_02fe
+
+ IL_02dd: ldstr "temp mismatch {0} {1}"
+ IL_02e2: ldsfld int64 IntrinsicTest::temp
+ IL_02e7: box [mscorlib]System.Int64
+ IL_02ec: ldsfld int64 IntrinsicTest::idmp
+ IL_02f1: box [mscorlib]System.Int64
+ IL_02f6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_02fb: ldc.i4.1
+ IL_02fc: stloc.s V_20
+ IL_02fe: ldsflda int32 IntrinsicTest::counter
+ IL_0303: call int32 [mscorlib]System.Threading.Interlocked::Decrement(int32&)
+ IL_0308: stsfld int32 IntrinsicTest::counter
+ IL_030d: ldsfld int32 IntrinsicTest::id_counter
+ IL_0312: ldc.i4.1
+ IL_0313: sub
+ IL_0314: stsfld int32 IntrinsicTest::id_counter
+ IL_0319: ldsfld int32 IntrinsicTest::id_counter
+ IL_031e: stsfld int32 IntrinsicTest::id_counter
+ IL_0323: ldstr "------------------------------------DEC 1 1 0 1"
+ IL_0328: call void [System.Console]System.Console::WriteLine(string)
+ IL_032d: ldloc.0
+ IL_032e: ldloc.s V_10
+ IL_0330: beq.s IL_034c
+
+ IL_0332: ldc.i4.1
+ IL_0333: stloc.s V_20
+ IL_0335: ldstr "te0 check failed {0} {1}"
+ IL_033a: ldloc.0
+ IL_033b: box [mscorlib]System.Int32
+ IL_0340: ldloc.s V_10
+ IL_0342: box [mscorlib]System.Int32
+ IL_0347: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_034c: ldloc.1
+ IL_034d: ldloc.s V_11
+ IL_034f: beq.s IL_036b
+
+ IL_0351: ldc.i4.1
+ IL_0352: stloc.s V_20
+ IL_0354: ldstr "te1 check failed {0} {1}"
+ IL_0359: ldloc.1
+ IL_035a: box [mscorlib]System.Int32
+ IL_035f: ldloc.s V_11
+ IL_0361: box [mscorlib]System.Int32
+ IL_0366: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_036b: ldloc.2
+ IL_036c: ldloc.s V_12
+ IL_036e: beq.s IL_038a
+
+ IL_0370: ldc.i4.1
+ IL_0371: stloc.s V_20
+ IL_0373: ldstr "te2 check failed {0} {1}"
+ IL_0378: ldloc.2
+ IL_0379: box [mscorlib]System.Int32
+ IL_037e: ldloc.s V_12
+ IL_0380: box [mscorlib]System.Int32
+ IL_0385: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_038a: ldloc.3
+ IL_038b: ldloc.s V_13
+ IL_038d: beq.s IL_03a9
+
+ IL_038f: ldc.i4.1
+ IL_0390: stloc.s V_20
+ IL_0392: ldstr "te3 check failed {0} {1}"
+ IL_0397: ldloc.3
+ IL_0398: box [mscorlib]System.Int32
+ IL_039d: ldloc.s V_13
+ IL_039f: box [mscorlib]System.Int32
+ IL_03a4: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03a9: ldloc.s V_4
+ IL_03ab: ldloc.s V_14
+ IL_03ad: beq.s IL_03ca
+
+ IL_03af: ldc.i4.1
+ IL_03b0: stloc.s V_20
+ IL_03b2: ldstr "te064 check failed {0} {1}"
+ IL_03b7: ldloc.s V_4
+ IL_03b9: box [mscorlib]System.Int64
+ IL_03be: ldloc.s V_14
+ IL_03c0: box [mscorlib]System.Int64
+ IL_03c5: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03ca: ldloc.s V_5
+ IL_03cc: ldloc.s V_15
+ IL_03ce: beq.s IL_03eb
+
+ IL_03d0: ldc.i4.1
+ IL_03d1: stloc.s V_20
+ IL_03d3: ldstr "te164 check failed {0} {1}"
+ IL_03d8: ldloc.s V_5
+ IL_03da: box [mscorlib]System.Int64
+ IL_03df: ldloc.s V_15
+ IL_03e1: box [mscorlib]System.Int64
+ IL_03e6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_03eb: ldloc.s V_6
+ IL_03ed: ldloc.s V_16
+ IL_03ef: beq.s IL_040c
+
+ IL_03f1: ldc.i4.1
+ IL_03f2: stloc.s V_20
+ IL_03f4: ldstr "te264 check failed {0} {1}"
+ IL_03f9: ldloc.s V_6
+ IL_03fb: box [mscorlib]System.Int64
+ IL_0400: ldloc.s V_16
+ IL_0402: box [mscorlib]System.Int64
+ IL_0407: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_040c: ldloc.s V_7
+ IL_040e: ldloc.s V_17
+ IL_0410: beq.s IL_042d
+
+ IL_0412: ldc.i4.1
+ IL_0413: stloc.s V_20
+ IL_0415: ldstr "te364 check failed {0} {1}"
+ IL_041a: ldloc.s V_7
+ IL_041c: box [mscorlib]System.Int64
+ IL_0421: ldloc.s V_17
+ IL_0423: box [mscorlib]System.Int64
+ IL_0428: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_042d: ldloc.s V_8
+ IL_042f: ldloc.s V_18
+ IL_0431: beq.s IL_044e
+
+ IL_0433: ldc.i4.1
+ IL_0434: stloc.s V_20
+ IL_0436: ldstr "dummy check failed {0} {1}"
+ IL_043b: ldloc.s V_8
+ IL_043d: box [mscorlib]System.Int32
+ IL_0442: ldloc.s V_18
+ IL_0444: box [mscorlib]System.Int32
+ IL_0449: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_044e: ldloc.s V_9
+ IL_0450: ldloc.s V_19
+ IL_0452: beq.s IL_046f
+
+ IL_0454: ldc.i4.1
+ IL_0455: stloc.s V_20
+ IL_0457: ldstr "dummy64 check failed {0} {1}"
+ IL_045c: ldloc.s V_9
+ IL_045e: box [mscorlib]System.Int64
+ IL_0463: ldloc.s V_19
+ IL_0465: box [mscorlib]System.Int64
+ IL_046a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_046f: ldsfld int32 IntrinsicTest::counter
+ IL_0474: ldsfld int32 IntrinsicTest::id_counter
+ IL_0479: beq.s IL_049c
+
+ IL_047b: ldstr "counter mismatch {0} {1}"
+ IL_0480: ldsfld int32 IntrinsicTest::counter
+ IL_0485: box [mscorlib]System.Int32
+ IL_048a: ldsfld int32 IntrinsicTest::id_counter
+ IL_048f: box [mscorlib]System.Int32
+ IL_0494: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0499: ldc.i4.1
+ IL_049a: stloc.s V_20
+ IL_049c: ldsfld int64 IntrinsicTest::counter64
+ IL_04a1: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04a6: beq.s IL_04c9
+
+ IL_04a8: ldstr "counter64 mismatch {0} {1}"
+ IL_04ad: ldsfld int64 IntrinsicTest::counter64
+ IL_04b2: box [mscorlib]System.Int64
+ IL_04b7: ldsfld int64 IntrinsicTest::id_counter64
+ IL_04bc: box [mscorlib]System.Int64
+ IL_04c1: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04c6: ldc.i4.1
+ IL_04c7: stloc.s V_20
+ IL_04c9: ldloc.s V_21
+ IL_04cb: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04d0: ldloc.s V_21
+ IL_04d2: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_04d7: beq.s IL_04fe
+
+ IL_04d9: ldstr "instanceCounter mismatch {0} {1}"
+ IL_04de: ldloc.s V_21
+ IL_04e0: ldfld int32 IntrinsicTest::instanceCounter
+ IL_04e5: box [mscorlib]System.Int32
+ IL_04ea: ldloc.s V_21
+ IL_04ec: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_04f1: box [mscorlib]System.Int32
+ IL_04f6: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_04fb: ldc.i4.1
+ IL_04fc: stloc.s V_20
+ IL_04fe: ldloc.s V_21
+ IL_0500: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0505: ldloc.s V_21
+ IL_0507: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_050c: beq.s IL_0533
+
+ IL_050e: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0513: ldloc.s V_21
+ IL_0515: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_051a: box [mscorlib]System.Int64
+ IL_051f: ldloc.s V_21
+ IL_0521: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0526: box [mscorlib]System.Int64
+ IL_052b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0530: ldc.i4.1
+ IL_0531: stloc.s V_20
+ IL_0533: ldsfld int64 IntrinsicTest::temp
+ IL_0538: ldsfld int64 IntrinsicTest::idmp
+ IL_053d: beq.s IL_0560
+
+ IL_053f: ldstr "temp mismatch {0} {1}"
+ IL_0544: ldsfld int64 IntrinsicTest::temp
+ IL_0549: box [mscorlib]System.Int64
+ IL_054e: ldsfld int64 IntrinsicTest::idmp
+ IL_0553: box [mscorlib]System.Int64
+ IL_0558: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_055d: ldc.i4.1
+ IL_055e: stloc.s V_20
+ IL_0560: ldsflda int32 IntrinsicTest::counter
+ IL_0565: ldsfld int32 IntrinsicTest::counter
+ IL_056a: call int32 [mscorlib]System.Threading.Interlocked::Exchange(int32&,
+ int32)
+ IL_056f: stsfld int32 IntrinsicTest::counter
+ IL_0574: ldsfld int32 IntrinsicTest::id_counter
+ IL_0579: stsfld int32 IntrinsicTest::id_counter
+ IL_057e: ldsfld int32 IntrinsicTest::id_counter
+ IL_0583: conv.i8
+ IL_0584: stsfld int64 IntrinsicTest::idjunk
+ IL_0589: ldstr "------------------------------------XCHG 1 1 0 1"
+ IL_058e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0593: ldloc.0
+ IL_0594: ldloc.s V_10
+ IL_0596: beq.s IL_05b2
+
+ IL_0598: ldc.i4.1
+ IL_0599: stloc.s V_20
+ IL_059b: ldstr "te0 check failed {0} {1}"
+ IL_05a0: ldloc.0
+ IL_05a1: box [mscorlib]System.Int32
+ IL_05a6: ldloc.s V_10
+ IL_05a8: box [mscorlib]System.Int32
+ IL_05ad: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05b2: ldloc.1
+ IL_05b3: ldloc.s V_11
+ IL_05b5: beq.s IL_05d1
+
+ IL_05b7: ldc.i4.1
+ IL_05b8: stloc.s V_20
+ IL_05ba: ldstr "te1 check failed {0} {1}"
+ IL_05bf: ldloc.1
+ IL_05c0: box [mscorlib]System.Int32
+ IL_05c5: ldloc.s V_11
+ IL_05c7: box [mscorlib]System.Int32
+ IL_05cc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05d1: ldloc.2
+ IL_05d2: ldloc.s V_12
+ IL_05d4: beq.s IL_05f0
+
+ IL_05d6: ldc.i4.1
+ IL_05d7: stloc.s V_20
+ IL_05d9: ldstr "te2 check failed {0} {1}"
+ IL_05de: ldloc.2
+ IL_05df: box [mscorlib]System.Int32
+ IL_05e4: ldloc.s V_12
+ IL_05e6: box [mscorlib]System.Int32
+ IL_05eb: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_05f0: ldloc.3
+ IL_05f1: ldloc.s V_13
+ IL_05f3: beq.s IL_060f
+
+ IL_05f5: ldc.i4.1
+ IL_05f6: stloc.s V_20
+ IL_05f8: ldstr "te3 check failed {0} {1}"
+ IL_05fd: ldloc.3
+ IL_05fe: box [mscorlib]System.Int32
+ IL_0603: ldloc.s V_13
+ IL_0605: box [mscorlib]System.Int32
+ IL_060a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_060f: ldloc.s V_4
+ IL_0611: ldloc.s V_14
+ IL_0613: beq.s IL_0630
+
+ IL_0615: ldc.i4.1
+ IL_0616: stloc.s V_20
+ IL_0618: ldstr "te064 check failed {0} {1}"
+ IL_061d: ldloc.s V_4
+ IL_061f: box [mscorlib]System.Int64
+ IL_0624: ldloc.s V_14
+ IL_0626: box [mscorlib]System.Int64
+ IL_062b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0630: ldloc.s V_5
+ IL_0632: ldloc.s V_15
+ IL_0634: beq.s IL_0651
+
+ IL_0636: ldc.i4.1
+ IL_0637: stloc.s V_20
+ IL_0639: ldstr "te164 check failed {0} {1}"
+ IL_063e: ldloc.s V_5
+ IL_0640: box [mscorlib]System.Int64
+ IL_0645: ldloc.s V_15
+ IL_0647: box [mscorlib]System.Int64
+ IL_064c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0651: ldloc.s V_6
+ IL_0653: ldloc.s V_16
+ IL_0655: beq.s IL_0672
+
+ IL_0657: ldc.i4.1
+ IL_0658: stloc.s V_20
+ IL_065a: ldstr "te264 check failed {0} {1}"
+ IL_065f: ldloc.s V_6
+ IL_0661: box [mscorlib]System.Int64
+ IL_0666: ldloc.s V_16
+ IL_0668: box [mscorlib]System.Int64
+ IL_066d: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0672: ldloc.s V_7
+ IL_0674: ldloc.s V_17
+ IL_0676: beq.s IL_0693
+
+ IL_0678: ldc.i4.1
+ IL_0679: stloc.s V_20
+ IL_067b: ldstr "te364 check failed {0} {1}"
+ IL_0680: ldloc.s V_7
+ IL_0682: box [mscorlib]System.Int64
+ IL_0687: ldloc.s V_17
+ IL_0689: box [mscorlib]System.Int64
+ IL_068e: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0693: ldloc.s V_8
+ IL_0695: ldloc.s V_18
+ IL_0697: beq.s IL_06b4
+
+ IL_0699: ldc.i4.1
+ IL_069a: stloc.s V_20
+ IL_069c: ldstr "dummy check failed {0} {1}"
+ IL_06a1: ldloc.s V_8
+ IL_06a3: box [mscorlib]System.Int32
+ IL_06a8: ldloc.s V_18
+ IL_06aa: box [mscorlib]System.Int32
+ IL_06af: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06b4: ldloc.s V_9
+ IL_06b6: ldloc.s V_19
+ IL_06b8: beq.s IL_06d5
+
+ IL_06ba: ldc.i4.1
+ IL_06bb: stloc.s V_20
+ IL_06bd: ldstr "dummy64 check failed {0} {1}"
+ IL_06c2: ldloc.s V_9
+ IL_06c4: box [mscorlib]System.Int64
+ IL_06c9: ldloc.s V_19
+ IL_06cb: box [mscorlib]System.Int64
+ IL_06d0: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06d5: ldsfld int32 IntrinsicTest::counter
+ IL_06da: ldsfld int32 IntrinsicTest::id_counter
+ IL_06df: beq.s IL_0702
+
+ IL_06e1: ldstr "counter mismatch {0} {1}"
+ IL_06e6: ldsfld int32 IntrinsicTest::counter
+ IL_06eb: box [mscorlib]System.Int32
+ IL_06f0: ldsfld int32 IntrinsicTest::id_counter
+ IL_06f5: box [mscorlib]System.Int32
+ IL_06fa: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_06ff: ldc.i4.1
+ IL_0700: stloc.s V_20
+ IL_0702: ldsfld int64 IntrinsicTest::counter64
+ IL_0707: ldsfld int64 IntrinsicTest::id_counter64
+ IL_070c: beq.s IL_072f
+
+ IL_070e: ldstr "counter64 mismatch {0} {1}"
+ IL_0713: ldsfld int64 IntrinsicTest::counter64
+ IL_0718: box [mscorlib]System.Int64
+ IL_071d: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0722: box [mscorlib]System.Int64
+ IL_0727: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_072c: ldc.i4.1
+ IL_072d: stloc.s V_20
+ IL_072f: ldloc.s V_21
+ IL_0731: ldfld int32 IntrinsicTest::instanceCounter
+ IL_0736: ldloc.s V_21
+ IL_0738: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_073d: beq.s IL_0764
+
+ IL_073f: ldstr "instanceCounter mismatch {0} {1}"
+ IL_0744: ldloc.s V_21
+ IL_0746: ldfld int32 IntrinsicTest::instanceCounter
+ IL_074b: box [mscorlib]System.Int32
+ IL_0750: ldloc.s V_21
+ IL_0752: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_0757: box [mscorlib]System.Int32
+ IL_075c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0761: ldc.i4.1
+ IL_0762: stloc.s V_20
+ IL_0764: ldloc.s V_21
+ IL_0766: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_076b: ldloc.s V_21
+ IL_076d: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_0772: beq.s IL_0799
+
+ IL_0774: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_0779: ldloc.s V_21
+ IL_077b: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_0780: box [mscorlib]System.Int64
+ IL_0785: ldloc.s V_21
+ IL_0787: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_078c: box [mscorlib]System.Int64
+ IL_0791: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0796: ldc.i4.1
+ IL_0797: stloc.s V_20
+ IL_0799: ldsfld int64 IntrinsicTest::temp
+ IL_079e: ldsfld int64 IntrinsicTest::idmp
+ IL_07a3: beq.s IL_07c6
+
+ IL_07a5: ldstr "temp mismatch {0} {1}"
+ IL_07aa: ldsfld int64 IntrinsicTest::temp
+ IL_07af: box [mscorlib]System.Int64
+ IL_07b4: ldsfld int64 IntrinsicTest::idmp
+ IL_07b9: box [mscorlib]System.Int64
+ IL_07be: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_07c3: ldc.i4.1
+ IL_07c4: stloc.s V_20
+ IL_07c6: ldsflda int32 IntrinsicTest::counter
+ IL_07cb: ldsfld int32 IntrinsicTest::counter
+ IL_07d0: call int32 [mscorlib]System.Threading.Interlocked::Add(int32&,
+ int32)
+ IL_07d5: stsfld int32 IntrinsicTest::counter
+ IL_07da: ldsfld int32 IntrinsicTest::id_counter
+ IL_07df: ldsfld int32 IntrinsicTest::id_counter
+ IL_07e4: add
+ IL_07e5: stsfld int32 IntrinsicTest::id_counter
+ IL_07ea: ldsfld int32 IntrinsicTest::id_counter
+ IL_07ef: stsfld int32 IntrinsicTest::id_counter
+ IL_07f4: ldstr "------------------------------------XADD 1 1 0 1"
+ IL_07f9: call void [System.Console]System.Console::WriteLine(string)
+ IL_07fe: ldloc.0
+ IL_07ff: ldloc.s V_10
+ IL_0801: beq.s IL_081d
+
+ IL_0803: ldc.i4.1
+ IL_0804: stloc.s V_20
+ IL_0806: ldstr "te0 check failed {0} {1}"
+ IL_080b: ldloc.0
+ IL_080c: box [mscorlib]System.Int32
+ IL_0811: ldloc.s V_10
+ IL_0813: box [mscorlib]System.Int32
+ IL_0818: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_081d: ldloc.1
+ IL_081e: ldloc.s V_11
+ IL_0820: beq.s IL_083c
+
+ IL_0822: ldc.i4.1
+ IL_0823: stloc.s V_20
+ IL_0825: ldstr "te1 check failed {0} {1}"
+ IL_082a: ldloc.1
+ IL_082b: box [mscorlib]System.Int32
+ IL_0830: ldloc.s V_11
+ IL_0832: box [mscorlib]System.Int32
+ IL_0837: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_083c: ldloc.2
+ IL_083d: ldloc.s V_12
+ IL_083f: beq.s IL_085b
+
+ IL_0841: ldc.i4.1
+ IL_0842: stloc.s V_20
+ IL_0844: ldstr "te2 check failed {0} {1}"
+ IL_0849: ldloc.2
+ IL_084a: box [mscorlib]System.Int32
+ IL_084f: ldloc.s V_12
+ IL_0851: box [mscorlib]System.Int32
+ IL_0856: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_085b: ldloc.3
+ IL_085c: ldloc.s V_13
+ IL_085e: beq.s IL_087a
+
+ IL_0860: ldc.i4.1
+ IL_0861: stloc.s V_20
+ IL_0863: ldstr "te3 check failed {0} {1}"
+ IL_0868: ldloc.3
+ IL_0869: box [mscorlib]System.Int32
+ IL_086e: ldloc.s V_13
+ IL_0870: box [mscorlib]System.Int32
+ IL_0875: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_087a: ldloc.s V_4
+ IL_087c: ldloc.s V_14
+ IL_087e: beq.s IL_089b
+
+ IL_0880: ldc.i4.1
+ IL_0881: stloc.s V_20
+ IL_0883: ldstr "te064 check failed {0} {1}"
+ IL_0888: ldloc.s V_4
+ IL_088a: box [mscorlib]System.Int64
+ IL_088f: ldloc.s V_14
+ IL_0891: box [mscorlib]System.Int64
+ IL_0896: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_089b: ldloc.s V_5
+ IL_089d: ldloc.s V_15
+ IL_089f: beq.s IL_08bc
+
+ IL_08a1: ldc.i4.1
+ IL_08a2: stloc.s V_20
+ IL_08a4: ldstr "te164 check failed {0} {1}"
+ IL_08a9: ldloc.s V_5
+ IL_08ab: box [mscorlib]System.Int64
+ IL_08b0: ldloc.s V_15
+ IL_08b2: box [mscorlib]System.Int64
+ IL_08b7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08bc: ldloc.s V_6
+ IL_08be: ldloc.s V_16
+ IL_08c0: beq.s IL_08dd
+
+ IL_08c2: ldc.i4.1
+ IL_08c3: stloc.s V_20
+ IL_08c5: ldstr "te264 check failed {0} {1}"
+ IL_08ca: ldloc.s V_6
+ IL_08cc: box [mscorlib]System.Int64
+ IL_08d1: ldloc.s V_16
+ IL_08d3: box [mscorlib]System.Int64
+ IL_08d8: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08dd: ldloc.s V_7
+ IL_08df: ldloc.s V_17
+ IL_08e1: beq.s IL_08fe
+
+ IL_08e3: ldc.i4.1
+ IL_08e4: stloc.s V_20
+ IL_08e6: ldstr "te364 check failed {0} {1}"
+ IL_08eb: ldloc.s V_7
+ IL_08ed: box [mscorlib]System.Int64
+ IL_08f2: ldloc.s V_17
+ IL_08f4: box [mscorlib]System.Int64
+ IL_08f9: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_08fe: ldloc.s V_8
+ IL_0900: ldloc.s V_18
+ IL_0902: beq.s IL_091f
+
+ IL_0904: ldc.i4.1
+ IL_0905: stloc.s V_20
+ IL_0907: ldstr "dummy check failed {0} {1}"
+ IL_090c: ldloc.s V_8
+ IL_090e: box [mscorlib]System.Int32
+ IL_0913: ldloc.s V_18
+ IL_0915: box [mscorlib]System.Int32
+ IL_091a: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_091f: ldloc.s V_9
+ IL_0921: ldloc.s V_19
+ IL_0923: beq.s IL_0940
+
+ IL_0925: ldc.i4.1
+ IL_0926: stloc.s V_20
+ IL_0928: ldstr "dummy64 check failed {0} {1}"
+ IL_092d: ldloc.s V_9
+ IL_092f: box [mscorlib]System.Int64
+ IL_0934: ldloc.s V_19
+ IL_0936: box [mscorlib]System.Int64
+ IL_093b: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0940: ldsfld int32 IntrinsicTest::counter
+ IL_0945: ldsfld int32 IntrinsicTest::id_counter
+ IL_094a: beq.s IL_096d
+
+ IL_094c: ldstr "counter mismatch {0} {1}"
+ IL_0951: ldsfld int32 IntrinsicTest::counter
+ IL_0956: box [mscorlib]System.Int32
+ IL_095b: ldsfld int32 IntrinsicTest::id_counter
+ IL_0960: box [mscorlib]System.Int32
+ IL_0965: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_096a: ldc.i4.1
+ IL_096b: stloc.s V_20
+ IL_096d: ldsfld int64 IntrinsicTest::counter64
+ IL_0972: ldsfld int64 IntrinsicTest::id_counter64
+ IL_0977: beq.s IL_099a
+
+ IL_0979: ldstr "counter64 mismatch {0} {1}"
+ IL_097e: ldsfld int64 IntrinsicTest::counter64
+ IL_0983: box [mscorlib]System.Int64
+ IL_0988: ldsfld int64 IntrinsicTest::id_counter64
+ IL_098d: box [mscorlib]System.Int64
+ IL_0992: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0997: ldc.i4.1
+ IL_0998: stloc.s V_20
+ IL_099a: ldloc.s V_21
+ IL_099c: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09a1: ldloc.s V_21
+ IL_09a3: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09a8: beq.s IL_09cf
+
+ IL_09aa: ldstr "instanceCounter mismatch {0} {1}"
+ IL_09af: ldloc.s V_21
+ IL_09b1: ldfld int32 IntrinsicTest::instanceCounter
+ IL_09b6: box [mscorlib]System.Int32
+ IL_09bb: ldloc.s V_21
+ IL_09bd: ldfld int32 IntrinsicTest::id_instanceCounter
+ IL_09c2: box [mscorlib]System.Int32
+ IL_09c7: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_09cc: ldc.i4.1
+ IL_09cd: stloc.s V_20
+ IL_09cf: ldloc.s V_21
+ IL_09d1: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_09d6: ldloc.s V_21
+ IL_09d8: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_09dd: beq.s IL_0a04
+
+ IL_09df: ldstr "instanceCounter64 mismatch {0} {1}"
+ IL_09e4: ldloc.s V_21
+ IL_09e6: ldfld int64 IntrinsicTest::instanceCounter64
+ IL_09eb: box [mscorlib]System.Int64
+ IL_09f0: ldloc.s V_21
+ IL_09f2: ldfld int64 IntrinsicTest::id_instanceCounter64
+ IL_09f7: box [mscorlib]System.Int64
+ IL_09fc: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a01: ldc.i4.1
+ IL_0a02: stloc.s V_20
+ IL_0a04: ldsfld int64 IntrinsicTest::temp
+ IL_0a09: ldsfld int64 IntrinsicTest::idmp
+ IL_0a0e: beq.s IL_0a31
+
+ IL_0a10: ldstr "temp mismatch {0} {1}"
+ IL_0a15: ldsfld int64 IntrinsicTest::temp
+ IL_0a1a: box [mscorlib]System.Int64
+ IL_0a1f: ldsfld int64 IntrinsicTest::idmp
+ IL_0a24: box [mscorlib]System.Int64
+ IL_0a29: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0a2e: ldc.i4.1
+ IL_0a2f: stloc.s V_20
+ IL_0a31: ldloc.s V_20
+ IL_0a33: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call bool IntrinsicTest::MainTest()
+ IL_0005: brfalse.s IL_0014
+
+ IL_0007: ldstr "Test Failed"
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: ret
+
+ IL_0014: ldstr "Test Passed"
+ IL_0019: call void [System.Console]System.Console::WriteLine(string)
+ IL_001e: ldc.i4.s 100
+ IL_0020: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4 0xcad
+ IL_0005: stsfld int32 IntrinsicTest::counter
+ IL_000a: ldc.i4 0xcad
+ IL_000f: conv.i8
+ IL_0010: stsfld int64 IntrinsicTest::counter64
+ IL_0015: ldc.i4 0xcad
+ IL_001a: stsfld int32 IntrinsicTest::id_counter
+ IL_001f: ldc.i4 0xcad
+ IL_0024: conv.i8
+ IL_0025: stsfld int64 IntrinsicTest::id_counter64
+ IL_002a: ldc.i4 0x457
+ IL_002f: conv.i8
+ IL_0030: stsfld int64 IntrinsicTest::temp
+ IL_0035: ldc.i4 0x457
+ IL_003a: conv.i8
+ IL_003b: stsfld int64 IntrinsicTest::idmp
+ IL_0040: ldc.i4.0
+ IL_0041: conv.i8
+ IL_0042: stsfld int64 IntrinsicTest::idjunk
+ IL_0047: ret
+ }
+
+}
+
+ .data bytearray1 = bytearray ( 0 0 0 0 )
+
+ .data RVAInt = int32 (3245)
+
+ .data RVALong = int64 (3245)
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj
index 4c0d57f7e7..cfa8086f14 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/b20785.csproj
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -13,7 +13,6 @@
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
@@ -27,27 +26,17 @@
</CodeAnalysisDependentAssemblyPaths>
</ItemGroup>
<PropertyGroup>
- <!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<DebugType>PdbOnly</DebugType>
- <NoLogo>True</NoLogo>
- <NoStandardLib>True</NoStandardLib>
- <Noconfig>True</Noconfig>
- <DefineConstants>$(DefineConstants);DESKTOP</DefineConstants>
</PropertyGroup>
<ItemGroup>
- <Compile Include="trep.cs" />
+ <Compile Include="rva_rvaStatic1.il" />
</ItemGroup>
<ItemGroup>
- <None Include="$(JitPackagesConfigFileDirectory)threading+thread\project.json" />
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)threading+thread\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)threading+thread\project.lock.json</ProjectLockJson>
- </PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
<PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
</PropertyGroup>
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj
new file mode 100644
index 0000000000..d682d6be89
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rva_rvaStatic2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj
new file mode 100644
index 0000000000..51b6c14bb8
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rva_rvaStatic3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj
new file mode 100644
index 0000000000..06dd32069a
--- /dev/null
+++ b/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rva_rvaStatic4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/callconv3.il b/tests/src/JIT/Directed/perffix/primitivevt/callconv3.il
new file mode 100644
index 0000000000..9035fab618
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/callconv3.il
@@ -0,0 +1,748 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern helper {}
+.assembly callconv3 {}
+.namespace PrimitiveVT
+{
+ .class private auto ansi beforefieldinit CallConv3
+ extends [mscorlib]System.Object
+ {
+ .field private static class [mscorlib]System.Random rand
+ .field private valuetype [helper]PrimitiveVT.VT1A vt1a
+ .field private static valuetype [helper]PrimitiveVT.VT1A x
+ .method private hidebysig static int32
+ f1(valuetype [helper]PrimitiveVT.VT1B x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_000e: add
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ }
+
+ .method private hidebysig instance valuetype [helper]PrimitiveVT.VT1B
+ f2a(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 3
+ .locals init (valuetype [helper]PrimitiveVT.VT1B V_0,
+ valuetype [helper]PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0010: add
+ IL_0011: stfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ }
+
+ .method private hidebysig instance valuetype [helper]PrimitiveVT.VT1B
+ f2b(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 3
+ .locals init (valuetype [helper]PrimitiveVT.VT1B V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: ldarg.2
+ IL_0003: tail. call instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f2a(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_000c: ret
+ }
+
+ .method private hidebysig instance valuetype [helper]PrimitiveVT.VT1B
+ f2(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 3
+ .locals init (valuetype [helper]PrimitiveVT.VT1B V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: ldarg.2
+ IL_0003: tail. call instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f2b(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_000c: ret
+ }
+
+ .method private hidebysig static int32
+ f3(valuetype [helper]PrimitiveVT.VT1B& x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0006: ldarga.s y
+ IL_0008: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_000d: sub
+ IL_000e: stloc.0
+ IL_000f: br.s IL_0011
+
+ IL_0011: ldloc.0
+ IL_0012: ret
+ }
+
+ .method private hidebysig instance valuetype [helper]PrimitiveVT.VT1B
+ f4(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 3
+ .locals init (valuetype [helper]PrimitiveVT.VT1B V_0,
+ valuetype [helper]PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0010: sub
+ IL_0011: stfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ }
+
+ .method private hidebysig static int32
+ f5(valuetype [helper]PrimitiveVT.VT1B x,
+ valuetype [helper]PrimitiveVT.VT1A y) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_000e: mul
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ }
+
+ .method private hidebysig instance int32
+ f6(valuetype [helper]PrimitiveVT.VT1B[] x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.1
+ IL_0001: ldc.i4.0
+ IL_0002: ldelema [helper]PrimitiveVT.VT1B
+ IL_0007: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_000c: ldarga.s y
+ IL_000e: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_0013: mul
+ IL_0014: stloc.0
+ IL_0015: br.s IL_0017
+
+ IL_0017: ldloc.0
+ IL_0018: ret
+ }
+
+ .method private hidebysig instance valuetype [helper]PrimitiveVT.VT1B
+ f7(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 3
+ .locals init (valuetype [helper]PrimitiveVT.VT1B V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: ldarg.2
+ IL_0003: call instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f4(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_0008: stloc.0
+ IL_0009: br.s IL_000b
+
+ IL_000b: ldloc.0
+ IL_000c: ret
+ }
+
+ .method private hidebysig instance float32
+ f8(valuetype [helper]PrimitiveVT.VT1A x,
+ valuetype [helper]PrimitiveVT.VT1B y) cil managed
+ {
+ .maxstack 2
+ .locals init (float32 V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld int32 [helper]PrimitiveVT.VT1B::m
+ IL_000e: div
+ IL_000f: conv.r4
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0013
+
+ IL_0013: ldloc.0
+ IL_0014: ret
+ }
+
+ .method private hidebysig static valuetype [helper]PrimitiveVT.VT1B[0...,0...]
+ f9a() cil managed
+ {
+ .maxstack 2
+ .locals init (valuetype [helper]PrimitiveVT.VT1B[0...,0...] V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: ldc.i4.2
+ IL_0002: newobj instance void valuetype [helper]PrimitiveVT.VT1B[0...,0...]::.ctor(int32,
+ int32)
+ IL_000b: ret
+ }
+
+ .method private hidebysig static valuetype [helper]PrimitiveVT.VT1B[0...,0...]
+ f9() cil managed
+ {
+ .maxstack 1
+ .locals init (valuetype [helper]PrimitiveVT.VT1B[0...,0...] V_0)
+ IL_0000: jmp valuetype [helper]PrimitiveVT.VT1B[0...,0...] PrimitiveVT.CallConv3::f9a()
+ }
+
+ .method private hidebysig instance int32
+ f10(valuetype [helper]PrimitiveVT.VT1B[] args) cil managed
+ {
+ .param [1]
+ .custom instance void [mscorlib]System.ParamArrayAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 3
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.0
+ IL_0003: stloc.1
+ IL_0004: br.s IL_0022
+
+ IL_0006: ldloc.0
+ IL_0007: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_000c: ldarg.1
+ IL_000d: ldloc.1
+ IL_000e: ldelema [helper]PrimitiveVT.VT1B
+ IL_0013: ldobj [helper]PrimitiveVT.VT1B
+ IL_0018: call int32 [helper]PrimitiveVT.VT1B::op_Addition(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_001d: stloc.0
+ IL_001e: ldloc.1
+ IL_001f: ldc.i4.1
+ IL_0020: add
+ IL_0021: stloc.1
+ IL_0022: ldloc.1
+ IL_0023: ldarg.1
+ IL_0024: ldlen
+ IL_0025: conv.i4
+ IL_0026: blt.s IL_0006
+
+ IL_0028: ldloc.0
+ IL_0029: stloc.2
+ IL_002a: br.s IL_002c
+
+ IL_002c: ldloc.2
+ IL_002d: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 6
+ .locals init (int32 V_0,
+ class PrimitiveVT.CallConv3 V_1,
+ valuetype [helper]PrimitiveVT.VT1B V_2,
+ int32 V_3,
+ int32 V_4,
+ int32 V_5,
+ int32 V_6,
+ int32 V_7,
+ valuetype [helper]PrimitiveVT.VT1B[] V_8,
+ valuetype [helper]PrimitiveVT.VT1B V_9,
+ valuetype [helper]PrimitiveVT.VT1B V_10,
+ int32 V_11,
+ valuetype [helper]PrimitiveVT.VT1B V_12,
+ valuetype [helper]PrimitiveVT.VT1B* V_13,
+ valuetype [helper]PrimitiveVT.VT1B[0...,0...][] V_14,
+ int32 V_15,
+ valuetype [helper]PrimitiveVT.VT1B[] V_16)
+ IL_0000: ldsfld class [mscorlib]System.Random PrimitiveVT.CallConv3::rand
+ IL_0005: callvirt instance int32 [mscorlib]System.Random::Next()
+ IL_000a: stloc.0
+ IL_000b: newobj instance void PrimitiveVT.CallConv3::.ctor()
+ IL_0010: stloc.1
+ IL_0011: ldloc.1
+ IL_0012: ldflda valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::vt1a
+ IL_0017: ldloc.0
+ IL_0018: stfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_001d: ldloc.1
+ IL_001e: ldfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::vt1a
+ IL_0023: ldftn valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ calli valuetype [helper]PrimitiveVT.VT1B (valuetype [helper]PrimitiveVT.VT1A)
+ IL_0028: stloc.2
+ IL_0029: ldloc.2
+ IL_002a: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_002f: stloc.3
+ IL_0030: ldloc.3
+ IL_0031: ldloc.0
+ IL_0032: beq.s IL_0046
+
+ IL_0034: ldstr "FAILED, b!=a"
+ IL_0039: call void [System.Console]System.Console::WriteLine(string)
+ IL_003e: ldc.i4.1
+ IL_003f: stloc.s V_15
+ IL_0041: br IL_04a4
+
+ IL_0046: ldloc.1
+ IL_0047: ldfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::vt1a
+ IL_004c: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ IL_0051: ldftn int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ calli int32 (valuetype [helper]PrimitiveVT.VT1B)
+ IL_0056: ldftn valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ calli valuetype [helper]PrimitiveVT.VT1B (int32)
+ IL_005b: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_0060: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ IL_0065: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_006a: stloc.s V_4
+ IL_006c: ldloc.s V_4
+ IL_006e: ldloc.3
+ IL_006f: beq.s IL_0083
+
+ IL_0071: ldstr "FAILED, c!=b"
+ IL_0076: call void [System.Console]System.Console::WriteLine(string)
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.s V_15
+ IL_007e: br IL_04a4
+
+ IL_0083: ldsfld class [mscorlib]System.Random PrimitiveVT.CallConv3::rand
+ IL_0088: callvirt instance int32 [mscorlib]System.Random::Next()
+ IL_008d: stloc.s V_5
+ IL_008f: ldc.i4 0x80000000
+ IL_0094: stloc.s V_6
+ IL_0096: ldc.i4 0x3fffffff
+ IL_009b: stloc.s V_7
+ IL_009d: ldsflda valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_00a2: initobj [helper]PrimitiveVT.VT1A
+ IL_00a8: ldc.i4.2
+ IL_00a9: newarr [helper]PrimitiveVT.VT1B
+ IL_00ae: stloc.s V_8
+ IL_00b0: ldloc.s V_8
+ IL_00b2: ldc.i4.0
+ IL_00b3: ldelema [helper]PrimitiveVT.VT1B
+ IL_00b8: ldloc.s V_6
+ IL_00ba: call instance void [helper]PrimitiveVT.VT1B::.ctor(int32)
+ IL_00bf: ldloc.s V_8
+ IL_00c1: ldc.i4.0
+ IL_00c2: ldelema [helper]PrimitiveVT.VT1B
+ IL_00c7: ldobj [helper]PrimitiveVT.VT1B
+ IL_00cc: stloc.s V_9
+ IL_00ce: ldsflda valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_00d3: ldloc.s V_5
+ IL_00d5: stfld int32 [helper]PrimitiveVT.VT1A::m
+ IL_00da: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_00df: ldloc.s V_9
+ IL_00e1: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Multiply(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_00e6: ldloc.s V_7
+ IL_00e8: newobj instance void [helper]PrimitiveVT.VT1B::.ctor(int32)
+ IL_00ed: call int32 [helper]PrimitiveVT.VT1B::op_Subtraction(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_00f2: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_00f7: ldloc.s V_8
+ IL_00f9: ldc.i4.0
+ IL_00fa: ldelema [helper]PrimitiveVT.VT1B
+ IL_00ff: ldobj [helper]PrimitiveVT.VT1B
+ IL_0104: call int32 [helper]PrimitiveVT.VT1B::op_Addition(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_0109: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_010e: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_0113: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ IL_0118: call int32 [helper]PrimitiveVT.VT1B::op_Addition(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_011d: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0122: ldloc.s V_7
+ IL_0124: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0129: call int32 [helper]PrimitiveVT.VT1B::op_Addition(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_012e: ldloc.s V_9
+ IL_0130: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_0135: call int32 [helper]PrimitiveVT.VT1B::op_Multiply(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1A)
+ IL_013a: add
+ IL_013b: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_0140: ldloc.s V_5
+ IL_0142: ldc.i4.2
+ IL_0143: rem
+ IL_0144: brfalse.s IL_014f
+
+ IL_0146: ldloc.s V_5
+ IL_0148: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_014d: br.s IL_0158
+
+ IL_014f: ldloc.s V_5
+ IL_0151: ldc.i4.2
+ IL_0152: div
+ IL_0153: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0158: call float32 [helper]PrimitiveVT.VT1B::op_Division(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_015d: conv.i4
+ IL_015e: add
+ IL_015f: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0164: stloc.s V_10
+ IL_0166: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_016b: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ IL_0170: ldloc.s V_9
+ IL_0172: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_0177: call int32 PrimitiveVT.CallConv3::f5(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1A)
+ IL_017c: ldloc.1
+ IL_017d: ldloc.s V_8
+ IL_017f: ldsfld valuetype [helper]PrimitiveVT.VT1A PrimitiveVT.CallConv3::x
+ IL_0184: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1A)
+ IL_0189: callvirt instance int32 PrimitiveVT.CallConv3::f6(valuetype [helper]PrimitiveVT.VT1B[],
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_018e: add
+ IL_018f: ldloc.s V_9
+ IL_0191: ldloc.s V_5
+ IL_0193: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0198: call int32 PrimitiveVT.CallConv3::f1(valuetype [helper]PrimitiveVT.VT1B,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_019d: add
+ IL_019e: ldloc.1
+ IL_019f: ldloc.s V_5
+ IL_01a1: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_01a6: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_01ab: ldloc.s V_5
+ IL_01ad: ldc.i4.2
+ IL_01ae: rem
+ IL_01af: brfalse.s IL_01ba
+
+ IL_01b1: ldloc.s V_5
+ IL_01b3: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_01b8: br.s IL_01c3
+
+ IL_01ba: ldloc.s V_5
+ IL_01bc: ldc.i4.2
+ IL_01bd: div
+ IL_01be: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_01c3: callvirt instance float32 PrimitiveVT.CallConv3::f8(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_01c8: conv.i4
+ IL_01c9: add
+ IL_01ca: stloc.s V_11
+ IL_01cc: ldloc.s V_10
+ IL_01ce: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_01d3: ldloc.s V_11
+ IL_01d5: beq.s IL_01fc
+
+ IL_01d7: ldstr "FAILED, u!=w"
+ IL_01dc: call void [System.Console]System.Console::WriteLine(string)
+ IL_01e1: ldloc.s V_10
+ IL_01e3: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_01e8: call void [System.Console]System.Console::WriteLine(int32)
+ IL_01ed: ldloc.s V_11
+ IL_01ef: call void [System.Console]System.Console::WriteLine(int32)
+ IL_01f4: ldc.i4.1
+ IL_01f5: stloc.s V_15
+ IL_01f7: br IL_04a4
+
+ IL_01fc: ldc.i4.3
+ IL_01fd: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0202: stloc.s V_12
+ IL_0204: br.s IL_0223
+
+ IL_0206: ldloc.s V_12
+ IL_0208: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Increment(valuetype [helper]PrimitiveVT.VT1B)
+ IL_020d: stloc.s V_12
+ IL_020f: ldloc.1
+ IL_0210: ldloc.s V_9
+ IL_0212: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_0217: ldc.i4.1
+ IL_0218: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_021d: callvirt instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f2(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_0222: pop
+ IL_0223: ldloc.s V_12
+ IL_0225: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_022a: ldc.i4.s 10
+ IL_022c: ble.s IL_0206
+
+ IL_022e: ldloca.s V_9
+ IL_0230: ldc.i4 0x80000000
+ IL_0235: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_023a: call int32 PrimitiveVT.CallConv3::f3(valuetype [helper]PrimitiveVT.VT1B&,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_023f: brfalse.s IL_0269
+
+ IL_0241: ldstr "FAILED, f3(y,Int32.MinValue)!=0"
+ IL_0246: call void [System.Console]System.Console::WriteLine(string)
+ IL_024b: ldloca.s V_9
+ IL_024d: ldc.i4 0x80000000
+ IL_0252: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0257: call int32 PrimitiveVT.CallConv3::f3(valuetype [helper]PrimitiveVT.VT1B&,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_025c: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0261: ldc.i4.1
+ IL_0262: stloc.s V_15
+ IL_0264: br IL_04a4
+
+ IL_0269: sizeof [helper]PrimitiveVT.VT1B
+ IL_026f: ldc.i4.3
+ IL_0270: mul
+ IL_0271: localloc
+ IL_0273: stloc.s V_13
+ IL_0275: ldloc.s V_13
+ IL_0277: ldc.i4.1
+ IL_0278: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_027d: stobj [helper]PrimitiveVT.VT1B
+ IL_0282: ldloc.s V_13
+ IL_0284: sizeof [helper]PrimitiveVT.VT1B
+ IL_028a: add
+ IL_028b: ldc.i4.2
+ IL_028c: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_0291: stobj [helper]PrimitiveVT.VT1B
+ IL_0296: ldloc.s V_13
+ IL_0298: ldc.i4.2
+ IL_0299: conv.i
+ IL_029a: sizeof [helper]PrimitiveVT.VT1B
+ IL_02a0: mul
+ IL_02a1: add
+ IL_02a2: ldc.i4.3
+ IL_02a3: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_02a8: stobj [helper]PrimitiveVT.VT1B
+ IL_02ad: ldloc.1
+ IL_02ae: ldloc.s V_13
+ IL_02b0: ldc.i4.2
+ IL_02b1: conv.i
+ IL_02b2: sizeof [helper]PrimitiveVT.VT1B
+ IL_02b8: mul
+ IL_02b9: add
+ IL_02ba: ldobj [helper]PrimitiveVT.VT1B
+ IL_02bf: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_02c4: ldloc.s V_13
+ IL_02c6: ldobj [helper]PrimitiveVT.VT1B
+ IL_02cb: callvirt instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f7(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_02d0: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_02d5: ldc.i4.2
+ IL_02d6: beq.s IL_0317
+
+ IL_02d8: ldstr "FAILED (t.f7((VT1A)o[2], o[0]))!=2"
+ IL_02dd: call void [System.Console]System.Console::WriteLine(string)
+ IL_02e2: ldloc.1
+ IL_02e3: ldloc.s V_13
+ IL_02e5: ldc.i4.2
+ IL_02e6: conv.i
+ IL_02e7: sizeof [helper]PrimitiveVT.VT1B
+ IL_02ed: mul
+ IL_02ee: add
+ IL_02ef: ldobj [helper]PrimitiveVT.VT1B
+ IL_02f4: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_02f9: ldloc.s V_13
+ IL_02fb: ldobj [helper]PrimitiveVT.VT1B
+ IL_0300: callvirt instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f7(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_0305: call int32 [helper]PrimitiveVT.VT1B::op_Implicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_030a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_030f: ldc.i4.1
+ IL_0310: stloc.s V_15
+ IL_0312: br IL_04a4
+
+ IL_0317: ldc.i4.2
+ IL_0318: newarr valuetype [helper]PrimitiveVT.VT1B[0...,0...]
+ IL_031d: stloc.s V_14
+ IL_031f: ldloc.s V_14
+ IL_0321: ldc.i4.1
+ IL_0322: call valuetype [helper]PrimitiveVT.VT1B[0...,0...] PrimitiveVT.CallConv3::f9()
+ IL_0327: stelem.ref
+ IL_0328: ldloc.s V_14
+ IL_032a: ldc.i4.1
+ IL_032b: ldelem.ref
+ IL_032c: ldc.i4.0
+ IL_032d: ldc.i4.0
+ IL_032e: call instance valuetype [helper]PrimitiveVT.VT1B& valuetype [helper]PrimitiveVT.VT1B[0...,0...]::Address(int32,
+ int32)
+ IL_0333: ldloc.s V_13
+ IL_0335: ldobj [helper]PrimitiveVT.VT1B
+ IL_033a: stobj [helper]PrimitiveVT.VT1B
+ IL_033f: ldloc.1
+ IL_0340: ldc.i4.1
+ IL_0341: newarr [helper]PrimitiveVT.VT1B
+ IL_0346: stloc.s V_16
+ IL_0348: ldloc.s V_16
+ IL_034a: ldc.i4.0
+ IL_034b: ldelema [helper]PrimitiveVT.VT1B
+ IL_0350: ldloc.s V_14
+ IL_0352: ldc.i4.1
+ IL_0353: ldelem.ref
+ IL_0354: ldc.i4.0
+ IL_0355: ldc.i4.0
+ IL_0356: call instance valuetype [helper]PrimitiveVT.VT1B& valuetype [helper]PrimitiveVT.VT1B[0...,0...]::Address(int32,
+ int32)
+ IL_035b: ldobj [helper]PrimitiveVT.VT1B
+ IL_0360: stobj [helper]PrimitiveVT.VT1B
+ IL_0365: ldloc.s V_16
+ IL_0367: callvirt instance int32 PrimitiveVT.CallConv3::f10(valuetype [helper]PrimitiveVT.VT1B[])
+ IL_036c: ldc.i4.1
+ IL_036d: beq.s IL_03b3
+
+ IL_036f: ldstr "FAILED (t.f10(arr[1][0,0]))!=1"
+ IL_0374: call void [System.Console]System.Console::WriteLine(string)
+ IL_0379: ldloc.1
+ IL_037a: ldc.i4.1
+ IL_037b: newarr [helper]PrimitiveVT.VT1B
+ IL_0380: stloc.s V_16
+ IL_0382: ldloc.s V_16
+ IL_0384: ldc.i4.0
+ IL_0385: ldelema [helper]PrimitiveVT.VT1B
+ IL_038a: ldloc.s V_14
+ IL_038c: ldc.i4.1
+ IL_038d: ldelem.ref
+ IL_038e: ldc.i4.0
+ IL_038f: ldc.i4.0
+ IL_0390: callvirt instance valuetype [helper]PrimitiveVT.VT1B& valuetype [helper]PrimitiveVT.VT1B[0...,0...]::Address(int32,
+ int32)
+ IL_0395: ldobj [helper]PrimitiveVT.VT1B
+ IL_039a: stobj [helper]PrimitiveVT.VT1B
+ IL_039f: ldloc.s V_16
+ IL_03a1: callvirt instance int32 PrimitiveVT.CallConv3::f10(valuetype [helper]PrimitiveVT.VT1B[])
+ IL_03a6: call void [System.Console]System.Console::WriteLine(int32)
+ IL_03ab: ldc.i4.1
+ IL_03ac: stloc.s V_15
+ IL_03ae: br IL_04a4
+
+ IL_03b3: ldloc.1
+ IL_03b4: ldc.i4.3
+ IL_03b5: newarr [helper]PrimitiveVT.VT1B
+ IL_03ba: stloc.s V_16
+ IL_03bc: ldloc.s V_16
+ IL_03be: ldc.i4.0
+ IL_03bf: ldelema [helper]PrimitiveVT.VT1B
+ IL_03c4: ldloc.s V_14
+ IL_03c6: ldc.i4.1
+ IL_03c7: ldelem.ref
+ IL_03c8: ldc.i4.0
+ IL_03c9: ldc.i4.0
+ IL_03ca: call instance valuetype [helper]PrimitiveVT.VT1B& valuetype [helper]PrimitiveVT.VT1B[0...,0...]::Address(int32,
+ int32)
+ IL_03cf: ldobj [helper]PrimitiveVT.VT1B
+ IL_03d4: stobj [helper]PrimitiveVT.VT1B
+ IL_03d9: ldloc.s V_16
+ IL_03db: ldc.i4.1
+ IL_03dc: ldelema [helper]PrimitiveVT.VT1B
+ IL_03e1: ldloc.1
+ IL_03e2: ldc.i4.2
+ IL_03e3: newobj instance void [helper]PrimitiveVT.VT1B::.ctor(int32)
+ IL_03e8: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_03ed: ldloc.s V_13
+ IL_03ef: ldobj [helper]PrimitiveVT.VT1B
+ IL_03f4: callvirt instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f7(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_03f9: stobj [helper]PrimitiveVT.VT1B
+ IL_03fe: ldloc.s V_16
+ IL_0400: ldc.i4.2
+ IL_0401: ldelema [helper]PrimitiveVT.VT1B
+ IL_0406: ldc.i4.4
+ IL_0407: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_040c: stobj [helper]PrimitiveVT.VT1B
+ IL_0411: ldloc.s V_16
+ IL_0413: callvirt instance int32 PrimitiveVT.CallConv3::f10(valuetype [helper]PrimitiveVT.VT1B[])
+ IL_0418: ldc.i4.6
+ IL_0419: beq IL_0494
+
+ IL_041b: ldstr "FAILED (t.f10(arr[1][0,0], t.f7((VT1A)(new VT1B(2)"
+ + "), (VT1B)o[0]), 4))!=6"
+ IL_0420: call void [System.Console]System.Console::WriteLine(string)
+ IL_0425: ldloc.1
+ IL_0426: ldc.i4.3
+ IL_0427: newarr [helper]PrimitiveVT.VT1B
+ IL_042c: stloc.s V_16
+ IL_042e: ldloc.s V_16
+ IL_0430: ldc.i4.0
+ IL_0431: ldelema [helper]PrimitiveVT.VT1B
+ IL_0436: ldloc.s V_14
+ IL_0438: ldc.i4.1
+ IL_0439: ldelem.ref
+ IL_043a: ldc.i4.0
+ IL_043b: ldc.i4.0
+ IL_043c: call instance valuetype [helper]PrimitiveVT.VT1B& valuetype [helper]PrimitiveVT.VT1B[0...,0...]::Address(int32,
+ int32)
+ IL_0441: ldobj [helper]PrimitiveVT.VT1B
+ IL_0446: stobj [helper]PrimitiveVT.VT1B
+ IL_044b: ldloc.s V_16
+ IL_044d: ldc.i4.1
+ IL_044e: ldelema [helper]PrimitiveVT.VT1B
+ IL_0453: ldloc.1
+ IL_0454: ldc.i4.2
+ IL_0455: newobj instance void [helper]PrimitiveVT.VT1B::.ctor(int32)
+ IL_045a: call valuetype [helper]PrimitiveVT.VT1A [helper]PrimitiveVT.VT1B::op_Explicit(valuetype [helper]PrimitiveVT.VT1B)
+ IL_045f: ldloc.s V_13
+ IL_0461: ldobj [helper]PrimitiveVT.VT1B
+ IL_0466: callvirt instance valuetype [helper]PrimitiveVT.VT1B PrimitiveVT.CallConv3::f7(valuetype [helper]PrimitiveVT.VT1A,
+ valuetype [helper]PrimitiveVT.VT1B)
+ IL_046b: stobj [helper]PrimitiveVT.VT1B
+ IL_0470: ldloc.s V_16
+ IL_0472: ldc.i4.2
+ IL_0473: ldelema [helper]PrimitiveVT.VT1B
+ IL_0478: ldc.i4.4
+ IL_0479: call valuetype [helper]PrimitiveVT.VT1B [helper]PrimitiveVT.VT1B::op_Implicit(int32)
+ IL_047e: stobj [helper]PrimitiveVT.VT1B
+ IL_0483: ldloc.s V_16
+ dup
+ IL_0485: ldvirtftn instance int32 PrimitiveVT.CallConv3::f10(valuetype [helper]PrimitiveVT.VT1B[])
+ calli instance int32 (valuetype [helper]PrimitiveVT.VT1B[])
+ IL_048a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_048f: ldc.i4.1
+ IL_0490: stloc.s V_15
+ IL_0492: br.s IL_04a4
+
+ IL_0494: ldstr "PASSED"
+ IL_0499: call void [System.Console]System.Console::WriteLine(string)
+ IL_049e: ldc.i4.s 100
+ IL_04a0: stloc.s V_15
+ IL_04a2: br.s IL_04a4
+
+ IL_04a4: ldloc.s V_15
+ IL_04a6: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: newobj instance void [mscorlib]System.Random::.ctor()
+ IL_0005: stsfld class [mscorlib]System.Random PrimitiveVT.CallConv3::rand
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+
+}
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_d.ilproj b/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_d.ilproj
new file mode 100644
index 0000000000..37ca5b8026
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="callconv3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\PREFIX\PrimitiveVT\helper.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_r.ilproj b/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_r.ilproj
new file mode 100644
index 0000000000..6741965b2a
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/callconv3_il_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="callconv3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\PREFIX\PrimitiveVT\helper.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/identity3.il b/tests/src/JIT/Directed/perffix/primitivevt/identity3.il
new file mode 100644
index 0000000000..9e46c33c95
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/identity3.il
@@ -0,0 +1,577 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern nativeinthelper {}
+.assembly identity3 {}
+.namespace PrimitiveVT
+{
+ .class private auto ansi beforefieldinit Identity3
+ extends [mscorlib]System.Object
+ {
+ .field private static class [mscorlib]System.Random rand
+ .field private valuetype [nativeinthelper]PrimitiveVT.VT1A vt1a
+ .field private static valuetype [nativeinthelper]PrimitiveVT.VT1A x
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .locals (native int V_0,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B V_1,
+ class PrimitiveVT.Identity3 V_2,
+ native int V_3,
+ native int V_4,
+ native int V_5,
+ native int V_6,
+ native int V_7,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B V_8,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B V_9,
+ native int V_10,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B V_11,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B* V_12,
+ valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...][] V_13,
+ native int V_14)
+ IL_0000: ldsfld class [mscorlib]System.Random PrimitiveVT.Identity3::rand
+ IL_0005: callvirt instance int32 [mscorlib]System.Random::Next()
+ IL_000a: stloc.0
+ IL_000b: newobj instance void PrimitiveVT.Identity3::.ctor()
+ IL_0010: stloc.2
+ IL_0011: ldloc.2
+ IL_0012: ldflda valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0017: ldloc.0
+ IL_0018: stfld native int [nativeinthelper]PrimitiveVT.VT1A::m
+ IL_001d: ldloc.2
+ IL_001e: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0023: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_0028: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_002d: ldtoken [nativeinthelper]PrimitiveVT.VT1A
+ IL_0032: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0037: beq.s IL_0060
+
+ IL_0039: ldstr "FAILED, t.vt1a.GetType()!=typeof(VT1A)"
+ IL_003e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0043: ldloc.2
+ IL_0044: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0049: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_004e: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0053: call void [System.Console]System.Console::WriteLine(object)
+ IL_0058: ldc.i4.1
+ IL_0059: stloc.s V_14
+ IL_005b: br IL_0624
+
+ IL_0060: ldloc.2
+ IL_0061: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0066: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_006b: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0070: callvirt instance bool [mscorlib]System.Type::get_IsPrimitive()
+ IL_0075: brfalse.s IL_009e
+
+ IL_0077: ldstr "FAILED, t.vt1a.GetType().IsPrimitive"
+ IL_007c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0081: ldloc.2
+ IL_0082: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0087: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_008c: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0091: call void [System.Console]System.Console::WriteLine(object)
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.s V_14
+ IL_0099: br IL_0624
+
+ IL_009e: ldloc.2
+ IL_009f: ldflda valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_00a4: ldfld native int [nativeinthelper]PrimitiveVT.VT1A::m
+ IL_00a9: box [mscorlib]System.Int32
+ IL_00ae: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_00b3: ldtoken [mscorlib]System.Int32
+ IL_00b8: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_00bd: beq.s IL_00eb
+
+ IL_00bf: ldstr "FAILED, t.vt1a.m.GetType()!=typeof(System.Int32)"
+ IL_00c4: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c9: ldloc.2
+ IL_00ca: ldflda valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_00cf: ldfld native int [nativeinthelper]PrimitiveVT.VT1A::m
+ IL_00d4: box [mscorlib]System.Int32
+ IL_00d9: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_00de: call void [System.Console]System.Console::WriteLine(object)
+ IL_00e3: ldc.i4.1
+ IL_00e4: stloc.s V_14
+ IL_00e6: br IL_0624
+
+ IL_00eb: ldloc.2
+ IL_00ec: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_00f1: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_00f6: stloc.1
+ IL_00f7: ldloc.1
+ IL_00f8: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_00fd: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0102: ldtoken [nativeinthelper]PrimitiveVT.VT1B
+ IL_0107: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_010c: beq.s IL_0130
+
+ IL_010e: ldstr "FAILED vt1b.GetType()!=typeof(VT1B)"
+ IL_0113: call void [System.Console]System.Console::WriteLine(string)
+ IL_0118: ldloc.1
+ IL_0119: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_011e: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0123: call void [System.Console]System.Console::WriteLine(object)
+ IL_0128: ldc.i4.1
+ IL_0129: stloc.s V_14
+ IL_012b: br IL_0624
+
+ IL_0130: ldloc.1
+ IL_0131: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_0136: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_013b: callvirt instance bool [mscorlib]System.Type::get_IsValueType()
+ IL_0140: brtrue.s IL_0164
+
+ IL_0142: ldstr "FAILED !vt1b.GetType().IsValueType()"
+ IL_0147: call void [System.Console]System.Console::WriteLine(string)
+ IL_014c: ldloc.1
+ IL_014d: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_0152: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0157: call void [System.Console]System.Console::WriteLine(object)
+ IL_015c: ldc.i4.1
+ IL_015d: stloc.s V_14
+ IL_015f: br IL_0624
+
+ IL_0164: ldloc.2
+ IL_0165: ldloc.1
+ IL_0166: call valuetype [nativeinthelper]PrimitiveVT.VT1A [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_016b: stfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0170: ldloc.2
+ IL_0171: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_0176: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_017b: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0180: ldtoken [nativeinthelper]PrimitiveVT.VT1A
+ IL_0185: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_018a: beq.s IL_01b3
+
+ IL_018c: ldstr "FAILED t.vt1a.GetType()!=typeof(VT1A)"
+ IL_0191: call void [System.Console]System.Console::WriteLine(string)
+ IL_0196: ldloc.2
+ IL_0197: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_019c: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_01a1: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_01a6: call void [System.Console]System.Console::WriteLine(object)
+ IL_01ab: ldc.i4.1
+ IL_01ac: stloc.s V_14
+ IL_01ae: br IL_0624
+
+ IL_01b3: ldloc.1
+ IL_01b4: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_01b9: stloc.3
+ IL_01ba: ldloc.3
+ IL_01bb: ldloc.0
+ IL_01bc: beq.s IL_01d0
+
+ IL_01be: ldstr "FAILED, b!=a"
+ IL_01c3: call void [System.Console]System.Console::WriteLine(string)
+ IL_01c8: ldc.i4.1
+ IL_01c9: stloc.s V_14
+ IL_01cb: br IL_0624
+
+ IL_01d0: ldloc.2
+ IL_01d1: ldfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::vt1a
+ IL_01d6: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_01db: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_01e0: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_01e5: call valuetype [nativeinthelper]PrimitiveVT.VT1A [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_01ea: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_01ef: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_01f4: stloc.s V_4
+ IL_01f6: ldloc.s V_4
+ IL_01f8: ldloc.3
+ IL_01f9: beq.s IL_020d
+
+ IL_01fb: ldstr "FAILED, c!=b"
+ IL_0200: call void [System.Console]System.Console::WriteLine(string)
+ IL_0205: ldc.i4.1
+ IL_0206: stloc.s V_14
+ IL_0208: br IL_0624
+
+ IL_020d: ldsfld class [mscorlib]System.Random PrimitiveVT.Identity3::rand
+ IL_0212: callvirt instance int32 [mscorlib]System.Random::Next()
+ IL_0217: stloc.s V_5
+ IL_0219: ldc.i4 0x80000000
+ IL_021e: stloc.s V_6
+ IL_0220: ldc.i4 0x3fffffff
+ IL_0225: stloc.s V_7
+ IL_0227: ldsflda valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_022c: initobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_0232: ldloca.s V_8
+ IL_0234: ldloc.s V_6
+ IL_0236: call instance void [nativeinthelper]PrimitiveVT.VT1B::.ctor(native int)
+ IL_023b: ldsflda valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0240: ldloc.s V_5
+ IL_0242: stfld native int [nativeinthelper]PrimitiveVT.VT1A::m
+ IL_0247: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_024c: ldloc.s V_8
+ IL_024e: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0253: ldloc.s V_7
+ IL_0255: newobj instance void [nativeinthelper]PrimitiveVT.VT1B::.ctor(native int)
+ IL_025a: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Subtraction(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_025f: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0264: ldloc.s V_8
+ IL_0266: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Addition(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_026b: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0270: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0275: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_027a: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Addition(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_027f: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0284: ldloc.s V_7
+ IL_0286: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_028b: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Addition(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0290: ldloc.s V_8
+ IL_0292: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0297: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_029c: add
+ IL_029d: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_02a2: ldloc.s V_5
+ IL_02a4: ldc.i4.2
+ IL_02a5: rem
+ IL_02a6: brfalse.s IL_02b1
+
+ IL_02a8: ldloc.s V_5
+ IL_02aa: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_02af: br.s IL_02ba
+
+ IL_02b1: ldloc.s V_5
+ IL_02b3: ldc.i4.2
+ IL_02b4: div
+ IL_02b5: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_02ba: call float32 [nativeinthelper]PrimitiveVT.VT1B::op_Division(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_02bf: conv.i4
+ IL_02c0: add
+ IL_02c1: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_02c6: stloc.s V_9
+ IL_02c8: ldloc.s V_8
+ IL_02ca: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_02cf: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1A)
+ IL_02d4: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_02d9: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_02de: ldloc.s V_8
+ IL_02e0: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_02e5: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Addition(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_02ea: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_02ef: ldloc.s V_8
+ IL_02f1: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Addition(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_02f6: ldloc.s V_5
+ IL_02f8: add
+ IL_02f9: ldloc.s V_5
+ IL_02fb: ldloc.s V_5
+ IL_02fd: ldc.i4.2
+ IL_02fe: rem
+ IL_02ff: brfalse.s IL_030a
+
+ IL_0301: ldloc.s V_5
+ IL_0303: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0308: br.s IL_0313
+
+ IL_030a: ldloc.s V_5
+ IL_030c: ldc.i4.2
+ IL_030d: div
+ IL_030e: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0313: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0318: div
+ IL_0319: add
+ IL_031a: stloc.s V_10
+ IL_031c: ldloc.s V_9
+ IL_031e: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0323: ldloc.s V_10
+ IL_0325: beq.s IL_034c
+
+ IL_0327: ldstr "FAILED, u!=w"
+ IL_032c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0331: ldloc.s V_9
+ IL_0333: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0338: call void [System.Console]System.Console::WriteLine(int32)
+ IL_033d: ldloc.s V_10
+ IL_033f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0344: ldc.i4.1
+ IL_0345: stloc.s V_14
+ IL_0347: br IL_0624
+
+ IL_034c: ldloc.s V_9
+ IL_034e: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_0353: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0358: callvirt instance class [mscorlib]System.Type [mscorlib]System.Type::get_UnderlyingSystemType()
+ IL_035d: ldtoken [nativeinthelper]PrimitiveVT.VT1B
+ IL_0362: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0367: beq.s IL_0391
+
+ IL_0369: ldstr "FAILED u.GetType().UnderlyingSystemType!=typeof(VT"
+ + "1B)"
+ IL_036e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0373: ldloc.s V_9
+ IL_0375: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_037a: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_037f: callvirt instance class [mscorlib]System.Type [mscorlib]System.Type::get_UnderlyingSystemType()
+ IL_0384: call void [System.Console]System.Console::WriteLine(object)
+ IL_0389: ldc.i4.1
+ IL_038a: stloc.s V_14
+ IL_038c: br IL_0624
+
+ IL_0391: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0396: ldloc.s V_8
+ IL_0398: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_039d: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_03a2: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_03a7: ldtoken [nativeinthelper]PrimitiveVT.VT1B
+ IL_03ac: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_03b1: beq.s IL_03e0
+
+ IL_03b3: ldstr "FAILED (x*y).GetType()!=typeof(VT1B)"
+ IL_03b8: call void [System.Console]System.Console::WriteLine(string)
+ IL_03bd: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_03c2: ldloc.s V_8
+ IL_03c4: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_03c9: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_03ce: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_03d3: call void [System.Console]System.Console::WriteLine(object)
+ IL_03d8: ldc.i4.1
+ IL_03d9: stloc.s V_14
+ IL_03db: br IL_0624
+
+ IL_03e0: ldc.i4.3
+ IL_03e1: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_03e6: ldloc.s V_8
+ IL_03e8: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_03ed: box [mscorlib]System.Int32
+ IL_03f2: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_03f7: ldtoken [mscorlib]System.Int32
+ IL_03fc: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0401: beq.s IL_0431
+
+ IL_0403: ldstr "FAILED (3*y).GetType()!=typeof(System.Int32)"
+ IL_0408: call void [System.Console]System.Console::WriteLine(string)
+ IL_040d: ldc.i4.3
+ IL_040e: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0413: ldloc.s V_8
+ IL_0415: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Multiply(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_041a: box [mscorlib]System.Int32
+ IL_041f: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0424: call void [System.Console]System.Console::WriteLine(object)
+ IL_0429: ldc.i4.1
+ IL_042a: stloc.s V_14
+ IL_042c: br IL_0624
+
+ IL_0431: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0436: ldloc.s V_8
+ IL_0438: call float32 [nativeinthelper]PrimitiveVT.VT1B::op_Division(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_043d: box [mscorlib]System.Single
+ IL_0442: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0447: ldtoken [mscorlib]System.Single
+ IL_044c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0451: beq.s IL_0480
+
+ IL_0453: ldstr "FAILED (x/y).GetType()!=typeof(System.Single)"
+ IL_0458: call void [System.Console]System.Console::WriteLine(string)
+ IL_045d: ldsfld valuetype [nativeinthelper]PrimitiveVT.VT1A PrimitiveVT.Identity3::x
+ IL_0462: ldloc.s V_8
+ IL_0464: call float32 [nativeinthelper]PrimitiveVT.VT1B::op_Division(valuetype [nativeinthelper]PrimitiveVT.VT1A,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0469: box [mscorlib]System.Single
+ IL_046e: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0473: call void [System.Console]System.Console::WriteLine(object)
+ IL_0478: ldc.i4.1
+ IL_0479: stloc.s V_14
+ IL_047b: br IL_0624
+
+ IL_0480: ldc.i4.3
+ IL_0481: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0486: stloc.s V_11
+ IL_0488: br.s IL_049c
+
+ IL_048a: ldloc.s V_11
+ IL_048c: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Increment(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_0491: stloc.s V_11
+ IL_0493: ldloc.s V_8
+ IL_0495: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Increment(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_049a: stloc.s V_8
+ IL_049c: ldloc.s V_11
+ IL_049e: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_04a3: ldc.i4.s 10
+ IL_04a5: ble.s IL_048a
+
+ IL_04a7: ldloc.s V_8
+ IL_04a9: ldc.i4 0x80000000
+ IL_04ae: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_04b3: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Subtraction(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_04b8: ldc.i4.8
+ IL_04b9: beq.s IL_04e3
+
+ IL_04bb: ldstr "FAILED, y-Int32.MinValue!=8"
+ IL_04c0: call void [System.Console]System.Console::WriteLine(string)
+ IL_04c5: ldloc.s V_8
+ IL_04c7: ldc.i4 0x80000000
+ IL_04cc: call valuetype [nativeinthelper]PrimitiveVT.VT1B [nativeinthelper]PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_04d1: call native int [nativeinthelper]PrimitiveVT.VT1B::op_Subtraction(valuetype [nativeinthelper]PrimitiveVT.VT1B,
+ valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_04d6: call void [System.Console]System.Console::WriteLine(int32)
+ IL_04db: ldc.i4.1
+ IL_04dc: stloc.s V_14
+ IL_04de: br IL_0624
+
+ IL_04e3: sizeof [nativeinthelper]PrimitiveVT.VT1B
+ IL_04e9: ldc.i4.1
+ IL_04ea: mul
+ IL_04eb: localloc
+ IL_04ed: stloc.s V_12
+ IL_04ef: ldloc.s V_12
+ IL_04f1: sizeof [nativeinthelper]PrimitiveVT.VT1B
+ IL_04f7: add
+ IL_04f8: ldobj [nativeinthelper]PrimitiveVT.VT1B
+ IL_04fd: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_0502: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0507: ldtoken [nativeinthelper]PrimitiveVT.VT1B
+ IL_050c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0511: beq.s IL_0542
+
+ IL_0513: ldstr "FAILED (o+1)->GetType()!=typeof(VT1B)"
+ IL_0518: call void [System.Console]System.Console::WriteLine(string)
+ IL_051d: ldloc.s V_12
+ IL_051f: sizeof [nativeinthelper]PrimitiveVT.VT1B
+ IL_0525: add
+ IL_0526: ldobj [nativeinthelper]PrimitiveVT.VT1B
+ IL_052b: box [nativeinthelper]PrimitiveVT.VT1B
+ IL_0530: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0535: call void [System.Console]System.Console::WriteLine(object)
+ IL_053a: ldc.i4.1
+ IL_053b: stloc.s V_14
+ IL_053d: br IL_0624
+
+ IL_0542: ldc.i4.2
+ IL_0543: newarr valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]
+ IL_0548: stloc.s V_13
+ IL_054a: ldloc.s V_13
+ IL_054c: ldc.i4.1
+ IL_054d: ldc.i4.1
+ IL_054e: ldc.i4.2
+ IL_054f: newobj instance void valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::.ctor(int32,
+ int32)
+ IL_0554: stelem.ref
+ IL_0555: ldloc.s V_13
+ IL_0557: ldc.i4.1
+ IL_0558: ldelem.ref
+ IL_0559: ldc.i4.0
+ IL_055a: ldc.i4.0
+ IL_055b: call instance valuetype [nativeinthelper]PrimitiveVT.VT1A& valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::Address(int32,
+ int32)
+ IL_0560: ldloc.s V_12
+ IL_0562: ldobj [nativeinthelper]PrimitiveVT.VT1B
+ IL_0567: call valuetype [nativeinthelper]PrimitiveVT.VT1A [nativeinthelper]PrimitiveVT.VT1B::op_Explicit(valuetype [nativeinthelper]PrimitiveVT.VT1B)
+ IL_056c: stobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_0571: ldloc.s V_13
+ IL_0573: ldc.i4.1
+ IL_0574: ldelem.ref
+ IL_0575: ldc.i4.0
+ IL_0576: ldc.i4.0
+ IL_0577: call instance valuetype [nativeinthelper]PrimitiveVT.VT1A& valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::Address(int32, int32)
+ IL_057c: ldobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_0581: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_0586: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_058b: ldtoken [nativeinthelper]PrimitiveVT.VT1A
+ IL_0590: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0595: beq.s IL_05c5
+
+ IL_0597: ldstr "FAILED arr[1][0,0].GetType()!=typeof(VT1A)"
+ IL_059c: call void [System.Console]System.Console::WriteLine(string)
+ IL_05a1: ldloc.s V_13
+ IL_05a3: ldc.i4.1
+ IL_05a4: ldelem.ref
+ IL_05a5: ldc.i4.0
+ IL_05a6: ldc.i4.0
+ IL_05a7: call instance valuetype [nativeinthelper]PrimitiveVT.VT1A& valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::Address(int32, int32)
+ IL_05ac: ldobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_05b1: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_05b6: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_05bb: call void [System.Console]System.Console::WriteLine(object)
+ IL_05c0: ldc.i4.1
+ IL_05c1: stloc.s V_14
+ IL_05c3: br.s IL_0624
+
+ IL_05c5: ldloc.s V_13
+ IL_05c7: ldc.i4.1
+ IL_05c8: ldelem.ref
+ IL_05c9: ldc.i4.0
+ IL_05ca: ldc.i4.0
+ IL_05cb: call instance valuetype [nativeinthelper]PrimitiveVT.VT1A& valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::Address(int32, int32)
+ IL_05d0: ldobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_05d5: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_05da: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_05df: callvirt instance bool [mscorlib]System.Type::get_IsPrimitive()
+ IL_05e4: brfalse.s IL_0614
+
+ IL_05e6: ldstr "FAILED arr[1][0,0].GetType().IsPrimitive()"
+ IL_05eb: call void [System.Console]System.Console::WriteLine(string)
+ IL_05f0: ldloc.s V_13
+ IL_05f2: ldc.i4.1
+ IL_05f3: ldelem.ref
+ IL_05f4: ldc.i4.0
+ IL_05f5: ldc.i4.0
+ IL_05f6: call instance valuetype [nativeinthelper]PrimitiveVT.VT1A& valuetype [nativeinthelper]PrimitiveVT.VT1A[0...,0...]::Address(int32, int32)
+ IL_05fb: ldobj [nativeinthelper]PrimitiveVT.VT1A
+ IL_0600: box [nativeinthelper]PrimitiveVT.VT1A
+ IL_0605: call instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_060a: call void [System.Console]System.Console::WriteLine(object)
+ IL_060f: ldc.i4.1
+ IL_0610: stloc.s V_14
+ IL_0612: br.s IL_0624
+
+ IL_0614: ldstr "PASSED"
+ IL_0619: call void [System.Console]System.Console::WriteLine(string)
+ IL_061e: ldc.i4.s 100
+ IL_0620: stloc.s V_14
+ IL_0622: br.s IL_0624
+
+ IL_0624: ldloc.s V_14
+ IL_0626: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: newobj instance void [mscorlib]System.Random::.ctor()
+ IL_0005: stsfld class [mscorlib]System.Random PrimitiveVT.Identity3::rand
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+
+}
+
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_d.ilproj b/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_d.ilproj
new file mode 100644
index 0000000000..2782f99413
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="identity3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="nativeinthelper.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_r.ilproj b/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_r.ilproj
new file mode 100644
index 0000000000..b138153507
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/identity3_il_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="identity3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="nativeinthelper.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.il b/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.il
new file mode 100644
index 0000000000..5e55cfc3f7
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.il
@@ -0,0 +1,595 @@
+.assembly extern mscorlib {}
+.assembly nativeinthelper {}
+.module nativeinthelper.dll
+.namespace PrimitiveVT
+{
+ .class public sequential ansi sealed beforefieldinit VT1A
+ extends [mscorlib]System.ValueType
+ {
+ .field public native int m
+ } // end of class VT1A
+
+ .class public sequential ansi sealed beforefieldinit VT1B
+ extends [mscorlib]System.ValueType
+ {
+ .field public native int m
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(native int x) cil managed
+ {
+ // Code size 8 (0x8)
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld native int PrimitiveVT.VT1B::m
+ IL_0007: ret
+ } // end of method VT1B::.ctor
+
+ .method public hidebysig specialname static
+ native int op_Implicit(valuetype PrimitiveVT.VT1B x) cil managed
+ {
+ // Code size 12 (0xc)
+ .maxstack 1
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1B::m
+ IL_0007: stloc.0
+ IL_0008: br.s IL_000a
+
+ IL_000a: ldloc.0
+ IL_000b: ret
+ } // end of method VT1B::op_Implicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Implicit(native int x) cil managed
+ {
+ // Code size 14 (0xe)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ valuetype PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarg.0
+ IL_0003: stfld native int PrimitiveVT.VT1B::m
+ IL_0008: ldloc.0
+ IL_0009: stloc.1
+ IL_000a: br.s IL_000c
+
+ IL_000c: ldloc.1
+ IL_000d: ret
+ } // end of method VT1B::op_Implicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1A op_Explicit(valuetype PrimitiveVT.VT1B x) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT1A V_0,
+ valuetype PrimitiveVT.VT1A V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT1B::m
+ IL_0009: stfld native int PrimitiveVT.VT1A::m
+ IL_000e: ldloc.0
+ IL_000f: stloc.1
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.1
+ IL_0013: ret
+ } // end of method VT1B::op_Explicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Explicit(valuetype PrimitiveVT.VT1A x) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ valuetype PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT1A::m
+ IL_0009: stfld native int PrimitiveVT.VT1B::m
+ IL_000e: ldloc.0
+ IL_000f: stloc.1
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.1
+ IL_0013: ret
+ } // end of method VT1B::op_Explicit
+
+ .method public hidebysig specialname static
+ native int op_Addition(valuetype PrimitiveVT.VT1B x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT1B::m
+ IL_000e: add
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT1B::op_Addition
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Addition(valuetype PrimitiveVT.VT1A x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ valuetype PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT1A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT1B::m
+ IL_0010: add
+ IL_0011: stfld native int PrimitiveVT.VT1B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT1B::op_Addition
+
+ .method public hidebysig specialname static
+ native int op_Subtraction(valuetype PrimitiveVT.VT1B x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT1B::m
+ IL_000e: sub
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT1B::op_Subtraction
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Subtraction(valuetype PrimitiveVT.VT1A x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ valuetype PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT1A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT1B::m
+ IL_0010: sub
+ IL_0011: stfld native int PrimitiveVT.VT1B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT1B::op_Subtraction
+
+ .method public hidebysig specialname static
+ native int op_Multiply(valuetype PrimitiveVT.VT1B x,
+ valuetype PrimitiveVT.VT1A y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT1A::m
+ IL_000e: mul
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT1B::op_Multiply
+
+ .method public hidebysig specialname static
+ native int op_Multiply(valuetype PrimitiveVT.VT1B x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT1B::m
+ IL_000e: mul
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT1B::op_Multiply
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Multiply(valuetype PrimitiveVT.VT1A x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ valuetype PrimitiveVT.VT1B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT1A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT1B::m
+ IL_0010: mul
+ IL_0011: stfld native int PrimitiveVT.VT1B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT1B::op_Multiply
+
+ .method public hidebysig specialname static
+ float32 op_Division(valuetype PrimitiveVT.VT1A x,
+ valuetype PrimitiveVT.VT1B y) cil managed
+ {
+ // Code size 21 (0x15)
+ .maxstack 2
+ .locals init (float32 V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT1A::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT1B::m
+ IL_000e: div
+ IL_000f: conv.r4
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0013
+
+ IL_0013: ldloc.0
+ IL_0014: ret
+ } // end of method VT1B::op_Division
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT1B op_Increment(valuetype PrimitiveVT.VT1B x) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT1B V_0,
+ native int V_1)
+ IL_0000: ldarga.s x
+ IL_0002: dup
+ IL_0003: ldfld native int PrimitiveVT.VT1B::m
+ IL_0008: ldc.i4.1
+ IL_0009: add
+ IL_000a: dup
+ IL_000b: stloc.1
+ IL_000c: stfld native int PrimitiveVT.VT1B::m
+ IL_0011: ldloc.1
+ IL_0012: call valuetype PrimitiveVT.VT1B PrimitiveVT.VT1B::op_Implicit(native int)
+ IL_0017: stloc.0
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.0
+ IL_001b: ret
+ } // end of method VT1B::op_Increment
+
+ } // end of class VT1B
+
+ .class public sequential ansi sealed beforefieldinit VT2A
+ extends [mscorlib]System.ValueType
+ {
+ .field public native int m
+ } // end of class VT2A
+
+ .class public sequential ansi sealed beforefieldinit VT2B
+ extends [mscorlib]System.ValueType
+ {
+ .field public native int m
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(native int x) cil managed
+ {
+ // Code size 8 (0x8)
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld native int PrimitiveVT.VT2B::m
+ IL_0007: ret
+ } // end of method VT2B::.ctor
+
+ .method public hidebysig specialname static
+ native int op_Implicit(valuetype PrimitiveVT.VT2B x) cil managed
+ {
+ // Code size 12 (0xc)
+ .maxstack 1
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: stloc.0
+ IL_0008: br.s IL_000a
+
+ IL_000a: ldloc.0
+ IL_000b: ret
+ } // end of method VT2B::op_Implicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Implicit(native int x) cil managed
+ {
+ // Code size 14 (0xe)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ valuetype PrimitiveVT.VT2B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarg.0
+ IL_0003: stfld native int PrimitiveVT.VT2B::m
+ IL_0008: ldloc.0
+ IL_0009: stloc.1
+ IL_000a: br.s IL_000c
+
+ IL_000c: ldloc.1
+ IL_000d: ret
+ } // end of method VT2B::op_Implicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2A op_Explicit(valuetype PrimitiveVT.VT2B x) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT2A V_0,
+ valuetype PrimitiveVT.VT2A V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT2B::m
+ IL_0009: stfld native int PrimitiveVT.VT2A::m
+ IL_000e: ldloc.0
+ IL_000f: stloc.1
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.1
+ IL_0013: ret
+ } // end of method VT2B::op_Explicit
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Explicit(valuetype PrimitiveVT.VT2A x) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ valuetype PrimitiveVT.VT2B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT2A::m
+ IL_0009: stfld native int PrimitiveVT.VT2B::m
+ IL_000e: ldloc.0
+ IL_000f: stloc.1
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.1
+ IL_0013: ret
+ } // end of method VT2B::op_Explicit
+
+ .method public hidebysig specialname static
+ native int op_Addition(valuetype PrimitiveVT.VT2B x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT2B::m
+ IL_000e: add
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT2B::op_Addition
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Addition(valuetype PrimitiveVT.VT2A x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ valuetype PrimitiveVT.VT2B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT2A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT2B::m
+ IL_0010: add
+ IL_0011: stfld native int PrimitiveVT.VT2B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT2B::op_Addition
+
+ .method public hidebysig specialname static
+ native int op_Subtraction(valuetype PrimitiveVT.VT2B x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT2B::m
+ IL_000e: sub
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT2B::op_Subtraction
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Subtraction(valuetype PrimitiveVT.VT2A x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ valuetype PrimitiveVT.VT2B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT2A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT2B::m
+ IL_0010: sub
+ IL_0011: stfld native int PrimitiveVT.VT2B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT2B::op_Subtraction
+
+ .method public hidebysig specialname static
+ native int op_Multiply(valuetype PrimitiveVT.VT2B x,
+ valuetype PrimitiveVT.VT2A y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT2A::m
+ IL_000e: mul
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT2B::op_Multiply
+
+ .method public hidebysig specialname static
+ native int op_Multiply(valuetype PrimitiveVT.VT2B x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 20 (0x14)
+ .maxstack 2
+ .locals init (native int V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT2B::m
+ IL_000e: mul
+ IL_000f: stloc.0
+ IL_0010: br.s IL_0012
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+ } // end of method VT2B::op_Multiply
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Multiply(valuetype PrimitiveVT.VT2A x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ valuetype PrimitiveVT.VT2B V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: ldarga.s x
+ IL_0004: ldfld native int PrimitiveVT.VT2A::m
+ IL_0009: ldarga.s y
+ IL_000b: ldfld native int PrimitiveVT.VT2B::m
+ IL_0010: mul
+ IL_0011: stfld native int PrimitiveVT.VT2B::m
+ IL_0016: ldloc.0
+ IL_0017: stloc.1
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.1
+ IL_001b: ret
+ } // end of method VT2B::op_Multiply
+
+ .method public hidebysig specialname static
+ float32 op_Division(valuetype PrimitiveVT.VT2A x,
+ valuetype PrimitiveVT.VT2B y) cil managed
+ {
+ // Code size 22 (0x16)
+ .maxstack 2
+ .locals init (float32 V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2A::m
+ IL_0007: ldarga.s y
+ IL_0009: ldfld native int PrimitiveVT.VT2B::m
+ IL_000e: div.un
+ IL_000f: conv.r.un
+ IL_0010: conv.r4
+ IL_0011: stloc.0
+ IL_0012: br.s IL_0014
+
+ IL_0014: ldloc.0
+ IL_0015: ret
+ } // end of method VT2B::op_Division
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Decrement(valuetype PrimitiveVT.VT2B x) cil managed
+ {
+ // Code size 28 (0x1c)
+ .maxstack 3
+ .locals init (valuetype PrimitiveVT.VT2B V_0,
+ native int V_1)
+ IL_0000: ldarga.s x
+ IL_0002: dup
+ IL_0003: ldfld native int PrimitiveVT.VT2B::m
+ IL_0008: ldc.i4.1
+ IL_0009: sub
+ IL_000a: dup
+ IL_000b: stloc.1
+ IL_000c: stfld native int PrimitiveVT.VT2B::m
+ IL_0011: ldloc.1
+ IL_0012: call valuetype PrimitiveVT.VT2B PrimitiveVT.VT2B::op_Implicit(native int)
+ IL_0017: stloc.0
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.0
+ IL_001b: ret
+ } // end of method VT2B::op_Decrement
+
+ .method public hidebysig specialname static
+ valuetype PrimitiveVT.VT2B op_Increment(valuetype PrimitiveVT.VT2B x) cil managed
+ {
+ // Code size 19 (0x13)
+ .maxstack 2
+ .locals init (valuetype PrimitiveVT.VT2B V_0)
+ IL_0000: ldarga.s x
+ IL_0002: ldfld native int PrimitiveVT.VT2B::m
+ IL_0007: ldc.i4.1
+ IL_0008: add
+ IL_0009: call valuetype PrimitiveVT.VT2B PrimitiveVT.VT2B::op_Implicit(native int)
+ IL_000e: stloc.0
+ IL_000f: br.s IL_0011
+
+ IL_0011: ldloc.0
+ IL_0012: ret
+ } // end of method VT2B::op_Increment
+
+ } // end of class VT2B
+
+
+// =============================================================
+
+
+} // end of namespace PrimitiveVT
diff --git a/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.ilproj b/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.ilproj
new file mode 100644
index 0000000000..7bd5c9e17c
--- /dev/null
+++ b/tests/src/JIT/Directed/perffix/primitivevt/nativeinthelper.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <CLRTestKind>BuildOnly</CLRTestKind>
+ <GenerateRunScript>false</GenerateRunScript>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nativeinthelper.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/pinning/object-pin/CMakeLists.txt b/tests/src/JIT/Directed/pinning/object-pin/CMakeLists.txt
new file mode 100644
index 0000000000..ff4a430eb1
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 2.6)
+project(object_pin_mirror)
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "")
+
+add_library(mirror SHARED mirror.cpp)
+SET_TARGET_PROPERTIES(mirror PROPERTIES COMPILE_FLAGS "-c")
+
+# add the install targets (this "installs" the native file on Windows systems)
+install(TARGETS mirror DESTINATION bin)
+
+# This "installs" the native file on System V systems
+set_target_properties(mirror PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/mirror)
diff --git a/tests/src/JIT/Directed/pinning/object-pin/Object-Pin.il b/tests/src/JIT/Directed/pinning/object-pin/Object-Pin.il
new file mode 100644
index 0000000000..7c7b9702bc
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/Object-Pin.il
@@ -0,0 +1,346 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly objectpin
+{
+}
+
+
+
+.class auto ansi Space
+{
+ .field public int32[] foo
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+}
+
+.class auto ansi Consume
+{
+ .field private class Space[] junk
+ .field public int32 yucko
+ .method public specialname rtspecialname instance void .ctor(int32 size) il managed
+ {
+ .maxstack 3
+ .locals (int32 V_0)
+
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ldarg.0
+ ldarg.1
+ newarr Space
+ stfld class Space[] Consume::junk
+ ldc.i4.0
+ stloc.0
+ br.s LOOP1
+LOOP2:
+ ldarg.0
+ ldfld class Space[] Consume::junk
+ ldloc.0
+ newobj instance void Space::.ctor()
+ stelem.ref
+ ldarg.0
+ ldfld class Space[] Consume::junk
+ ldloc.0
+ ldelem.ref
+ ldc.i4 0x100
+ newarr [mscorlib]System.Int32
+ stfld int32[] Space::foo
+ ldarg.0
+ ldfld class Space[] Consume::junk
+ ldloc.0
+ ldelem.ref
+ ldfld int32[] Space::foo
+ ldc.i4.0
+ ldarg.1
+ stelem.i4
+ ldarg.0
+ ldfld class Space[] Consume::junk
+ ldloc.0
+ ldelem.ref
+ ldfld int32[] Space::foo
+ ldc.i4 0xff
+ ldarg.1
+ stelem.i4
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+LOOP1:
+ ldloc.0
+ ldarg.1
+ blt.s LOOP2
+ ret
+ }
+}
+
+
+.class auto ansi Pin1_Test
+{
+ .method public static pinvokeimpl("Mirror" cdecl) int32 Ret_Ptr(void *) il managed preservesig{ }
+ .method public static pinvokeimpl("Mirror" cdecl) void Set_Val(void*,int32 c) il managed preservesig { }
+ .method public static int32 Main(class [mscorlib]System.String[] args) il managed
+ {
+ .entrypoint
+ .maxstack 400
+ ldstr "Calling Not_Pinned() to assure that GC actually moves things"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ call int32 Pin1_Test::Not_Pinned()
+ brtrue FAILURE1
+SOFT1:
+ ldstr "Calling Pinned() to assure that GC doesnt move things that are pinned"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ call int32 Pin1_Test::Pinned()
+ brtrue FAILURE2
+ ldstr "Trying a field assignment to a pinned object from native(with GC)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ call int32 Pin1_Test::Pinned_Test_Assign()
+ brtrue FAILURE3
+ ldstr "Yippie, everything worked as advertised"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x64
+ ret
+
+FAILURE1:
+ ldstr "Something is wrong, things didnt move! Maybe you should set GCSTRESS to 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br SOFT1
+FAILURE2:
+ ldstr "Something is wrong, things moved! Pinned must not be working"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 1
+ ret
+FAILURE3:
+ ldstr "Something is wrong, the assigment didnt work!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 1
+ ret
+ }
+
+ .method public static int32 Not_Pinned() il managed
+ {
+ .maxstack 10
+ .locals (class Consume, class Consume , class Consume, int32, int32 )
+
+ call void [mscorlib]System.GC::Collect()
+ ldc.i4 256
+ newobj instance void Consume::.ctor(int32)
+ stloc.0
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.1
+
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 3
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.2
+
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 4
+
+ call void [mscorlib]System.GC::Collect()
+
+ ldnull
+ stloc.0
+
+ call void [mscorlib]System.GC::Collect()
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 3
+ conv.i
+ beq AA_1
+
+SOFT2:
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 4
+ conv.i
+ beq AA_2
+
+SOFT3:
+ ldc.i4 0
+ br AA_3
+
+AA_1:
+ ldstr "Something is wrong, 1st one didnt move (Not_Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br SOFT2
+
+AA_2:
+ ldstr "Something is wrong, 2nd one didnt move(Not_Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br SOFT3
+AA_3:
+ ret
+ }
+
+ .method public static int32 Pinned() il managed
+ {
+ .maxstack 10
+ .locals (class Consume, class Consume, class Consume pinned, int32, int32 )
+
+ call void [mscorlib]System.GC::Collect()
+ ldc.i4 256
+ newobj instance void Consume::.ctor(int32)
+ stloc.0
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.1
+
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 3
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.2
+
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 4
+
+ call void [mscorlib]System.GC::Collect()
+
+ ldnull
+ stloc.0
+
+ call void [mscorlib]System.GC::Collect()
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 3
+ conv.i
+ beq AA_1
+
+SOFT4:
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 4
+ conv.i
+ beq AA_2
+
+ ldstr "Something is wrong, 2nd one moved!(Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 1
+ br AA_3
+
+AA_1:
+ ldstr "Something is wrong, 1st one didnt move(Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br SOFT4
+
+AA_2:
+ ldc.i4 0
+
+AA_3:
+ ret
+ }
+ .method public static int32 Pinned_Test_Assign() il managed
+ {
+ .maxstack 10
+ .locals (class Consume, class Consume, class Consume pinned, int32, int32, int32 )
+
+ call void [mscorlib]System.GC::Collect()
+ ldc.i4 256
+ newobj instance void Consume::.ctor(int32)
+ stloc.0
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.1
+
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 3
+
+ ldc.i4 2
+ newobj instance void Consume::.ctor(int32)
+ stloc.2
+
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ stloc 4
+
+ call void [mscorlib]System.GC::Collect()
+
+ ldnull
+ stloc.0
+
+ ldc.i4 55
+ stloc 5
+ ldloc 2
+ ldloc 5
+ stfld int32 Consume::yucko
+
+ ldloc 2
+ ldflda int32 Consume::yucko
+ ldc.i4 66
+ call void Pin1_Test::Set_Val(void*,int32)
+ ldloc 2
+ ldfld int32 Consume::yucko
+ ldc.i4 66
+ beq Yippie1
+ ldc.i4 1
+ ret
+Yippie1:
+ call void [mscorlib]System.GC::Collect()
+ ldloc 2
+ ldloc 5
+ stfld int32 Consume::yucko
+
+ ldloc 2
+ ldflda int32 Consume::yucko
+ ldc.i4 88
+ call void Pin1_Test::Set_Val(void*,int32)
+ ldloc 2
+ ldfld int32 Consume::yucko
+ ldc.i4 88
+ beq Yippie2
+ ldc.i4 1
+ ret
+Yippie2:
+ call void [mscorlib]System.GC::Collect()
+ ldloc 1
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 3
+ conv.i
+ beq AA_1
+
+SOFT5:
+ ldloc 2
+ call int32 Pin1_Test::Ret_Ptr(void*)
+ ldloc 4
+ conv.i
+ beq AA_2
+
+ ldstr "Something is wrong, 2nd one moved!(Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 1
+ br AA_3
+
+AA_1:
+ ldstr "Something is wrong, 1st one didnt move(Pinned)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br SOFT5
+
+AA_2:
+ ldc.i4 0
+
+AA_3:
+ ret
+ }
+}
+
diff --git a/tests/src/JIT/Directed/pinning/object-pin/app.config b/tests/src/JIT/Directed/pinning/object-pin/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Directed/pinning/object-pin/mirror.cpp b/tests/src/JIT/Directed/pinning/object-pin/mirror.cpp
new file mode 100644
index 0000000000..4ae913cb5f
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/mirror.cpp
@@ -0,0 +1,19 @@
+unsigned __int32 Ret_Int(unsigned __int32 argVal){
+ unsigned __int32 retVal = (unsigned __int32)argVal;
+ return retVal;
+}
+unsigned __int32 Ret_Ptr(void *argVal){
+ unsigned __int32 retVal = (unsigned __int32)argVal;
+ return retVal;
+}
+
+void Set_Val(__int32 *argVal, __int32 val){
+ *argVal = val;;
+
+}
+
+void Mul_Val(__int32 *arg1,__int32 *arg2,__int32 *arg3){
+ *arg3 = (*arg1)*(*arg2);
+
+}
+
diff --git a/tests/src/JIT/Directed/pinning/object-pin/mirror.def b/tests/src/JIT/Directed/pinning/object-pin/mirror.def
new file mode 100644
index 0000000000..534722e2e3
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/mirror.def
@@ -0,0 +1,4 @@
+EXPORTS
+Ret_Int
+Ret_Ptr
+Set_Val
diff --git a/tests/src/JIT/Directed/pinning/object-pin/object-pin.ilproj b/tests/src/JIT/Directed/pinning/object-pin/object-pin.ilproj
new file mode 100644
index 0000000000..8c657e3b3b
--- /dev/null
+++ b/tests/src/JIT/Directed/pinning/object-pin/object-pin.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Object-Pin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ <ProjectReference Include="CMakelists.txt"/>
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.il b/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.il
new file mode 100644
index 0000000000..ad633dc1ba
--- /dev/null
+++ b/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.il
@@ -0,0 +1,226 @@
+
+
+
+.module extern kernel32.dll
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly preemptive_cooperative
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module preemptive_cooperative.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class private auto ansi beforefieldinit Repro
+ extends [mscorlib]System.Object
+{
+ .field private static class [mscorlib]System.Threading.EventWaitHandle e1
+ .field private static class [mscorlib]System.Threading.EventWaitHandle e2
+ .field private static object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) garbage
+ .method private hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: nop
+ IL_0007: nop
+ IL_0008: ldstr "Created"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: nop
+ IL_0013: nop
+ IL_0014: ret
+ }
+
+ .method family hidebysig virtual instance void
+ Finalize() cil managed
+ {
+ .maxstack 1
+ .try
+ {
+ IL_0000: nop
+ IL_0001: ldstr "Destroyed"
+ IL_0006: call void [System.Console]System.Console::WriteLine(string)
+ IL_000b: nop
+ IL_000c: nop
+ IL_000d: leave.s IL_0017
+
+ }
+ finally
+ {
+ IL_000f: ldarg.0
+ IL_0010: call instance void [mscorlib]System.Object::Finalize()
+ IL_0015: nop
+ IL_0016: endfinally
+ }
+ IL_0017: nop
+ IL_0018: ret
+ }
+
+ .method private hidebysig static void CreateGarbage() cil managed noinlining
+ {
+ .maxstack 1
+ IL_0000: nop
+ IL_0001: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0006: volatile.
+ IL_0008: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_000d: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0012: volatile.
+ IL_0014: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0019: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_001e: volatile.
+ IL_0020: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0025: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_002a: volatile.
+ IL_002c: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0031: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0036: volatile.
+ IL_0038: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_003d: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0042: volatile.
+ IL_0044: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0049: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_004e: volatile.
+ IL_0050: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0055: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_005a: volatile.
+ IL_005c: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0061: ret
+ }
+
+ .method private hidebysig static pinvokeimpl("kernel32.dll" as "WaitForSingleObject" nomangle winapi)
+ uint32 modopt([mscorlib]System.Runtime.CompilerServices.IsJitIntrinsic) atoi(native int handle,
+ uint32 dwMilliseconds) cil managed preservesig
+ {
+ .custom instance void [mscorlib]System.Security.SuppressUnmanagedCodeSecurityAttribute::.ctor() = ( 01 00 00 00 )
+ }
+ .method private hidebysig static void GCHole() cil managed
+ {
+ .maxstack 2
+ .locals init (class Repro V_0)
+ IL_0000: nop
+ IL_0001: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e1
+ IL_0006: callvirt instance bool [mscorlib]System.Threading.WaitHandle::WaitOne()
+ IL_000b: pop
+ IL_000c: newobj instance void Repro::.ctor()
+ IL_0011: stloc.0
+ IL_0012: call void Repro::CreateGarbage()
+ IL_0017: nop
+ IL_0018: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e2
+ IL_001d: callvirt instance bool [mscorlib]System.Threading.EventWaitHandle::Set()
+ IL_0022: pop
+ IL_0023: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e1
+ IL_0028: callvirt instance native int [mscorlib]System.Threading.WaitHandle::get_Handle()
+ IL_002d: ldc.i4.m1
+ IL_002e: call uint32 modopt([mscorlib]System.Runtime.CompilerServices.IsJitIntrinsic) Repro::atoi(native int,
+ uint32)
+ IL_0033: pop
+ IL_0034: call void Repro::CreateGarbage()
+ IL_0039: nop
+ IL_003a: ldloc.0
+ IL_003b: callvirt instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ IL_0040: call void [System.Console]System.Console::WriteLine(object)
+ IL_0045: nop
+ IL_0046: ret
+ }
+
+ .method private hidebysig static void Trigger() cil managed
+ {
+ .maxstack 1
+ IL_0000: nop
+ IL_0001: call void [mscorlib]System.GC::Collect()
+ IL_0006: nop
+ IL_0007: call void [mscorlib]System.GC::WaitForPendingFinalizers()
+ IL_000c: nop
+ IL_000d: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e1
+ IL_0012: callvirt instance bool [mscorlib]System.Threading.EventWaitHandle::Set()
+ IL_0017: pop
+ IL_0018: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e2
+ IL_001d: callvirt instance bool [mscorlib]System.Threading.WaitHandle::WaitOne()
+ IL_0022: pop
+ IL_0023: ldc.i4 0x3e8
+ IL_0028: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_002d: nop
+ IL_002e: call void [mscorlib]System.GC::Collect()
+ IL_0033: nop
+ IL_0034: call void [mscorlib]System.GC::WaitForPendingFinalizers()
+ IL_0039: nop
+ IL_003a: ldsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e1
+ IL_003f: callvirt instance bool [mscorlib]System.Threading.EventWaitHandle::Set()
+ IL_0044: pop
+ IL_0045: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class [mscorlib]System.Threading.Thread V_0,
+ int32 V_1)
+ IL_0000: nop
+ IL_0001: ldnull
+ IL_0002: ldftn void Repro::GCHole()
+ IL_0008: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_000d: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0012: stloc.0
+ IL_0013: ldloc.0
+ IL_0014: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0019: nop
+ IL_001a: call void Repro::Trigger()
+ IL_001f: nop
+ IL_0020: ldloc.0
+ IL_0021: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_0026: nop
+ IL_0027: ldc.i4.s 100
+ IL_0029: stloc.1
+ IL_002a: br.s IL_002c
+
+ IL_002c: ldloc.1
+ IL_002d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: ldc.i4.0
+ IL_0002: newobj instance void [mscorlib]System.Threading.EventWaitHandle::.ctor(bool,
+ valuetype [mscorlib]System.Threading.EventResetMode)
+ IL_0007: stsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e1
+ IL_000c: ldc.i4.0
+ IL_000d: ldc.i4.0
+ IL_000e: newobj instance void [mscorlib]System.Threading.EventWaitHandle::.ctor(bool,
+ valuetype [mscorlib]System.Threading.EventResetMode)
+ IL_0013: stsfld class [mscorlib]System.Threading.EventWaitHandle Repro::e2
+ IL_0018: ldnull
+ IL_0019: volatile.
+ IL_001b: stsfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) Repro::garbage
+ IL_0020: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj b/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj
new file mode 100644
index 0000000000..caa3e24544
--- /dev/null
+++ b/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="preemptive_cooperative.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/byref2iu.il b/tests/src/JIT/Directed/refbyref/byref2iu.il
new file mode 100644
index 0000000000..324f5f4703
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/byref2iu.il
@@ -0,0 +1,153 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly byref2iu {}
+.field static char c
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 10
+ .locals init (char& V_0,
+ int8 V_1,
+ uint8 V_2,
+ int16 V_3,
+ uint16 V_4,
+ int32 V_5,
+ uint32 V_6,
+ int64 V_7,
+ uint64 V_8,
+ native int V_9,
+ native unsigned int V_10,
+ uint64 V_11)
+ ldsflda char c
+ stloc.0
+ ldloc.0
+ conv.i1
+ stloc V_1
+ ldloc.0
+ conv.u1
+ stloc V_2
+ ldloc.0
+ conv.i2
+ stloc V_3
+ ldloc.0
+ conv.u2
+ stloc V_4
+ ldloc.0
+ conv.i4
+ stloc V_5
+ ldloc.0
+ conv.u4
+ stloc V_6
+ ldloc.0
+ conv.i8
+ stloc V_7
+ ldloc.0
+ conv.u8
+ stloc V_8
+ ldloc.0
+ conv.i
+ stloc V_9
+ ldloc.0
+ conv.u
+ stloc V_10
+
+ ldc.i4 0x8000000
+ conv.u8
+ ldloc V_1
+ conv.u8
+ add
+ ldloc V_2
+ conv.u8
+ add
+ ldloc V_3
+ conv.u8
+ add
+ ldloc V_4
+ conv.u8
+ add
+ ldloc V_5
+ conv.u8
+ add
+ ldloc V_6
+ conv.u8
+ add
+ ldloc V_7
+ conv.u8
+ add
+ ldloc V_8
+ conv.u8
+ add
+ ldloc V_9
+ conv.u8
+ add
+ ldloc V_10
+ conv.u8
+ add
+ stloc V_11
+ ldloc V_11
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldloca V_11
+ stloc V_1
+ ldloca V_10
+ stloc V_2
+ ldloca V_9
+ stloc V_3
+ ldloca V_8
+ stloc V_4
+ ldloca V_7
+ stloc V_5
+ ldloca V_6
+ stloc V_6
+ ldloca V_3
+ stloc V_9
+ ldloca V_2
+ stloc V_10
+
+ ldc.i4 0xFFFF
+ conv.u8
+ ldloc V_1
+ conv.u8
+ add
+ ldloc V_2
+ conv.u8
+ add
+ ldloc V_3
+ conv.u8
+ add
+ ldloc V_4
+ conv.u8
+ add
+ ldloc V_5
+ conv.u8
+ add
+ ldloc V_6
+ conv.u8
+ add
+ ldloc V_7
+ conv.u8
+ add
+ ldloc V_8
+ conv.u8
+ add
+ ldloc V_9
+ conv.u8
+ add
+ ldloc V_10
+ conv.u8
+ add
+ stloc V_11
+ ldloc V_11
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ ret
+}
diff --git a/tests/src/JIT/Directed/refbyref/byref2iu_il_d.ilproj b/tests/src/JIT/Directed/refbyref/byref2iu_il_d.ilproj
new file mode 100644
index 0000000000..b78585acb9
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/byref2iu_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="byref2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/byref2iu_il_r.ilproj b/tests/src/JIT/Directed/refbyref/byref2iu_il_r.ilproj
new file mode 100644
index 0000000000..d9cefc144f
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/byref2iu_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="byref2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/ref2byref.il b/tests/src/JIT/Directed/refbyref/ref2byref.il
new file mode 100644
index 0000000000..521f2b3e77
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2byref.il
@@ -0,0 +1,99 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ref2byref {}
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 10
+ .locals init (string V_0,
+ int8& V_1,
+ uint8& V_2,
+ int16& V_3,
+ uint16& V_4,
+ int32& V_5,
+ uint32& V_6,
+ int64& V_7,
+ uint64& V_8,
+ native int& V_9,
+ native unsigned int& V_10,
+ uint64 V_11)
+ ldstr "test"
+ stloc.0
+ ldloc.0
+ call void [mscorlib]System.GC::Collect()
+ stloc V_1
+ call void [mscorlib]System.GC::Collect()
+ ldloc.0
+ stloc V_2
+ ldloc.0
+ stloc V_3
+ ldloc.0
+ stloc V_4
+ ldloc.0
+ stloc V_5
+ ldloc.0
+ stloc V_6
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ ldloc.0
+ stloc V_7
+ ldloc.0
+ stloc V_8
+ ldloc.0
+ stloc V_9
+ ldloc.0
+ stloc V_10
+
+ ldc.i4 0x8000000
+ conv.u8
+ ldloc V_1
+ conv.u8
+ add
+ ldloc V_2
+ conv.u8
+ add
+ ldloc V_3
+ conv.u8
+ add
+ ldloc V_4
+ conv.u8
+ add
+ ldloc V_5
+ conv.u8
+ call void [mscorlib]System.GC::Collect()
+ add
+ call void [mscorlib]System.GC::Collect()
+ ldloc V_6
+ call void [mscorlib]System.GC::Collect()
+ conv.u8
+ call void [mscorlib]System.GC::Collect()
+ add
+ call void [mscorlib]System.GC::Collect()
+ ldloc V_7
+ conv.u8
+ add
+ ldloc V_8
+ conv.u8
+ add
+ ldloc V_9
+ conv.u8
+ add
+ ldloc V_10
+ conv.u8
+ add
+ stloc V_11
+ ldloc V_11
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+}
diff --git a/tests/src/JIT/Directed/refbyref/ref2byref_il_d.ilproj b/tests/src/JIT/Directed/refbyref/ref2byref_il_d.ilproj
new file mode 100644
index 0000000000..dd4527d117
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2byref_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ref2byref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/ref2byref_il_r.ilproj b/tests/src/JIT/Directed/refbyref/ref2byref_il_r.ilproj
new file mode 100644
index 0000000000..742091ee79
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2byref_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ref2byref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/ref2iu.il b/tests/src/JIT/Directed/refbyref/ref2iu.il
new file mode 100644
index 0000000000..9870ef44cc
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2iu.il
@@ -0,0 +1,99 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ref2iu {}
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 10
+ .locals init (object V_0,
+ int8 V_1,
+ uint8 V_2,
+ int16 V_3,
+ uint16 V_4,
+ int32 V_5,
+ uint32 V_6,
+ int64 V_7,
+ uint64 V_8,
+ native int V_9,
+ native unsigned int V_10,
+ uint64 V_11)
+ ldnull
+ stloc.0
+ ldloc.0
+ conv.i1
+ stloc V_1
+ ldloc.0
+ conv.u1
+ stloc V_2
+ ldloc.0
+ conv.i2
+ stloc V_3
+ ldloc.0
+ conv.u2
+ stloc V_4
+ ldloc.0
+ conv.i4
+ stloc V_5
+ ldloc.0
+ conv.u4
+ stloc V_6
+ ldloc.0
+ conv.i8
+ stloc V_7
+ ldloc.0
+ conv.u8
+ stloc V_8
+ ldloc.0
+ conv.i
+ stloc V_9
+ ldloc.0
+ conv.u
+ stloc V_10
+
+ ldc.i4 0x8000000
+ conv.u8
+ ldloc V_1
+ conv.u8
+ add
+ ldloc V_2
+ conv.u8
+ add
+ ldloc V_3
+ conv.u8
+ add
+ ldloc V_4
+ conv.u8
+ add
+ ldloc V_5
+ conv.u8
+ add
+ ldloc V_6
+ conv.u8
+ add
+ ldloc V_7
+ conv.u8
+ add
+ ldloc V_8
+ conv.u8
+ add
+ ldloc V_9
+ conv.u8
+ add
+ ldloc V_10
+ conv.u8
+ add
+ stloc V_11
+ ldloc V_11
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ ret
+}
diff --git a/tests/src/JIT/Directed/refbyref/ref2iu_il_d.ilproj b/tests/src/JIT/Directed/refbyref/ref2iu_il_d.ilproj
new file mode 100644
index 0000000000..00d2bab06e
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2iu_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ref2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/ref2iu_il_r.ilproj b/tests/src/JIT/Directed/refbyref/ref2iu_il_r.ilproj
new file mode 100644
index 0000000000..a78e239ccd
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/ref2iu_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ref2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/refpinned2iu.il b/tests/src/JIT/Directed/refbyref/refpinned2iu.il
new file mode 100644
index 0000000000..37ba91be11
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/refpinned2iu.il
@@ -0,0 +1,109 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ref2iu {}
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 10
+ .locals init (object pinned V_0,
+ int8 V_1,
+ uint8 V_2,
+ int16 V_3,
+ uint16 V_4,
+ int32 V_5,
+ uint32 V_6,
+ int64 V_7,
+ uint64 V_8,
+ native int V_9,
+ native unsigned int V_10,
+ uint64 V_11)
+ ldc.i4 1
+ newarr object
+ stloc.0
+ ldloc.0
+ conv.i1
+ stloc V_1
+ ldloc.0
+ conv.u1
+ call void [mscorlib]System.GC::Collect()
+ stloc V_2
+ ldloc.0
+ conv.i2
+ stloc V_3
+ ldloc.0
+ conv.u2
+ stloc V_4
+ ldloc.0
+ conv.i4
+ stloc V_5
+ ldloc.0
+ conv.u4
+ stloc V_6
+ ldloc.0
+ conv.i8
+ stloc V_7
+ call void [mscorlib]System.GC::Collect()
+ ldloc.0
+ conv.u8
+ stloc V_8
+ ldloc.0
+ conv.i
+ stloc V_9
+ ldloc.0
+ call void [mscorlib]System.GC::Collect()
+ conv.u
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::Collect()
+ stloc V_10
+
+ ldc.i4 0x8000000
+ call void [mscorlib]System.GC::Collect()
+ conv.u8
+ ldloc V_1
+ conv.u8
+ add
+ ldloc V_2
+ conv.u8
+ add
+ ldloc V_3
+ conv.u8
+ add
+ ldloc V_4
+ conv.u8
+ add
+ ldloc V_5
+ conv.u8
+ add
+ ldloc V_6
+ conv.u8
+ add
+ ldloc V_7
+ conv.u8
+ add
+ ldloc V_8
+ conv.u8
+ add
+ ldloc V_9
+ conv.u8
+ add
+ ldloc V_10
+ conv.u8
+ add
+ stloc V_11
+ ldloc V_11
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ ret
+}
diff --git a/tests/src/JIT/Directed/refbyref/refpinned2iu_il_d.ilproj b/tests/src/JIT/Directed/refbyref/refpinned2iu_il_d.ilproj
new file mode 100644
index 0000000000..e5b1268123
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/refpinned2iu_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refpinned2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/refbyref/refpinned2iu_il_r.ilproj b/tests/src/JIT/Directed/refbyref/refpinned2iu_il_r.ilproj
new file mode 100644
index 0000000000..12b58827be
--- /dev/null
+++ b/tests/src/JIT/Directed/refbyref/refpinned2iu_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refpinned2iu.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/rvastatics/app.config b/tests/src/JIT/Directed/rvastatics/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic1.il b/tests/src/JIT/Directed/rvastatics/rvastatic1.il
new file mode 100644
index 0000000000..83b6bc0927
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic1.il
@@ -0,0 +1,7737 @@
+.assembly extern mscorlib{}
+.assembly rvastatic1{}
+.class public A{
+ .method static native int Call1(int64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ conv.i
+ ret
+ }
+ .method static native int Call2(float64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ conv.i
+ ret
+ }
+ .method static void V1() {.maxstack 50
+ ldsfld int16 [rvastatic1]A::a0100
+ ldc.i4 0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld float32 [rvastatic1]A::a0101
+ ldc.r4 1.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld float32 [rvastatic1]A::a0102
+ ldc.r4 2.0
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int8 [rvastatic1]A::a0103
+ ldc.i4 3
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int16 [rvastatic1]A::a0104
+ ldc.i4 4
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int8 [rvastatic1]A::a0105
+ ldc.i4 5
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int8 [rvastatic1]A::a0106
+ ldc.i4 6
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld float32 [rvastatic1]A::a0107
+ ldc.r4 7.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld float32 [rvastatic1]A::a0108
+ ldc.r4 8.0
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int64 [rvastatic1]A::a0109
+ ldc.i8 9
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int8 [rvastatic1]A::a01010
+ ldc.i4 10
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int8 [rvastatic1]A::a01011
+ ldc.i4 11
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int16 [rvastatic1]A::a01012
+ ldc.i4 12
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 13
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int32 [rvastatic1]A::a01014
+ ldc.i4 14
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int16 [rvastatic1]A::a01015
+ ldc.i4 15
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld int16 [rvastatic1]A::a01016
+ ldc.i4 16
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int16 [rvastatic1]A::a01017
+ ldc.i4 17
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int32 [rvastatic1]A::a01018
+ ldc.i4 18
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int16 [rvastatic1]A::a01019
+ ldc.i4 19
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 20
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int64 [rvastatic1]A::a01021
+ ldc.i8 21
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int64 [rvastatic1]A::a01022
+ ldc.i8 22
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int32 [rvastatic1]A::a01023
+ ldc.i4 23
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int8 [rvastatic1]A::a01024
+ ldc.i4 24
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int64 [rvastatic1]A::a01025
+ ldc.i8 25
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int8 [rvastatic1]A::a01026
+ ldc.i4 26
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int16 [rvastatic1]A::a01027
+ ldc.i4 27
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int32 [rvastatic1]A::a01028
+ ldc.i4 28
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld float32 [rvastatic1]A::a01029
+ ldc.r4 29.0
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int16 [rvastatic1]A::a01030
+ ldc.i4 30
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int8 [rvastatic1]A::a01031
+ ldc.i4 31
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld float32 [rvastatic1]A::a01032
+ ldc.r4 32.0
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int32 [rvastatic1]A::a01033
+ ldc.i4 33
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int64 [rvastatic1]A::a01034
+ ldc.i8 34
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int16 [rvastatic1]A::a01035
+ ldc.i4 35
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int8 [rvastatic1]A::a01036
+ ldc.i4 36
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int8 [rvastatic1]A::a01037
+ ldc.i4 37
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int32 [rvastatic1]A::a01038
+ ldc.i4 38
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int16 [rvastatic1]A::a01039
+ ldc.i4 39
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int16 [rvastatic1]A::a01040
+ ldc.i4 40
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int64 [rvastatic1]A::a01041
+ ldc.i8 41
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int8 [rvastatic1]A::a01042
+ ldc.i4 42
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 43.0
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 44
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int16 [rvastatic1]A::a01045
+ ldc.i4 45
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int64 [rvastatic1]A::a01046
+ ldc.i8 46
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int64 [rvastatic1]A::a01047
+ ldc.i8 47
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int16 [rvastatic1]A::a01048
+ ldc.i4 48
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int64 [rvastatic1]A::a01049
+ ldc.i8 49
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld float32 [rvastatic1]A::a01050
+ ldc.r4 50.0
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int32 [rvastatic1]A::a01051
+ ldc.i4 51
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int16 [rvastatic1]A::a01052
+ ldc.i4 52
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int16 [rvastatic1]A::a01053
+ ldc.i4 53
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld float32 [rvastatic1]A::a01054
+ ldc.r4 54.0
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int64 [rvastatic1]A::a01055
+ ldc.i8 55
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int16 [rvastatic1]A::a01056
+ ldc.i4 56
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int32 [rvastatic1]A::a01057
+ ldc.i4 57
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int8 [rvastatic1]A::a01058
+ ldc.i4 58
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int64 [rvastatic1]A::a01059
+ ldc.i8 59
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld float32 [rvastatic1]A::a01060
+ ldc.r4 60.0
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int64 [rvastatic1]A::a01061
+ ldc.i8 61
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int32 [rvastatic1]A::a01062
+ ldc.i4 62
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int8 [rvastatic1]A::a01063
+ ldc.i4 63
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int16 [rvastatic1]A::a01064
+ ldc.i4 64
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 65
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 66
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int64 [rvastatic1]A::a01067
+ ldc.i8 67
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int64 [rvastatic1]A::a01068
+ ldc.i8 68
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int8 [rvastatic1]A::a01069
+ ldc.i4 69
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int16 [rvastatic1]A::a01070
+ ldc.i4 70
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int16 [rvastatic1]A::a01071
+ ldc.i4 71
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld float32 [rvastatic1]A::a01072
+ ldc.r4 72.0
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int8 [rvastatic1]A::a01073
+ ldc.i4 73
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int8 [rvastatic1]A::a01074
+ ldc.i4 74
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int64 [rvastatic1]A::a01075
+ ldc.i8 75
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 76
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int64 [rvastatic1]A::a01077
+ ldc.i8 77
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int32 [rvastatic1]A::a01078
+ ldc.i4 78
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 79
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld float32 [rvastatic1]A::a01080
+ ldc.r4 80.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int16 [rvastatic1]A::a01081
+ ldc.i4 81
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld float32 [rvastatic1]A::a01082
+ ldc.r4 82.0
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int64 [rvastatic1]A::a01083
+ ldc.i8 83
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int8 [rvastatic1]A::a01084
+ ldc.i4 84
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld float32 [rvastatic1]A::a01085
+ ldc.r4 85.0
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld float32 [rvastatic1]A::a01086
+ ldc.r4 86.0
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int64 [rvastatic1]A::a01087
+ ldc.i8 87
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int32 [rvastatic1]A::a01088
+ ldc.i4 88
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int8 [rvastatic1]A::a01089
+ ldc.i4 89
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int8 [rvastatic1]A::a01090
+ ldc.i4 90
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int32 [rvastatic1]A::a01091
+ ldc.i4 91
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int8 [rvastatic1]A::a01092
+ ldc.i4 92
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld float32 [rvastatic1]A::a01093
+ ldc.r4 93.0
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int16 [rvastatic1]A::a01094
+ ldc.i4 94
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int32 [rvastatic1]A::a01095
+ ldc.i4 95
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int16 [rvastatic1]A::a01096
+ ldc.i4 96
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int8 [rvastatic1]A::a01097
+ ldc.i4 97
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int64 [rvastatic1]A::a01098
+ ldc.i8 98
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int8 [rvastatic1]A::a01099
+ ldc.i4 99
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int8 [rvastatic1]A::a010100
+ ldc.i4 100
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int8 [rvastatic1]A::a010101
+ ldc.i4 101
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int8 [rvastatic1]A::a010102
+ ldc.i4 102
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int8 [rvastatic1]A::a010103
+ ldc.i4 103
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int16 [rvastatic1]A::a010104
+ ldc.i4 104
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int64 [rvastatic1]A::a010105
+ ldc.i8 105
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int32 [rvastatic1]A::a010106
+ ldc.i4 106
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int8 [rvastatic1]A::a010107
+ ldc.i4 107
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int8 [rvastatic1]A::a010108
+ ldc.i4 108
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int16 [rvastatic1]A::a010109
+ ldc.i4 109
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int16 [rvastatic1]A::a010110
+ ldc.i4 110
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int32 [rvastatic1]A::a010111
+ ldc.i4 111
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld float32 [rvastatic1]A::a010112
+ ldc.r4 112.0
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int16 [rvastatic1]A::a010113
+ ldc.i4 113
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int64 [rvastatic1]A::a010114
+ ldc.i8 114
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int64 [rvastatic1]A::a010115
+ ldc.i8 115
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int64 [rvastatic1]A::a010116
+ ldc.i8 116
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int64 [rvastatic1]A::a010117
+ ldc.i8 117
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 118.0
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int16 [rvastatic1]A::a010119
+ ldc.i4 119
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int16 [rvastatic1]A::a010120
+ ldc.i4 120
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int64 [rvastatic1]A::a010121
+ ldc.i8 121
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int16 [rvastatic1]A::a010122
+ ldc.i4 122
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 123
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int8 [rvastatic1]A::a010124
+ ldc.i4 4
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int64 [rvastatic1]A::a010125
+ ldc.i8 125
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int8 [rvastatic1]A::a010126
+ ldc.i4 6
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ldsfld int8 [rvastatic1]A::a010127
+ ldc.i4 7
+ beq a010128
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010128:
+ ret}
+ .method static void V2() {.maxstack 50
+ ldsflda int16 [rvastatic1]A::a0100
+ ldind.i2
+ ldc.i4 0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsflda float32 [rvastatic1]A::a0101
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsflda float32 [rvastatic1]A::a0102
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsflda int8 [rvastatic1]A::a0103
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsflda int16 [rvastatic1]A::a0104
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsflda int8 [rvastatic1]A::a0105
+ ldind.i1
+ ldc.i4 5
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsflda int8 [rvastatic1]A::a0106
+ ldind.i1
+ ldc.i4 6
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsflda float32 [rvastatic1]A::a0107
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsflda float32 [rvastatic1]A::a0108
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsflda int64 [rvastatic1]A::a0109
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsflda int8 [rvastatic1]A::a01010
+ ldind.i1
+ ldc.i4 10
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsflda int8 [rvastatic1]A::a01011
+ ldind.i1
+ ldc.i4 11
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsflda int16 [rvastatic1]A::a01012
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsflda int32 [rvastatic1]A::a01013
+ ldind.i4
+ ldc.i4 13
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsflda int32 [rvastatic1]A::a01014
+ ldind.i4
+ ldc.i4 14
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsflda int16 [rvastatic1]A::a01015
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsflda int16 [rvastatic1]A::a01016
+ ldind.i2
+ ldc.i4 16
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsflda int16 [rvastatic1]A::a01017
+ ldind.i2
+ ldc.i4 17
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsflda int32 [rvastatic1]A::a01018
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsflda int16 [rvastatic1]A::a01019
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsflda int16 [rvastatic1]A::a01020
+ ldind.i2
+ ldc.i4 20
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsflda int64 [rvastatic1]A::a01021
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsflda int64 [rvastatic1]A::a01022
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsflda int32 [rvastatic1]A::a01023
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsflda int8 [rvastatic1]A::a01024
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsflda int64 [rvastatic1]A::a01025
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsflda int8 [rvastatic1]A::a01026
+ ldind.i1
+ ldc.i4 26
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsflda int16 [rvastatic1]A::a01027
+ ldind.i2
+ ldc.i4 27
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsflda int32 [rvastatic1]A::a01028
+ ldind.i4
+ ldc.i4 28
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsflda float32 [rvastatic1]A::a01029
+ ldind.r4
+ ldc.r4 29.0
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsflda int16 [rvastatic1]A::a01030
+ ldind.i2
+ ldc.i4 30
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsflda int8 [rvastatic1]A::a01031
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsflda float32 [rvastatic1]A::a01032
+ ldind.r4
+ ldc.r4 32.0
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsflda int32 [rvastatic1]A::a01033
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsflda int64 [rvastatic1]A::a01034
+ ldind.i8
+ ldc.i8 34
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsflda int16 [rvastatic1]A::a01035
+ ldind.i2
+ ldc.i4 35
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsflda int8 [rvastatic1]A::a01036
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsflda int8 [rvastatic1]A::a01037
+ ldind.i1
+ ldc.i4 37
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsflda int32 [rvastatic1]A::a01038
+ ldind.i4
+ ldc.i4 38
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsflda int16 [rvastatic1]A::a01039
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsflda int16 [rvastatic1]A::a01040
+ ldind.i2
+ ldc.i4 40
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsflda int64 [rvastatic1]A::a01041
+ ldind.i8
+ ldc.i8 41
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsflda int8 [rvastatic1]A::a01042
+ ldind.i1
+ ldc.i4 42
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsflda float32 [rvastatic1]A::a01043
+ ldind.r4
+ ldc.r4 43.0
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsflda int8 [rvastatic1]A::a01044
+ ldind.i1
+ ldc.i4 44
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsflda int16 [rvastatic1]A::a01045
+ ldind.i2
+ ldc.i4 45
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsflda int64 [rvastatic1]A::a01046
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsflda int64 [rvastatic1]A::a01047
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsflda int16 [rvastatic1]A::a01048
+ ldind.i2
+ ldc.i4 48
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsflda int64 [rvastatic1]A::a01049
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsflda float32 [rvastatic1]A::a01050
+ ldind.r4
+ ldc.r4 50.0
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsflda int32 [rvastatic1]A::a01051
+ ldind.i4
+ ldc.i4 51
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsflda int16 [rvastatic1]A::a01052
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsflda int16 [rvastatic1]A::a01053
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsflda float32 [rvastatic1]A::a01054
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsflda int64 [rvastatic1]A::a01055
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsflda int16 [rvastatic1]A::a01056
+ ldind.i2
+ ldc.i4 56
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsflda int32 [rvastatic1]A::a01057
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsflda int8 [rvastatic1]A::a01058
+ ldind.i1
+ ldc.i4 58
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsflda int64 [rvastatic1]A::a01059
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsflda float32 [rvastatic1]A::a01060
+ ldind.r4
+ ldc.r4 60.0
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsflda int64 [rvastatic1]A::a01061
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsflda int32 [rvastatic1]A::a01062
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsflda int8 [rvastatic1]A::a01063
+ ldind.i1
+ ldc.i4 63
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsflda int16 [rvastatic1]A::a01064
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsflda int8 [rvastatic1]A::a01065
+ ldind.i1
+ ldc.i4 65
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsflda int16 [rvastatic1]A::a01066
+ ldind.i2
+ ldc.i4 66
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsflda int64 [rvastatic1]A::a01067
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsflda int64 [rvastatic1]A::a01068
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsflda int8 [rvastatic1]A::a01069
+ ldind.i1
+ ldc.i4 69
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsflda int16 [rvastatic1]A::a01070
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsflda int16 [rvastatic1]A::a01071
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsflda float32 [rvastatic1]A::a01072
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsflda int8 [rvastatic1]A::a01073
+ ldind.i1
+ ldc.i4 73
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsflda int8 [rvastatic1]A::a01074
+ ldind.i1
+ ldc.i4 74
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsflda int64 [rvastatic1]A::a01075
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsflda int32 [rvastatic1]A::a01076
+ ldind.i4
+ ldc.i4 76
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsflda int64 [rvastatic1]A::a01077
+ ldind.i8
+ ldc.i8 77
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsflda int32 [rvastatic1]A::a01078
+ ldind.i4
+ ldc.i4 78
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsflda int64 [rvastatic1]A::a01079
+ ldind.i8
+ ldc.i8 79
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsflda float32 [rvastatic1]A::a01080
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsflda int16 [rvastatic1]A::a01081
+ ldind.i2
+ ldc.i4 81
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsflda float32 [rvastatic1]A::a01082
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsflda int64 [rvastatic1]A::a01083
+ ldind.i8
+ ldc.i8 83
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsflda int8 [rvastatic1]A::a01084
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsflda float32 [rvastatic1]A::a01085
+ ldind.r4
+ ldc.r4 85.0
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsflda float32 [rvastatic1]A::a01086
+ ldind.r4
+ ldc.r4 86.0
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsflda int64 [rvastatic1]A::a01087
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsflda int32 [rvastatic1]A::a01088
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsflda int8 [rvastatic1]A::a01089
+ ldind.i1
+ ldc.i4 89
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsflda int8 [rvastatic1]A::a01090
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsflda int32 [rvastatic1]A::a01091
+ ldind.i4
+ ldc.i4 91
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsflda int8 [rvastatic1]A::a01092
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsflda float32 [rvastatic1]A::a01093
+ ldind.r4
+ ldc.r4 93.0
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsflda int16 [rvastatic1]A::a01094
+ ldind.i2
+ ldc.i4 94
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsflda int32 [rvastatic1]A::a01095
+ ldind.i4
+ ldc.i4 95
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsflda int16 [rvastatic1]A::a01096
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsflda int8 [rvastatic1]A::a01097
+ ldind.i1
+ ldc.i4 97
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsflda int64 [rvastatic1]A::a01098
+ ldind.i8
+ ldc.i8 98
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsflda int8 [rvastatic1]A::a01099
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsflda int8 [rvastatic1]A::a010100
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsflda int8 [rvastatic1]A::a010101
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsflda int8 [rvastatic1]A::a010102
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsflda int8 [rvastatic1]A::a010103
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsflda int16 [rvastatic1]A::a010104
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsflda int64 [rvastatic1]A::a010105
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsflda int32 [rvastatic1]A::a010106
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsflda int8 [rvastatic1]A::a010107
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsflda int8 [rvastatic1]A::a010108
+ ldind.i1
+ ldc.i4 108
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsflda int16 [rvastatic1]A::a010109
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsflda int16 [rvastatic1]A::a010110
+ ldind.i2
+ ldc.i4 110
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsflda int32 [rvastatic1]A::a010111
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsflda float32 [rvastatic1]A::a010112
+ ldind.r4
+ ldc.r4 112.0
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsflda int16 [rvastatic1]A::a010113
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsflda int64 [rvastatic1]A::a010114
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsflda int64 [rvastatic1]A::a010115
+ ldind.i8
+ ldc.i8 115
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsflda int64 [rvastatic1]A::a010116
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsflda int64 [rvastatic1]A::a010117
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsflda float32 [rvastatic1]A::a010118
+ ldind.r4
+ ldc.r4 118.0
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsflda int16 [rvastatic1]A::a010119
+ ldind.i2
+ ldc.i4 119
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsflda int16 [rvastatic1]A::a010120
+ ldind.i2
+ ldc.i4 120
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsflda int64 [rvastatic1]A::a010121
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsflda int16 [rvastatic1]A::a010122
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsflda int64 [rvastatic1]A::a010123
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsflda int8 [rvastatic1]A::a010124
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsflda int64 [rvastatic1]A::a010125
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsflda int8 [rvastatic1]A::a010126
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsflda int8 [rvastatic1]A::a010127
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static void V3() {.maxstack 50
+ ldsfld float32 [rvastatic1]A::a01050
+ ldc.r4 50.0
+ beq a010129
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010129:
+ ldsfld int32 [rvastatic1]A::a01038
+ ldc.i4 38
+ beq a010130
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010130:
+ ldsfld int32 [rvastatic1]A::a01018
+ ldc.i4 18
+ beq a010131
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010131:
+ ldsfld int64 [rvastatic1]A::a01055
+ ldc.i8 55
+ beq a010132
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010132:
+ ldsfld int32 [rvastatic1]A::a01078
+ ldc.i4 78
+ beq a010133
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010133:
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 118.0
+ beq a010134
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010134:
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 44
+ beq a010135
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010135:
+ ldsfld int8 [rvastatic1]A::a010108
+ ldc.i4 108
+ beq a010136
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010136:
+ ldsfld float32 [rvastatic1]A::a01060
+ ldc.r4 60.0
+ beq a010137
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010137:
+ ldsfld int64 [rvastatic1]A::a01047
+ ldc.i8 47
+ beq a010138
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010138:
+ ldsfld float32 [rvastatic1]A::a01050
+ ldc.r4 50.0
+ beq a010139
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010139:
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 79
+ beq a010140
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010140:
+ ldsfld int16 [rvastatic1]A::a01071
+ ldc.i4 71
+ beq a010141
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010141:
+ ldsfld int16 [rvastatic1]A::a01016
+ ldc.i4 16
+ beq a010142
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010142:
+ ldsfld int8 [rvastatic1]A::a010102
+ ldc.i4 102
+ beq a010143
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010143:
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 65
+ beq a010144
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010144:
+ ldsfld float32 [rvastatic1]A::a01080
+ ldc.r4 80.0
+ beq a010145
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010145:
+ ldsfld int8 [rvastatic1]A::a01097
+ ldc.i4 97
+ beq a010146
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010146:
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 20
+ beq a010147
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010147:
+ ldsfld int64 [rvastatic1]A::a01098
+ ldc.i8 98
+ beq a010148
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010148:
+ ldsfld int8 [rvastatic1]A::a01092
+ ldc.i4 92
+ beq a010149
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010149:
+ ldsfld int64 [rvastatic1]A::a01067
+ ldc.i8 67
+ beq a010150
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010150:
+ ldsfld int64 [rvastatic1]A::a01021
+ ldc.i8 21
+ beq a010151
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010151:
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 44
+ beq a010152
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010152:
+ ldsfld int8 [rvastatic1]A::a010107
+ ldc.i4 107
+ beq a010153
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010153:
+ ldsfld int16 [rvastatic1]A::a01052
+ ldc.i4 52
+ beq a010154
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010154:
+ ldsfld int8 [rvastatic1]A::a010100
+ ldc.i4 100
+ beq a010155
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010155:
+ ldsfld int16 [rvastatic1]A::a01035
+ ldc.i4 35
+ beq a010156
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010156:
+ ldsfld int16 [rvastatic1]A::a0104
+ ldc.i4 4
+ beq a010157
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010157:
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 65
+ beq a010158
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010158:
+ ldsfld int64 [rvastatic1]A::a01067
+ ldc.i8 67
+ beq a010159
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010159:
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 65
+ beq a010160
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010160:
+ ldsfld float32 [rvastatic1]A::a01054
+ ldc.r4 54.0
+ beq a010161
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010161:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 43.0
+ beq a010162
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010162:
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 123
+ beq a010163
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010163:
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 118.0
+ beq a010164
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010164:
+ ldsfld int32 [rvastatic1]A::a01051
+ ldc.i4 51
+ beq a010165
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010165:
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 66
+ beq a010166
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010166:
+ ldsfld int8 [rvastatic1]A::a01092
+ ldc.i4 92
+ beq a010167
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010167:
+ ldsfld int16 [rvastatic1]A::a01096
+ ldc.i4 96
+ beq a010168
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010168:
+ ldsfld int32 [rvastatic1]A::a01033
+ ldc.i4 33
+ beq a010169
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010169:
+ ldsfld int64 [rvastatic1]A::a010115
+ ldc.i8 115
+ beq a010170
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010170:
+ ldsfld int16 [rvastatic1]A::a01027
+ ldc.i4 27
+ beq a010171
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010171:
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 79
+ beq a010172
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010172:
+ ldsfld int32 [rvastatic1]A::a010111
+ ldc.i4 111
+ beq a010173
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010173:
+ ldsfld int8 [rvastatic1]A::a01074
+ ldc.i4 74
+ beq a010174
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010174:
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 13
+ beq a010175
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010175:
+ ldsfld int16 [rvastatic1]A::a01015
+ ldc.i4 15
+ beq a010176
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010176:
+ ldsfld int16 [rvastatic1]A::a010120
+ ldc.i4 120
+ beq a010177
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010177:
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 76
+ beq a010178
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010178:
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 20
+ beq a010179
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010179:
+ ldsfld int16 [rvastatic1]A::a01048
+ ldc.i4 48
+ beq a010180
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010180:
+ ldsfld float32 [rvastatic1]A::a010112
+ ldc.r4 112.0
+ beq a010181
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010181:
+ ldsfld int8 [rvastatic1]A::a010127
+ ldc.i4 7
+ beq a010182
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010182:
+ ldsfld int8 [rvastatic1]A::a010124
+ ldc.i4 4
+ beq a010183
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010183:
+ ldsfld int32 [rvastatic1]A::a010111
+ ldc.i4 111
+ beq a010184
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010184:
+ ldsfld int16 [rvastatic1]A::a01016
+ ldc.i4 16
+ beq a010185
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010185:
+ ldsfld int8 [rvastatic1]A::a010102
+ ldc.i4 102
+ beq a010186
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010186:
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 76
+ beq a010187
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010187:
+ ldsfld int64 [rvastatic1]A::a01025
+ ldc.i8 25
+ beq a010188
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010188:
+ ldsfld int16 [rvastatic1]A::a01017
+ ldc.i4 17
+ beq a010189
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010189:
+ ldsfld float32 [rvastatic1]A::a0108
+ ldc.r4 8.0
+ beq a010190
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010190:
+ ldsfld int8 [rvastatic1]A::a010103
+ ldc.i4 103
+ beq a010191
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010191:
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 123
+ beq a010192
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010192:
+ ldsfld int8 [rvastatic1]A::a010107
+ ldc.i4 107
+ beq a010193
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010193:
+ ldsfld int16 [rvastatic1]A::a010113
+ ldc.i4 113
+ beq a010194
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010194:
+ ldsfld int8 [rvastatic1]A::a01024
+ ldc.i4 24
+ beq a010195
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010195:
+ ldsfld int32 [rvastatic1]A::a01028
+ ldc.i4 28
+ beq a010196
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010196:
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 20
+ beq a010197
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010197:
+ ldsfld float32 [rvastatic1]A::a010112
+ ldc.r4 112.0
+ beq a010198
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010198:
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 13
+ beq a010199
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010199:
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 13
+ beq a010200
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010200:
+ ldsfld int16 [rvastatic1]A::a0104
+ ldc.i4 4
+ beq a010201
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010201:
+ ldsfld int32 [rvastatic1]A::a01051
+ ldc.i4 51
+ beq a010202
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010202:
+ ldsfld int16 [rvastatic1]A::a01064
+ ldc.i4 64
+ beq a010203
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010203:
+ ldsfld int64 [rvastatic1]A::a010105
+ ldc.i8 105
+ beq a010204
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010204:
+ ldsfld int16 [rvastatic1]A::a01040
+ ldc.i4 40
+ beq a010205
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010205:
+ ldsfld int8 [rvastatic1]A::a01069
+ ldc.i4 69
+ beq a010206
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010206:
+ ldsfld float32 [rvastatic1]A::a01060
+ ldc.r4 60.0
+ beq a010207
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010207:
+ ldsfld float32 [rvastatic1]A::a01032
+ ldc.r4 32.0
+ beq a010208
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010208:
+ ldsfld int16 [rvastatic1]A::a01039
+ ldc.i4 39
+ beq a010209
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010209:
+ ldsfld int8 [rvastatic1]A::a01084
+ ldc.i4 84
+ beq a010210
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010210:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 43.0
+ beq a010211
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010211:
+ ldsfld int64 [rvastatic1]A::a01055
+ ldc.i8 55
+ beq a010212
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010212:
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 44
+ beq a010213
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010213:
+ ldsfld int16 [rvastatic1]A::a01019
+ ldc.i4 19
+ beq a010214
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010214:
+ ldsfld float32 [rvastatic1]A::a01080
+ ldc.r4 80.0
+ beq a010215
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010215:
+ ldsfld float32 [rvastatic1]A::a01054
+ ldc.r4 54.0
+ beq a010216
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010216:
+ ldsfld int64 [rvastatic1]A::a01046
+ ldc.i8 46
+ beq a010217
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010217:
+ ldsfld int16 [rvastatic1]A::a01012
+ ldc.i4 12
+ beq a010218
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010218:
+ ldsfld int8 [rvastatic1]A::a010101
+ ldc.i4 101
+ beq a010219
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010219:
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 76
+ beq a010220
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010220:
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 118.0
+ beq a010221
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010221:
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 66
+ beq a010222
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010222:
+ ldsfld int32 [rvastatic1]A::a01078
+ ldc.i4 78
+ beq a010223
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010223:
+ ldsfld int8 [rvastatic1]A::a01024
+ ldc.i4 24
+ beq a010224
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010224:
+ ldsfld int16 [rvastatic1]A::a01012
+ ldc.i4 12
+ beq a010225
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010225:
+ ldsfld int8 [rvastatic1]A::a01031
+ ldc.i4 31
+ beq a010226
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010226:
+ ldsfld int8 [rvastatic1]A::a01099
+ ldc.i4 99
+ beq a010227
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010227:
+ ldsfld int8 [rvastatic1]A::a010126
+ ldc.i4 6
+ beq a010228
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010228:
+ ldsfld int64 [rvastatic1]A::a01049
+ ldc.i8 49
+ beq a010229
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010229:
+ ldsfld int16 [rvastatic1]A::a010113
+ ldc.i4 113
+ beq a010230
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010230:
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 123
+ beq a010231
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010231:
+ ldsfld float32 [rvastatic1]A::a0108
+ ldc.r4 8.0
+ beq a010232
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010232:
+ ldsfld int8 [rvastatic1]A::a01063
+ ldc.i4 63
+ beq a010233
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010233:
+ ldsfld float32 [rvastatic1]A::a0107
+ ldc.r4 7.0
+ beq a010234
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010234:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 43.0
+ beq a010235
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010235:
+ ldsfld int64 [rvastatic1]A::a01061
+ ldc.i8 61
+ beq a010236
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010236:
+ ldsfld int8 [rvastatic1]A::a01063
+ ldc.i4 63
+ beq a010237
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010237:
+ ldsfld int16 [rvastatic1]A::a01019
+ ldc.i4 19
+ beq a010238
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010238:
+ ldsfld int16 [rvastatic1]A::a01071
+ ldc.i4 71
+ beq a010239
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010239:
+ ldsfld int8 [rvastatic1]A::a01074
+ ldc.i4 74
+ beq a010240
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010240:
+ ldsfld int8 [rvastatic1]A::a01042
+ ldc.i4 42
+ beq a010241
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010241:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 43.0
+ beq a010242
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010242:
+ ldsfld int64 [rvastatic1]A::a010114
+ ldc.i8 114
+ beq a010243
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010243:
+ ldsfld int64 [rvastatic1]A::a01061
+ ldc.i8 61
+ beq a010244
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010244:
+ ldsfld float32 [rvastatic1]A::a01093
+ ldc.r4 93.0
+ beq a010245
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010245:
+ ldsfld int64 [rvastatic1]A::a01047
+ ldc.i8 47
+ beq a010246
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010246:
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 79
+ beq a010247
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010247:
+ ldsfld int32 [rvastatic1]A::a01088
+ ldc.i4 88
+ beq a010248
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010248:
+ ldsfld float32 [rvastatic1]A::a01032
+ ldc.r4 32.0
+ beq a010249
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010249:
+ ldsfld int64 [rvastatic1]A::a01098
+ ldc.i8 98
+ beq a010250
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010250:
+ ldsfld int16 [rvastatic1]A::a010110
+ ldc.i4 110
+ beq a010251
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010251:
+ ldsfld float32 [rvastatic1]A::a0107
+ ldc.r4 7.0
+ beq a010252
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010252:
+ ldsfld int8 [rvastatic1]A::a01010
+ ldc.i4 10
+ beq a010253
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010253:
+ ldsfld int16 [rvastatic1]A::a01064
+ ldc.i4 64
+ beq a010254
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010254:
+ ldsfld int32 [rvastatic1]A::a01023
+ ldc.i4 23
+ beq a010255
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010255:
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 66
+ beq a010256
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010256:
+ ret}
+ .method static void V4() {.maxstack 50
+ ldsflda int16 [rvastatic1]A::a0100
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda float32 [rvastatic1]A::a0101
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic1]A::a0102
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int8 [rvastatic1]A::a0103
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int16 [rvastatic1]A::a0104
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int8 [rvastatic1]A::a0105
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int8 [rvastatic1]A::a0106
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic1]A::a0107
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda float32 [rvastatic1]A::a0108
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int64 [rvastatic1]A::a0109
+ conv.i8
+ ldc.i8 60593
+ add
+ conv.i8
+ ldc.i8 60593
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int8 [rvastatic1]A::a01010
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int8 [rvastatic1]A::a01011
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int16 [rvastatic1]A::a01012
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int32 [rvastatic1]A::a01013
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int32 [rvastatic1]A::a01014
+ conv.i8
+ ldc.i8 13563
+ add
+ conv.i8
+ ldc.i8 13563
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic1]A::a01015
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda int16 [rvastatic1]A::a01016
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 16
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int16 [rvastatic1]A::a01017
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic1]A::a01018
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int16 [rvastatic1]A::a01019
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int16 [rvastatic1]A::a01020
+ conv.i8
+ ldc.i8 50931
+ add
+ conv.i8
+ ldc.i8 50931
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int64 [rvastatic1]A::a01021
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic1]A::a01022
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic1]A::a01023
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int8 [rvastatic1]A::a01024
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic1]A::a01025
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int8 [rvastatic1]A::a01026
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int16 [rvastatic1]A::a01027
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int32 [rvastatic1]A::a01028
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda float32 [rvastatic1]A::a01029
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 29.0
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int16 [rvastatic1]A::a01030
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int8 [rvastatic1]A::a01031
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda float32 [rvastatic1]A::a01032
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 32.0
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int32 [rvastatic1]A::a01033
+ conv.i8
+ ldc.i8 13220
+ add
+ conv.i8
+ ldc.i8 13220
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int64 [rvastatic1]A::a01034
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int16 [rvastatic1]A::a01035
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int8 [rvastatic1]A::a01036
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int8 [rvastatic1]A::a01037
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int32 [rvastatic1]A::a01038
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int16 [rvastatic1]A::a01039
+ conv.i8
+ ldc.i8 24835
+ add
+ conv.i8
+ ldc.i8 24835
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int16 [rvastatic1]A::a01040
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int64 [rvastatic1]A::a01041
+ conv.i8
+ ldc.i8 3738
+ add
+ conv.i8
+ ldc.i8 3738
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int8 [rvastatic1]A::a01042
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda float32 [rvastatic1]A::a01043
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 43.0
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int8 [rvastatic1]A::a01044
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int16 [rvastatic1]A::a01045
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int64 [rvastatic1]A::a01046
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic1]A::a01047
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int16 [rvastatic1]A::a01048
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int64 [rvastatic1]A::a01049
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda float32 [rvastatic1]A::a01050
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 50.0
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int32 [rvastatic1]A::a01051
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int16 [rvastatic1]A::a01052
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int16 [rvastatic1]A::a01053
+ conv.i8
+ ldc.i8 20911
+ add
+ conv.i8
+ ldc.i8 20911
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda float32 [rvastatic1]A::a01054
+ conv.i8
+ ldc.i8 28516
+ add
+ conv.i8
+ ldc.i8 28516
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int64 [rvastatic1]A::a01055
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda int16 [rvastatic1]A::a01056
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 56
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int32 [rvastatic1]A::a01057
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int8 [rvastatic1]A::a01058
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic1]A::a01059
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda float32 [rvastatic1]A::a01060
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 60.0
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int64 [rvastatic1]A::a01061
+ conv.i8
+ ldc.i8 48826
+ add
+ conv.i8
+ ldc.i8 48826
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int32 [rvastatic1]A::a01062
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int8 [rvastatic1]A::a01063
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int16 [rvastatic1]A::a01064
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int8 [rvastatic1]A::a01065
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int16 [rvastatic1]A::a01066
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int64 [rvastatic1]A::a01067
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int64 [rvastatic1]A::a01068
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int8 [rvastatic1]A::a01069
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int16 [rvastatic1]A::a01070
+ conv.i8
+ ldc.i8 61164
+ add
+ conv.i8
+ ldc.i8 61164
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic1]A::a01071
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda float32 [rvastatic1]A::a01072
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int8 [rvastatic1]A::a01073
+ conv.i8
+ ldc.i8 27533
+ add
+ conv.i8
+ ldc.i8 27533
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int8 [rvastatic1]A::a01074
+ conv.i8
+ ldc.i8 6719
+ add
+ conv.i8
+ ldc.i8 6719
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int64 [rvastatic1]A::a01075
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int32 [rvastatic1]A::a01076
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int64 [rvastatic1]A::a01077
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int32 [rvastatic1]A::a01078
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int64 [rvastatic1]A::a01079
+ conv.i8
+ ldc.i8 22152
+ add
+ conv.i8
+ ldc.i8 22152
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic1]A::a01080
+ conv.i8
+ ldc.i8 35416
+ add
+ conv.i8
+ ldc.i8 35416
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int16 [rvastatic1]A::a01081
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda float32 [rvastatic1]A::a01082
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int64 [rvastatic1]A::a01083
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int8 [rvastatic1]A::a01084
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda float32 [rvastatic1]A::a01085
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 85.0
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda float32 [rvastatic1]A::a01086
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 86.0
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic1]A::a01087
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int32 [rvastatic1]A::a01088
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int8 [rvastatic1]A::a01089
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic1]A::a01090
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int32 [rvastatic1]A::a01091
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int8 [rvastatic1]A::a01092
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda float32 [rvastatic1]A::a01093
+ conv.i8
+ ldc.i8 59712
+ add
+ conv.i8
+ ldc.i8 59712
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 93.0
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int16 [rvastatic1]A::a01094
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int32 [rvastatic1]A::a01095
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int16 [rvastatic1]A::a01096
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int8 [rvastatic1]A::a01097
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int64 [rvastatic1]A::a01098
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int8 [rvastatic1]A::a01099
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int8 [rvastatic1]A::a010100
+ conv.i8
+ ldc.i8 38385
+ add
+ conv.i8
+ ldc.i8 38385
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int8 [rvastatic1]A::a010101
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int8 [rvastatic1]A::a010102
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int8 [rvastatic1]A::a010103
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int16 [rvastatic1]A::a010104
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int64 [rvastatic1]A::a010105
+ conv.i8
+ ldc.i8 41910
+ add
+ conv.i8
+ ldc.i8 41910
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int32 [rvastatic1]A::a010106
+ conv.i8
+ ldc.i8 59373
+ add
+ conv.i8
+ ldc.i8 59373
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int8 [rvastatic1]A::a010107
+ conv.i8
+ ldc.i8 15365
+ add
+ conv.i8
+ ldc.i8 15365
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int8 [rvastatic1]A::a010108
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic1]A::a010109
+ conv.i8
+ ldc.i8 28753
+ add
+ conv.i8
+ ldc.i8 28753
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int16 [rvastatic1]A::a010110
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic1]A::a010111
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda float32 [rvastatic1]A::a010112
+ conv.i8
+ ldc.i8 45123
+ add
+ conv.i8
+ ldc.i8 45123
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 112.0
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int16 [rvastatic1]A::a010113
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int64 [rvastatic1]A::a010114
+ conv.i8
+ ldc.i8 39445
+ add
+ conv.i8
+ ldc.i8 39445
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int64 [rvastatic1]A::a010115
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int64 [rvastatic1]A::a010116
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic1]A::a010117
+ conv.i8
+ ldc.i8 33781
+ add
+ conv.i8
+ ldc.i8 33781
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda float32 [rvastatic1]A::a010118
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 118.0
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int16 [rvastatic1]A::a010119
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int16 [rvastatic1]A::a010120
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int64 [rvastatic1]A::a010121
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int16 [rvastatic1]A::a010122
+ conv.i8
+ ldc.i8 21436
+ add
+ conv.i8
+ ldc.i8 21436
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int64 [rvastatic1]A::a010123
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int8 [rvastatic1]A::a010124
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic1]A::a010125
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int8 [rvastatic1]A::a010126
+ conv.i8
+ ldc.i8 15586
+ add
+ conv.i8
+ ldc.i8 15586
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int8 [rvastatic1]A::a010127
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V5() {.maxstack 50
+ ldsflda int16 [rvastatic1]A::a0100
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda float32 [rvastatic1]A::a0101
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic1]A::a0102
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int8 [rvastatic1]A::a0103
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int16 [rvastatic1]A::a0104
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int8 [rvastatic1]A::a0105
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int8 [rvastatic1]A::a0106
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic1]A::a0107
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda float32 [rvastatic1]A::a0108
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int64 [rvastatic1]A::a0109
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int8 [rvastatic1]A::a01010
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int8 [rvastatic1]A::a01011
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int16 [rvastatic1]A::a01012
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int32 [rvastatic1]A::a01013
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int32 [rvastatic1]A::a01014
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic1]A::a01015
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda int16 [rvastatic1]A::a01016
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 16
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int16 [rvastatic1]A::a01017
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic1]A::a01018
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int16 [rvastatic1]A::a01019
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int16 [rvastatic1]A::a01020
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int64 [rvastatic1]A::a01021
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic1]A::a01022
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic1]A::a01023
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int8 [rvastatic1]A::a01024
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic1]A::a01025
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int8 [rvastatic1]A::a01026
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int16 [rvastatic1]A::a01027
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int32 [rvastatic1]A::a01028
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda float32 [rvastatic1]A::a01029
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.r4
+ ldc.r4 29.0
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int16 [rvastatic1]A::a01030
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int8 [rvastatic1]A::a01031
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda float32 [rvastatic1]A::a01032
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.r4
+ ldc.r4 32.0
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int32 [rvastatic1]A::a01033
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int64 [rvastatic1]A::a01034
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i8
+ ldc.i8 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int16 [rvastatic1]A::a01035
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int8 [rvastatic1]A::a01036
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int8 [rvastatic1]A::a01037
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int32 [rvastatic1]A::a01038
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int16 [rvastatic1]A::a01039
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int16 [rvastatic1]A::a01040
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int64 [rvastatic1]A::a01041
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int8 [rvastatic1]A::a01042
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda float32 [rvastatic1]A::a01043
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 43.0
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int8 [rvastatic1]A::a01044
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int16 [rvastatic1]A::a01045
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int64 [rvastatic1]A::a01046
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic1]A::a01047
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int16 [rvastatic1]A::a01048
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int64 [rvastatic1]A::a01049
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda float32 [rvastatic1]A::a01050
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 50.0
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int32 [rvastatic1]A::a01051
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int16 [rvastatic1]A::a01052
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int16 [rvastatic1]A::a01053
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda float32 [rvastatic1]A::a01054
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int64 [rvastatic1]A::a01055
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda int16 [rvastatic1]A::a01056
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 56
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int32 [rvastatic1]A::a01057
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int8 [rvastatic1]A::a01058
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic1]A::a01059
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda float32 [rvastatic1]A::a01060
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 60.0
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int64 [rvastatic1]A::a01061
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int32 [rvastatic1]A::a01062
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int8 [rvastatic1]A::a01063
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int16 [rvastatic1]A::a01064
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int8 [rvastatic1]A::a01065
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int16 [rvastatic1]A::a01066
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int64 [rvastatic1]A::a01067
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int64 [rvastatic1]A::a01068
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int8 [rvastatic1]A::a01069
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int16 [rvastatic1]A::a01070
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic1]A::a01071
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda float32 [rvastatic1]A::a01072
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int8 [rvastatic1]A::a01073
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int8 [rvastatic1]A::a01074
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int64 [rvastatic1]A::a01075
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int32 [rvastatic1]A::a01076
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int64 [rvastatic1]A::a01077
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int32 [rvastatic1]A::a01078
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int64 [rvastatic1]A::a01079
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic1]A::a01080
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int16 [rvastatic1]A::a01081
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda float32 [rvastatic1]A::a01082
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int64 [rvastatic1]A::a01083
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int8 [rvastatic1]A::a01084
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda float32 [rvastatic1]A::a01085
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 85.0
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda float32 [rvastatic1]A::a01086
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 86.0
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic1]A::a01087
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int32 [rvastatic1]A::a01088
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int8 [rvastatic1]A::a01089
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic1]A::a01090
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int32 [rvastatic1]A::a01091
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int8 [rvastatic1]A::a01092
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda float32 [rvastatic1]A::a01093
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 93.0
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int16 [rvastatic1]A::a01094
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int32 [rvastatic1]A::a01095
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int16 [rvastatic1]A::a01096
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int8 [rvastatic1]A::a01097
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int64 [rvastatic1]A::a01098
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int8 [rvastatic1]A::a01099
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int8 [rvastatic1]A::a010100
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int8 [rvastatic1]A::a010101
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int8 [rvastatic1]A::a010102
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int8 [rvastatic1]A::a010103
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int16 [rvastatic1]A::a010104
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int64 [rvastatic1]A::a010105
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int32 [rvastatic1]A::a010106
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int8 [rvastatic1]A::a010107
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int8 [rvastatic1]A::a010108
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic1]A::a010109
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int16 [rvastatic1]A::a010110
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic1]A::a010111
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda float32 [rvastatic1]A::a010112
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.r4
+ ldc.r4 112.0
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int16 [rvastatic1]A::a010113
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int64 [rvastatic1]A::a010114
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int64 [rvastatic1]A::a010115
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int64 [rvastatic1]A::a010116
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic1]A::a010117
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda float32 [rvastatic1]A::a010118
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.r4
+ ldc.r4 118.0
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int16 [rvastatic1]A::a010119
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int16 [rvastatic1]A::a010120
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i2
+ ldc.i4 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int64 [rvastatic1]A::a010121
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int16 [rvastatic1]A::a010122
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int64 [rvastatic1]A::a010123
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int8 [rvastatic1]A::a010124
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic1]A::a010125
+ conv.i8
+ call native int [rvastatic1]A::Call1(int64)
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int8 [rvastatic1]A::a010126
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int8 [rvastatic1]A::a010127
+ conv.r8
+ call native int [rvastatic1]A::Call2(float64)
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V6() {.maxstack 50
+ ldsfld int16 [rvastatic1]A::a0100
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a0100
+ ldsfld int16 [rvastatic1]A::a0100
+ ldc.i4 1
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsfld float32 [rvastatic1]A::a0101
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a0101
+ ldsfld float32 [rvastatic1]A::a0101
+ ldc.r4 2.0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld float32 [rvastatic1]A::a0102
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a0102
+ ldsfld float32 [rvastatic1]A::a0102
+ ldc.r4 3.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int8 [rvastatic1]A::a0103
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a0103
+ ldsfld int8 [rvastatic1]A::a0103
+ ldc.i4 4
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int16 [rvastatic1]A::a0104
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a0104
+ ldsfld int16 [rvastatic1]A::a0104
+ ldc.i4 5
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int8 [rvastatic1]A::a0105
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a0105
+ ldsfld int8 [rvastatic1]A::a0105
+ ldc.i4 6
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int8 [rvastatic1]A::a0106
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a0106
+ ldsfld int8 [rvastatic1]A::a0106
+ ldc.i4 7
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld float32 [rvastatic1]A::a0107
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a0107
+ ldsfld float32 [rvastatic1]A::a0107
+ ldc.r4 8.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld float32 [rvastatic1]A::a0108
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a0108
+ ldsfld float32 [rvastatic1]A::a0108
+ ldc.r4 9.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int64 [rvastatic1]A::a0109
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a0109
+ ldsfld int64 [rvastatic1]A::a0109
+ ldc.i8 10
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int8 [rvastatic1]A::a01010
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01010
+ ldsfld int8 [rvastatic1]A::a01010
+ ldc.i4 11
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int8 [rvastatic1]A::a01011
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01011
+ ldsfld int8 [rvastatic1]A::a01011
+ ldc.i4 12
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int16 [rvastatic1]A::a01012
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01012
+ ldsfld int16 [rvastatic1]A::a01012
+ ldc.i4 13
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01013
+ ldsfld int32 [rvastatic1]A::a01013
+ ldc.i4 14
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int32 [rvastatic1]A::a01014
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01014
+ ldsfld int32 [rvastatic1]A::a01014
+ ldc.i4 15
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int16 [rvastatic1]A::a01015
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01015
+ ldsfld int16 [rvastatic1]A::a01015
+ ldc.i4 16
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int16 [rvastatic1]A::a01016
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01016
+ ldsfld int16 [rvastatic1]A::a01016
+ ldc.i4 17
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld int16 [rvastatic1]A::a01017
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01017
+ ldsfld int16 [rvastatic1]A::a01017
+ ldc.i4 18
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int32 [rvastatic1]A::a01018
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01018
+ ldsfld int32 [rvastatic1]A::a01018
+ ldc.i4 19
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int16 [rvastatic1]A::a01019
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01019
+ ldsfld int16 [rvastatic1]A::a01019
+ ldc.i4 20
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01020
+ ldsfld int16 [rvastatic1]A::a01020
+ ldc.i4 21
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int64 [rvastatic1]A::a01021
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01021
+ ldsfld int64 [rvastatic1]A::a01021
+ ldc.i8 22
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int64 [rvastatic1]A::a01022
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01022
+ ldsfld int64 [rvastatic1]A::a01022
+ ldc.i8 23
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int32 [rvastatic1]A::a01023
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01023
+ ldsfld int32 [rvastatic1]A::a01023
+ ldc.i4 24
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int8 [rvastatic1]A::a01024
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01024
+ ldsfld int8 [rvastatic1]A::a01024
+ ldc.i4 25
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int64 [rvastatic1]A::a01025
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01025
+ ldsfld int64 [rvastatic1]A::a01025
+ ldc.i8 26
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int8 [rvastatic1]A::a01026
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01026
+ ldsfld int8 [rvastatic1]A::a01026
+ ldc.i4 27
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int16 [rvastatic1]A::a01027
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01027
+ ldsfld int16 [rvastatic1]A::a01027
+ ldc.i4 28
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int32 [rvastatic1]A::a01028
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01028
+ ldsfld int32 [rvastatic1]A::a01028
+ ldc.i4 29
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld float32 [rvastatic1]A::a01029
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01029
+ ldsfld float32 [rvastatic1]A::a01029
+ ldc.r4 30.0
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int16 [rvastatic1]A::a01030
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01030
+ ldsfld int16 [rvastatic1]A::a01030
+ ldc.i4 31
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int8 [rvastatic1]A::a01031
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01031
+ ldsfld int8 [rvastatic1]A::a01031
+ ldc.i4 32
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld float32 [rvastatic1]A::a01032
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01032
+ ldsfld float32 [rvastatic1]A::a01032
+ ldc.r4 33.0
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int32 [rvastatic1]A::a01033
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01033
+ ldsfld int32 [rvastatic1]A::a01033
+ ldc.i4 34
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int64 [rvastatic1]A::a01034
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01034
+ ldsfld int64 [rvastatic1]A::a01034
+ ldc.i8 35
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int16 [rvastatic1]A::a01035
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01035
+ ldsfld int16 [rvastatic1]A::a01035
+ ldc.i4 36
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int8 [rvastatic1]A::a01036
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01036
+ ldsfld int8 [rvastatic1]A::a01036
+ ldc.i4 37
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int8 [rvastatic1]A::a01037
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01037
+ ldsfld int8 [rvastatic1]A::a01037
+ ldc.i4 38
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int32 [rvastatic1]A::a01038
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01038
+ ldsfld int32 [rvastatic1]A::a01038
+ ldc.i4 39
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int16 [rvastatic1]A::a01039
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01039
+ ldsfld int16 [rvastatic1]A::a01039
+ ldc.i4 40
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int16 [rvastatic1]A::a01040
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01040
+ ldsfld int16 [rvastatic1]A::a01040
+ ldc.i4 41
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int64 [rvastatic1]A::a01041
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01041
+ ldsfld int64 [rvastatic1]A::a01041
+ ldc.i8 42
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int8 [rvastatic1]A::a01042
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01042
+ ldsfld int8 [rvastatic1]A::a01042
+ ldc.i4 43
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01043
+ ldsfld float32 [rvastatic1]A::a01043
+ ldc.r4 44.0
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01044
+ ldsfld int8 [rvastatic1]A::a01044
+ ldc.i4 45
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int16 [rvastatic1]A::a01045
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01045
+ ldsfld int16 [rvastatic1]A::a01045
+ ldc.i4 46
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int64 [rvastatic1]A::a01046
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01046
+ ldsfld int64 [rvastatic1]A::a01046
+ ldc.i8 47
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int64 [rvastatic1]A::a01047
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01047
+ ldsfld int64 [rvastatic1]A::a01047
+ ldc.i8 48
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int16 [rvastatic1]A::a01048
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01048
+ ldsfld int16 [rvastatic1]A::a01048
+ ldc.i4 49
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int64 [rvastatic1]A::a01049
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01049
+ ldsfld int64 [rvastatic1]A::a01049
+ ldc.i8 50
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld float32 [rvastatic1]A::a01050
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01050
+ ldsfld float32 [rvastatic1]A::a01050
+ ldc.r4 51.0
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int32 [rvastatic1]A::a01051
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01051
+ ldsfld int32 [rvastatic1]A::a01051
+ ldc.i4 52
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int16 [rvastatic1]A::a01052
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01052
+ ldsfld int16 [rvastatic1]A::a01052
+ ldc.i4 53
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int16 [rvastatic1]A::a01053
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01053
+ ldsfld int16 [rvastatic1]A::a01053
+ ldc.i4 54
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld float32 [rvastatic1]A::a01054
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01054
+ ldsfld float32 [rvastatic1]A::a01054
+ ldc.r4 55.0
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int64 [rvastatic1]A::a01055
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01055
+ ldsfld int64 [rvastatic1]A::a01055
+ ldc.i8 56
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int16 [rvastatic1]A::a01056
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01056
+ ldsfld int16 [rvastatic1]A::a01056
+ ldc.i4 57
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int32 [rvastatic1]A::a01057
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01057
+ ldsfld int32 [rvastatic1]A::a01057
+ ldc.i4 58
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int8 [rvastatic1]A::a01058
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01058
+ ldsfld int8 [rvastatic1]A::a01058
+ ldc.i4 59
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int64 [rvastatic1]A::a01059
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01059
+ ldsfld int64 [rvastatic1]A::a01059
+ ldc.i8 60
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld float32 [rvastatic1]A::a01060
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01060
+ ldsfld float32 [rvastatic1]A::a01060
+ ldc.r4 61.0
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int64 [rvastatic1]A::a01061
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01061
+ ldsfld int64 [rvastatic1]A::a01061
+ ldc.i8 62
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int32 [rvastatic1]A::a01062
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01062
+ ldsfld int32 [rvastatic1]A::a01062
+ ldc.i4 63
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int8 [rvastatic1]A::a01063
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01063
+ ldsfld int8 [rvastatic1]A::a01063
+ ldc.i4 64
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int16 [rvastatic1]A::a01064
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01064
+ ldsfld int16 [rvastatic1]A::a01064
+ ldc.i4 65
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01065
+ ldsfld int8 [rvastatic1]A::a01065
+ ldc.i4 66
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01066
+ ldsfld int16 [rvastatic1]A::a01066
+ ldc.i4 67
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int64 [rvastatic1]A::a01067
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01067
+ ldsfld int64 [rvastatic1]A::a01067
+ ldc.i8 68
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int64 [rvastatic1]A::a01068
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01068
+ ldsfld int64 [rvastatic1]A::a01068
+ ldc.i8 69
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int8 [rvastatic1]A::a01069
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01069
+ ldsfld int8 [rvastatic1]A::a01069
+ ldc.i4 70
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int16 [rvastatic1]A::a01070
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01070
+ ldsfld int16 [rvastatic1]A::a01070
+ ldc.i4 71
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int16 [rvastatic1]A::a01071
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01071
+ ldsfld int16 [rvastatic1]A::a01071
+ ldc.i4 72
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld float32 [rvastatic1]A::a01072
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01072
+ ldsfld float32 [rvastatic1]A::a01072
+ ldc.r4 73.0
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int8 [rvastatic1]A::a01073
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01073
+ ldsfld int8 [rvastatic1]A::a01073
+ ldc.i4 74
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int8 [rvastatic1]A::a01074
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01074
+ ldsfld int8 [rvastatic1]A::a01074
+ ldc.i4 75
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int64 [rvastatic1]A::a01075
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01075
+ ldsfld int64 [rvastatic1]A::a01075
+ ldc.i8 76
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01076
+ ldsfld int32 [rvastatic1]A::a01076
+ ldc.i4 77
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int64 [rvastatic1]A::a01077
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01077
+ ldsfld int64 [rvastatic1]A::a01077
+ ldc.i8 78
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int32 [rvastatic1]A::a01078
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01078
+ ldsfld int32 [rvastatic1]A::a01078
+ ldc.i4 79
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01079
+ ldsfld int64 [rvastatic1]A::a01079
+ ldc.i8 80
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld float32 [rvastatic1]A::a01080
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01080
+ ldsfld float32 [rvastatic1]A::a01080
+ ldc.r4 81.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld int16 [rvastatic1]A::a01081
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01081
+ ldsfld int16 [rvastatic1]A::a01081
+ ldc.i4 82
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld float32 [rvastatic1]A::a01082
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01082
+ ldsfld float32 [rvastatic1]A::a01082
+ ldc.r4 83.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int64 [rvastatic1]A::a01083
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01083
+ ldsfld int64 [rvastatic1]A::a01083
+ ldc.i8 84
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int8 [rvastatic1]A::a01084
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01084
+ ldsfld int8 [rvastatic1]A::a01084
+ ldc.i4 85
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld float32 [rvastatic1]A::a01085
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01085
+ ldsfld float32 [rvastatic1]A::a01085
+ ldc.r4 86.0
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld float32 [rvastatic1]A::a01086
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01086
+ ldsfld float32 [rvastatic1]A::a01086
+ ldc.r4 87.0
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int64 [rvastatic1]A::a01087
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01087
+ ldsfld int64 [rvastatic1]A::a01087
+ ldc.i8 88
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int32 [rvastatic1]A::a01088
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01088
+ ldsfld int32 [rvastatic1]A::a01088
+ ldc.i4 89
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int8 [rvastatic1]A::a01089
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01089
+ ldsfld int8 [rvastatic1]A::a01089
+ ldc.i4 90
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int8 [rvastatic1]A::a01090
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01090
+ ldsfld int8 [rvastatic1]A::a01090
+ ldc.i4 91
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int32 [rvastatic1]A::a01091
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01091
+ ldsfld int32 [rvastatic1]A::a01091
+ ldc.i4 92
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int8 [rvastatic1]A::a01092
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01092
+ ldsfld int8 [rvastatic1]A::a01092
+ ldc.i4 93
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld float32 [rvastatic1]A::a01093
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a01093
+ ldsfld float32 [rvastatic1]A::a01093
+ ldc.r4 94.0
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int16 [rvastatic1]A::a01094
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01094
+ ldsfld int16 [rvastatic1]A::a01094
+ ldc.i4 95
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int32 [rvastatic1]A::a01095
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a01095
+ ldsfld int32 [rvastatic1]A::a01095
+ ldc.i4 96
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int16 [rvastatic1]A::a01096
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a01096
+ ldsfld int16 [rvastatic1]A::a01096
+ ldc.i4 97
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int8 [rvastatic1]A::a01097
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01097
+ ldsfld int8 [rvastatic1]A::a01097
+ ldc.i4 98
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int64 [rvastatic1]A::a01098
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a01098
+ ldsfld int64 [rvastatic1]A::a01098
+ ldc.i8 99
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int8 [rvastatic1]A::a01099
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a01099
+ ldsfld int8 [rvastatic1]A::a01099
+ ldc.i4 100
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int8 [rvastatic1]A::a010100
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010100
+ ldsfld int8 [rvastatic1]A::a010100
+ ldc.i4 101
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int8 [rvastatic1]A::a010101
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010101
+ ldsfld int8 [rvastatic1]A::a010101
+ ldc.i4 102
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int8 [rvastatic1]A::a010102
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010102
+ ldsfld int8 [rvastatic1]A::a010102
+ ldc.i4 103
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int8 [rvastatic1]A::a010103
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010103
+ ldsfld int8 [rvastatic1]A::a010103
+ ldc.i4 104
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int16 [rvastatic1]A::a010104
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010104
+ ldsfld int16 [rvastatic1]A::a010104
+ ldc.i4 105
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int64 [rvastatic1]A::a010105
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010105
+ ldsfld int64 [rvastatic1]A::a010105
+ ldc.i8 106
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int32 [rvastatic1]A::a010106
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a010106
+ ldsfld int32 [rvastatic1]A::a010106
+ ldc.i4 107
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int8 [rvastatic1]A::a010107
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010107
+ ldsfld int8 [rvastatic1]A::a010107
+ ldc.i4 108
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int8 [rvastatic1]A::a010108
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010108
+ ldsfld int8 [rvastatic1]A::a010108
+ ldc.i4 109
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int16 [rvastatic1]A::a010109
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010109
+ ldsfld int16 [rvastatic1]A::a010109
+ ldc.i4 110
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int16 [rvastatic1]A::a010110
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010110
+ ldsfld int16 [rvastatic1]A::a010110
+ ldc.i4 111
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int32 [rvastatic1]A::a010111
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic1]A::a010111
+ ldsfld int32 [rvastatic1]A::a010111
+ ldc.i4 112
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld float32 [rvastatic1]A::a010112
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a010112
+ ldsfld float32 [rvastatic1]A::a010112
+ ldc.r4 113.0
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int16 [rvastatic1]A::a010113
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010113
+ ldsfld int16 [rvastatic1]A::a010113
+ ldc.i4 114
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int64 [rvastatic1]A::a010114
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010114
+ ldsfld int64 [rvastatic1]A::a010114
+ ldc.i8 115
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int64 [rvastatic1]A::a010115
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010115
+ ldsfld int64 [rvastatic1]A::a010115
+ ldc.i8 116
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int64 [rvastatic1]A::a010116
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010116
+ ldsfld int64 [rvastatic1]A::a010116
+ ldc.i8 117
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int64 [rvastatic1]A::a010117
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010117
+ ldsfld int64 [rvastatic1]A::a010117
+ ldc.i8 118
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic1]A::a010118
+ ldsfld float32 [rvastatic1]A::a010118
+ ldc.r4 119.0
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int16 [rvastatic1]A::a010119
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010119
+ ldsfld int16 [rvastatic1]A::a010119
+ ldc.i4 120
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int16 [rvastatic1]A::a010120
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010120
+ ldsfld int16 [rvastatic1]A::a010120
+ ldc.i4 121
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int64 [rvastatic1]A::a010121
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010121
+ ldsfld int64 [rvastatic1]A::a010121
+ ldc.i8 122
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int16 [rvastatic1]A::a010122
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic1]A::a010122
+ ldsfld int16 [rvastatic1]A::a010122
+ ldc.i4 123
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010123
+ ldsfld int64 [rvastatic1]A::a010123
+ ldc.i8 124
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int8 [rvastatic1]A::a010124
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010124
+ ldsfld int8 [rvastatic1]A::a010124
+ ldc.i4 5
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic1]A::a010125
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic1]A::a010125
+ ldsfld int64 [rvastatic1]A::a010125
+ ldc.i8 126
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int8 [rvastatic1]A::a010126
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010126
+ ldsfld int8 [rvastatic1]A::a010126
+ ldc.i4 7
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int8 [rvastatic1]A::a010127
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic1]A::a010127
+ ldsfld int8 [rvastatic1]A::a010127
+ ldc.i4 8
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static int32 Main(string[] args){.entrypoint .maxstack 5
+ call void [rvastatic1]A::V1()
+ call void [rvastatic1]A::V2()
+ call void [rvastatic1]A::V3()
+ call void [rvastatic1]A::V4()
+ call void [rvastatic1]A::V5()
+ call void [rvastatic1]A::V6()
+ ldc.i4 100
+ ret}
+.field public static int16 a0100 at b0100
+.field private static int16 aALIGN10100 at bALIGN10100
+.field private static int32 aALIGN20100 at bALIGN20100
+.field public static float32 a0101 at b0101
+.field private static int32 aALIGN10101 at bALIGN10101
+.field public static float32 a0102 at b0102
+.field private static int32 aALIGN10102 at bALIGN10102
+.field public static int8 a0103 at b0103
+.field private static int32 aALIGN10103 at bALIGN10103
+.field private static int16 aALIGN20103 at bALIGN20103
+.field private static int8 aALIGN20103 at bALIGN30103
+.field public static int16 a0104 at b0104
+.field private static int16 aALIGN10104 at bALIGN10104
+.field private static int32 aALIGN20104 at bALIGN20104
+.field public static int8 a0105 at b0105
+.field private static int32 aALIGN10105 at bALIGN10105
+.field private static int16 aALIGN20105 at bALIGN20105
+.field private static int8 aALIGN20105 at bALIGN30105
+.field public static int8 a0106 at b0106
+.field private static int32 aALIGN10106 at bALIGN10106
+.field private static int16 aALIGN20106 at bALIGN20106
+.field private static int8 aALIGN20106 at bALIGN30106
+.field public static float32 a0107 at b0107
+.field private static int32 aALIGN10107 at bALIGN10107
+.field public static float32 a0108 at b0108
+.field private static int32 aALIGN10108 at bALIGN10108
+.field public static int64 a0109 at b0109
+.field public static int8 a01010 at b01010
+.field private static int32 aALIGN101010 at bALIGN101010
+.field private static int16 aALIGN201010 at bALIGN201010
+.field private static int8 aALIGN201010 at bALIGN301010
+.field public static int8 a01011 at b01011
+.field private static int32 aALIGN101011 at bALIGN101011
+.field private static int16 aALIGN201011 at bALIGN201011
+.field private static int8 aALIGN201011 at bALIGN301011
+.field public static int16 a01012 at b01012
+.field private static int16 aALIGN101012 at bALIGN101012
+.field private static int32 aALIGN201012 at bALIGN201012
+.field public static int32 a01013 at b01013
+.field private static int32 aALIGN101013 at bALIGN101013
+.field public static int32 a01014 at b01014
+.field private static int32 aALIGN101014 at bALIGN101014
+.field public static int16 a01015 at b01015
+.field private static int16 aALIGN101015 at bALIGN101015
+.field private static int32 aALIGN201015 at bALIGN201015
+.field public static int16 a01016 at b01016
+.field private static int16 aALIGN101016 at bALIGN101016
+.field private static int32 aALIGN201016 at bALIGN201016
+.field public static int16 a01017 at b01017
+.field private static int16 aALIGN101017 at bALIGN101017
+.field private static int32 aALIGN201017 at bALIGN201017
+.field public static int32 a01018 at b01018
+.field private static int32 aALIGN101018 at bALIGN101018
+.field public static int16 a01019 at b01019
+.field private static int16 aALIGN101019 at bALIGN101019
+.field private static int32 aALIGN201019 at bALIGN201019
+.field public static int16 a01020 at b01020
+.field private static int16 aALIGN101020 at bALIGN101020
+.field private static int32 aALIGN201020 at bALIGN201020
+.field public static int64 a01021 at b01021
+.field public static int64 a01022 at b01022
+.field public static int32 a01023 at b01023
+.field private static int32 aALIGN101023 at bALIGN101023
+.field public static int8 a01024 at b01024
+.field private static int32 aALIGN101024 at bALIGN101024
+.field private static int16 aALIGN201024 at bALIGN201024
+.field private static int8 aALIGN201024 at bALIGN301024
+.field public static int64 a01025 at b01025
+.field public static int8 a01026 at b01026
+.field private static int32 aALIGN101026 at bALIGN101026
+.field private static int16 aALIGN201026 at bALIGN201026
+.field private static int8 aALIGN201026 at bALIGN301026
+.field public static int16 a01027 at b01027
+.field private static int16 aALIGN101027 at bALIGN101027
+.field private static int32 aALIGN201027 at bALIGN201027
+.field public static int32 a01028 at b01028
+.field private static int32 aALIGN101028 at bALIGN101028
+.field public static float32 a01029 at b01029
+.field private static int32 aALIGN101029 at bALIGN101029
+.field public static int16 a01030 at b01030
+.field private static int16 aALIGN101030 at bALIGN101030
+.field private static int32 aALIGN201030 at bALIGN201030
+.field public static int8 a01031 at b01031
+.field private static int32 aALIGN101031 at bALIGN101031
+.field private static int16 aALIGN201031 at bALIGN201031
+.field private static int8 aALIGN201031 at bALIGN301031
+.field public static float32 a01032 at b01032
+.field private static int32 aALIGN101032 at bALIGN101032
+.field public static int32 a01033 at b01033
+.field private static int32 aALIGN101033 at bALIGN101033
+.field public static int64 a01034 at b01034
+.field public static int16 a01035 at b01035
+.field private static int16 aALIGN101035 at bALIGN101035
+.field private static int32 aALIGN201035 at bALIGN201035
+.field public static int8 a01036 at b01036
+.field private static int32 aALIGN101036 at bALIGN101036
+.field private static int16 aALIGN201036 at bALIGN201036
+.field private static int8 aALIGN201036 at bALIGN301036
+.field public static int8 a01037 at b01037
+.field private static int32 aALIGN101037 at bALIGN101037
+.field private static int16 aALIGN201037 at bALIGN201037
+.field private static int8 aALIGN201037 at bALIGN301037
+.field public static int32 a01038 at b01038
+.field private static int32 aALIGN101038 at bALIGN101038
+.field public static int16 a01039 at b01039
+.field private static int16 aALIGN101039 at bALIGN101039
+.field private static int32 aALIGN201039 at bALIGN201039
+.field public static int16 a01040 at b01040
+.field private static int16 aALIGN101040 at bALIGN101040
+.field private static int32 aALIGN201040 at bALIGN201040
+.field public static int64 a01041 at b01041
+.field public static int8 a01042 at b01042
+.field private static int32 aALIGN101042 at bALIGN101042
+.field private static int16 aALIGN201042 at bALIGN201042
+.field private static int8 aALIGN201042 at bALIGN301042
+.field public static float32 a01043 at b01043
+.field private static int32 aALIGN101043 at bALIGN101043
+.field public static int8 a01044 at b01044
+.field private static int32 aALIGN101044 at bALIGN101044
+.field private static int16 aALIGN201044 at bALIGN201044
+.field private static int8 aALIGN201044 at bALIGN301044
+.field public static int16 a01045 at b01045
+.field private static int16 aALIGN101045 at bALIGN101045
+.field private static int32 aALIGN201045 at bALIGN201045
+.field public static int64 a01046 at b01046
+.field public static int64 a01047 at b01047
+.field public static int16 a01048 at b01048
+.field private static int16 aALIGN101048 at bALIGN101048
+.field private static int32 aALIGN201048 at bALIGN201048
+.field public static int64 a01049 at b01049
+.field public static float32 a01050 at b01050
+.field private static int32 aALIGN101050 at bALIGN101050
+.field public static int32 a01051 at b01051
+.field private static int32 aALIGN101051 at bALIGN101051
+.field public static int16 a01052 at b01052
+.field private static int16 aALIGN101052 at bALIGN101052
+.field private static int32 aALIGN201052 at bALIGN201052
+.field public static int16 a01053 at b01053
+.field private static int16 aALIGN101053 at bALIGN101053
+.field private static int32 aALIGN201053 at bALIGN201053
+.field public static float32 a01054 at b01054
+.field private static int32 aALIGN101054 at bALIGN101054
+.field public static int64 a01055 at b01055
+.field public static int16 a01056 at b01056
+.field private static int16 aALIGN101056 at bALIGN101056
+.field private static int32 aALIGN201056 at bALIGN201056
+.field public static int32 a01057 at b01057
+.field private static int32 aALIGN101057 at bALIGN101057
+.field public static int8 a01058 at b01058
+.field private static int32 aALIGN101058 at bALIGN101058
+.field private static int16 aALIGN201058 at bALIGN201058
+.field private static int8 aALIGN201058 at bALIGN301058
+.field public static int64 a01059 at b01059
+.field public static float32 a01060 at b01060
+.field private static int32 aALIGN101060 at bALIGN101060
+.field public static int64 a01061 at b01061
+.field public static int32 a01062 at b01062
+.field private static int32 aALIGN101062 at bALIGN101062
+.field public static int8 a01063 at b01063
+.field private static int32 aALIGN101063 at bALIGN101063
+.field private static int16 aALIGN201063 at bALIGN201063
+.field private static int8 aALIGN201063 at bALIGN301063
+.field public static int16 a01064 at b01064
+.field private static int16 aALIGN101064 at bALIGN101064
+.field private static int32 aALIGN201064 at bALIGN201064
+.field public static int8 a01065 at b01065
+.field private static int32 aALIGN101065 at bALIGN101065
+.field private static int16 aALIGN201065 at bALIGN201065
+.field private static int8 aALIGN201065 at bALIGN301065
+.field public static int16 a01066 at b01066
+.field private static int16 aALIGN101066 at bALIGN101066
+.field private static int32 aALIGN201066 at bALIGN201066
+.field public static int64 a01067 at b01067
+.field public static int64 a01068 at b01068
+.field public static int8 a01069 at b01069
+.field private static int32 aALIGN101069 at bALIGN101069
+.field private static int16 aALIGN201069 at bALIGN201069
+.field private static int8 aALIGN201069 at bALIGN301069
+.field public static int16 a01070 at b01070
+.field private static int16 aALIGN101070 at bALIGN101070
+.field private static int32 aALIGN201070 at bALIGN201070
+.field public static int16 a01071 at b01071
+.field private static int16 aALIGN101071 at bALIGN101071
+.field private static int32 aALIGN201071 at bALIGN201071
+.field public static float32 a01072 at b01072
+.field private static int32 aALIGN101072 at bALIGN101072
+.field public static int8 a01073 at b01073
+.field private static int32 aALIGN101073 at bALIGN101073
+.field private static int16 aALIGN201073 at bALIGN201073
+.field private static int8 aALIGN201073 at bALIGN301073
+.field public static int8 a01074 at b01074
+.field private static int32 aALIGN101074 at bALIGN101074
+.field private static int16 aALIGN201074 at bALIGN201074
+.field private static int8 aALIGN201074 at bALIGN301074
+.field public static int64 a01075 at b01075
+.field public static int32 a01076 at b01076
+.field private static int32 aALIGN101076 at bALIGN101076
+.field public static int64 a01077 at b01077
+.field public static int32 a01078 at b01078
+.field private static int32 aALIGN101078 at bALIGN101078
+.field public static int64 a01079 at b01079
+.field public static float32 a01080 at b01080
+.field private static int32 aALIGN101080 at bALIGN101080
+.field public static int16 a01081 at b01081
+.field private static int16 aALIGN101081 at bALIGN101081
+.field private static int32 aALIGN201081 at bALIGN201081
+.field public static float32 a01082 at b01082
+.field private static int32 aALIGN101082 at bALIGN101082
+.field public static int64 a01083 at b01083
+.field public static int8 a01084 at b01084
+.field private static int32 aALIGN101084 at bALIGN101084
+.field private static int16 aALIGN201084 at bALIGN201084
+.field private static int8 aALIGN201084 at bALIGN301084
+.field public static float32 a01085 at b01085
+.field private static int32 aALIGN101085 at bALIGN101085
+.field public static float32 a01086 at b01086
+.field private static int32 aALIGN101086 at bALIGN101086
+.field public static int64 a01087 at b01087
+.field public static int32 a01088 at b01088
+.field private static int32 aALIGN101088 at bALIGN101088
+.field public static int8 a01089 at b01089
+.field private static int32 aALIGN101089 at bALIGN101089
+.field private static int16 aALIGN201089 at bALIGN201089
+.field private static int8 aALIGN201089 at bALIGN301089
+.field public static int8 a01090 at b01090
+.field private static int32 aALIGN101090 at bALIGN101090
+.field private static int16 aALIGN201090 at bALIGN201090
+.field private static int8 aALIGN201090 at bALIGN301090
+.field public static int32 a01091 at b01091
+.field private static int32 aALIGN101091 at bALIGN101091
+.field public static int8 a01092 at b01092
+.field private static int32 aALIGN101092 at bALIGN101092
+.field private static int16 aALIGN201092 at bALIGN201092
+.field private static int8 aALIGN201092 at bALIGN301092
+.field public static float32 a01093 at b01093
+.field private static int32 aALIGN101093 at bALIGN101093
+.field public static int16 a01094 at b01094
+.field private static int16 aALIGN101094 at bALIGN101094
+.field private static int32 aALIGN201094 at bALIGN201094
+.field public static int32 a01095 at b01095
+.field private static int32 aALIGN101095 at bALIGN101095
+.field public static int16 a01096 at b01096
+.field private static int16 aALIGN101096 at bALIGN101096
+.field private static int32 aALIGN201096 at bALIGN201096
+.field public static int8 a01097 at b01097
+.field private static int32 aALIGN101097 at bALIGN101097
+.field private static int16 aALIGN201097 at bALIGN201097
+.field private static int8 aALIGN201097 at bALIGN301097
+.field public static int64 a01098 at b01098
+.field public static int8 a01099 at b01099
+.field private static int32 aALIGN101099 at bALIGN101099
+.field private static int16 aALIGN201099 at bALIGN201099
+.field private static int8 aALIGN201099 at bALIGN301099
+.field public static int8 a010100 at b010100
+.field private static int32 aALIGN1010100 at bALIGN1010100
+.field private static int16 aALIGN2010100 at bALIGN2010100
+.field private static int8 aALIGN2010100 at bALIGN3010100
+.field public static int8 a010101 at b010101
+.field private static int32 aALIGN1010101 at bALIGN1010101
+.field private static int16 aALIGN2010101 at bALIGN2010101
+.field private static int8 aALIGN2010101 at bALIGN3010101
+.field public static int8 a010102 at b010102
+.field private static int32 aALIGN1010102 at bALIGN1010102
+.field private static int16 aALIGN2010102 at bALIGN2010102
+.field private static int8 aALIGN2010102 at bALIGN3010102
+.field public static int8 a010103 at b010103
+.field private static int32 aALIGN1010103 at bALIGN1010103
+.field private static int16 aALIGN2010103 at bALIGN2010103
+.field private static int8 aALIGN2010103 at bALIGN3010103
+.field public static int16 a010104 at b010104
+.field private static int16 aALIGN1010104 at bALIGN1010104
+.field private static int32 aALIGN2010104 at bALIGN2010104
+.field public static int64 a010105 at b010105
+.field public static int32 a010106 at b010106
+.field private static int32 aALIGN1010106 at bALIGN1010106
+.field public static int8 a010107 at b010107
+.field private static int32 aALIGN1010107 at bALIGN1010107
+.field private static int16 aALIGN2010107 at bALIGN2010107
+.field private static int8 aALIGN2010107 at bALIGN3010107
+.field public static int8 a010108 at b010108
+.field private static int32 aALIGN1010108 at bALIGN1010108
+.field private static int16 aALIGN2010108 at bALIGN2010108
+.field private static int8 aALIGN2010108 at bALIGN3010108
+.field public static int16 a010109 at b010109
+.field private static int16 aALIGN1010109 at bALIGN1010109
+.field private static int32 aALIGN2010109 at bALIGN2010109
+.field public static int16 a010110 at b010110
+.field private static int16 aALIGN1010110 at bALIGN1010110
+.field private static int32 aALIGN2010110 at bALIGN2010110
+.field public static int32 a010111 at b010111
+.field private static int32 aALIGN1010111 at bALIGN1010111
+.field public static float32 a010112 at b010112
+.field private static int32 aALIGN1010112 at bALIGN1010112
+.field public static int16 a010113 at b010113
+.field private static int16 aALIGN1010113 at bALIGN1010113
+.field private static int32 aALIGN2010113 at bALIGN2010113
+.field public static int64 a010114 at b010114
+.field public static int64 a010115 at b010115
+.field public static int64 a010116 at b010116
+.field public static int64 a010117 at b010117
+.field public static float32 a010118 at b010118
+.field private static int32 aALIGN1010118 at bALIGN1010118
+.field public static int16 a010119 at b010119
+.field private static int16 aALIGN1010119 at bALIGN1010119
+.field private static int32 aALIGN2010119 at bALIGN2010119
+.field public static int16 a010120 at b010120
+.field private static int16 aALIGN1010120 at bALIGN1010120
+.field private static int32 aALIGN2010120 at bALIGN2010120
+.field public static int64 a010121 at b010121
+.field public static int16 a010122 at b010122
+.field private static int16 aALIGN1010122 at bALIGN1010122
+.field private static int32 aALIGN2010122 at bALIGN2010122
+.field public static int64 a010123 at b010123
+.field public static int8 a010124 at b010124
+.field private static int32 aALIGN1010124 at bALIGN1010124
+.field private static int16 aALIGN2010124 at bALIGN2010124
+.field private static int8 aALIGN2010124 at bALIGN3010124
+.field public static int64 a010125 at b010125
+.field public static int8 a010126 at b010126
+.field private static int32 aALIGN1010126 at bALIGN1010126
+.field private static int16 aALIGN2010126 at bALIGN2010126
+.field private static int8 aALIGN2010126 at bALIGN3010126
+.field public static int8 a010127 at b010127
+.field private static int32 aALIGN1010127 at bALIGN1010127
+.field private static int16 aALIGN2010127 at bALIGN2010127
+.field private static int8 aALIGN2010127 at bALIGN3010127
+ }
+.data b0100 = int16(0)
+.data bALIGN10100 = int16(0)
+.data bALIGN20100 = int32(0)
+.data b0101 = float32(1.0)
+.data bALIGN10101 = int32(0)
+.data b0102 = float32(2.0)
+.data bALIGN10102 = int32(0)
+.data b0103 = int8(3)
+.data bALIGN10103 = int32(0)
+.data bALIGN20103 = int16(0)
+.data bALIGN30103 = int8(0)
+.data b0104 = int16(4)
+.data bALIGN10104 = int16(0)
+.data bALIGN20104 = int32(0)
+.data b0105 = int8(5)
+.data bALIGN10105 = int32(0)
+.data bALIGN20105 = int16(0)
+.data bALIGN30105 = int8(0)
+.data b0106 = int8(6)
+.data bALIGN10106 = int32(0)
+.data bALIGN20106 = int16(0)
+.data bALIGN30106 = int8(0)
+.data b0107 = float32(7.0)
+.data bALIGN10107 = int32(0)
+.data b0108 = float32(8.0)
+.data bALIGN10108 = int32(0)
+.data b0109 = int64(9)
+.data b01010 = int8(10)
+.data bALIGN101010 = int32(0)
+.data bALIGN201010 = int16(0)
+.data bALIGN301010 = int8(0)
+.data b01011 = int8(11)
+.data bALIGN101011 = int32(0)
+.data bALIGN201011 = int16(0)
+.data bALIGN301011 = int8(0)
+.data b01012 = int16(12)
+.data bALIGN101012 = int16(0)
+.data bALIGN201012 = int32(0)
+.data b01013 = int32(13)
+.data bALIGN101013 = int32(0)
+.data b01014 = int32(14)
+.data bALIGN101014 = int32(0)
+.data b01015 = int16(15)
+.data bALIGN101015 = int16(0)
+.data bALIGN201015 = int32(0)
+.data b01016 = int16(16)
+.data bALIGN101016 = int16(0)
+.data bALIGN201016 = int32(0)
+.data b01017 = int16(17)
+.data bALIGN101017 = int16(0)
+.data bALIGN201017 = int32(0)
+.data b01018 = int32(18)
+.data bALIGN101018 = int32(0)
+.data b01019 = int16(19)
+.data bALIGN101019 = int16(0)
+.data bALIGN201019 = int32(0)
+.data b01020 = int16(20)
+.data bALIGN101020 = int16(0)
+.data bALIGN201020 = int32(0)
+.data b01021 = int64(21)
+.data b01022 = int64(22)
+.data b01023 = int32(23)
+.data bALIGN101023 = int32(0)
+.data b01024 = int8(24)
+.data bALIGN101024 = int32(0)
+.data bALIGN201024 = int16(0)
+.data bALIGN301024 = int8(0)
+.data b01025 = int64(25)
+.data b01026 = int8(26)
+.data bALIGN101026 = int32(0)
+.data bALIGN201026 = int16(0)
+.data bALIGN301026 = int8(0)
+.data b01027 = int16(27)
+.data bALIGN101027 = int16(0)
+.data bALIGN201027 = int32(0)
+.data b01028 = int32(28)
+.data bALIGN101028 = int32(0)
+.data b01029 = float32(29.0)
+.data bALIGN101029 = int32(0)
+.data b01030 = int16(30)
+.data bALIGN101030 = int16(0)
+.data bALIGN201030 = int32(0)
+.data b01031 = int8(31)
+.data bALIGN101031 = int32(0)
+.data bALIGN201031 = int16(0)
+.data bALIGN301031 = int8(0)
+.data b01032 = float32(32.0)
+.data bALIGN101032 = int32(0)
+.data b01033 = int32(33)
+.data bALIGN101033 = int32(0)
+.data b01034 = int64(34)
+.data b01035 = int16(35)
+.data bALIGN101035 = int16(0)
+.data bALIGN201035 = int32(0)
+.data b01036 = int8(36)
+.data bALIGN101036 = int32(0)
+.data bALIGN201036 = int16(0)
+.data bALIGN301036 = int8(0)
+.data b01037 = int8(37)
+.data bALIGN101037 = int32(0)
+.data bALIGN201037 = int16(0)
+.data bALIGN301037 = int8(0)
+.data b01038 = int32(38)
+.data bALIGN101038 = int32(0)
+.data b01039 = int16(39)
+.data bALIGN101039 = int16(0)
+.data bALIGN201039 = int32(0)
+.data b01040 = int16(40)
+.data bALIGN101040 = int16(0)
+.data bALIGN201040 = int32(0)
+.data b01041 = int64(41)
+.data b01042 = int8(42)
+.data bALIGN101042 = int32(0)
+.data bALIGN201042 = int16(0)
+.data bALIGN301042 = int8(0)
+.data b01043 = float32(43.0)
+.data bALIGN101043 = int32(0)
+.data b01044 = int8(44)
+.data bALIGN101044 = int32(0)
+.data bALIGN201044 = int16(0)
+.data bALIGN301044 = int8(0)
+.data b01045 = int16(45)
+.data bALIGN101045 = int16(0)
+.data bALIGN201045 = int32(0)
+.data b01046 = int64(46)
+.data b01047 = int64(47)
+.data b01048 = int16(48)
+.data bALIGN101048 = int16(0)
+.data bALIGN201048 = int32(0)
+.data b01049 = int64(49)
+.data b01050 = float32(50.0)
+.data bALIGN101050 = int32(0)
+.data b01051 = int32(51)
+.data bALIGN101051 = int32(0)
+.data b01052 = int16(52)
+.data bALIGN101052 = int16(0)
+.data bALIGN201052 = int32(0)
+.data b01053 = int16(53)
+.data bALIGN101053 = int16(0)
+.data bALIGN201053 = int32(0)
+.data b01054 = float32(54.0)
+.data bALIGN101054 = int32(0)
+.data b01055 = int64(55)
+.data b01056 = int16(56)
+.data bALIGN101056 = int16(0)
+.data bALIGN201056 = int32(0)
+.data b01057 = int32(57)
+.data bALIGN101057 = int32(0)
+.data b01058 = int8(58)
+.data bALIGN101058 = int32(0)
+.data bALIGN201058 = int16(0)
+.data bALIGN301058 = int8(0)
+.data b01059 = int64(59)
+.data b01060 = float32(60.0)
+.data bALIGN101060 = int32(0)
+.data b01061 = int64(61)
+.data b01062 = int32(62)
+.data bALIGN101062 = int32(0)
+.data b01063 = int8(63)
+.data bALIGN101063 = int32(0)
+.data bALIGN201063 = int16(0)
+.data bALIGN301063 = int8(0)
+.data b01064 = int16(64)
+.data bALIGN101064 = int16(0)
+.data bALIGN201064 = int32(0)
+.data b01065 = int8(65)
+.data bALIGN101065 = int32(0)
+.data bALIGN201065 = int16(0)
+.data bALIGN301065 = int8(0)
+.data b01066 = int16(66)
+.data bALIGN101066 = int16(0)
+.data bALIGN201066 = int32(0)
+.data b01067 = int64(67)
+.data b01068 = int64(68)
+.data b01069 = int8(69)
+.data bALIGN101069 = int32(0)
+.data bALIGN201069 = int16(0)
+.data bALIGN301069 = int8(0)
+.data b01070 = int16(70)
+.data bALIGN101070 = int16(0)
+.data bALIGN201070 = int32(0)
+.data b01071 = int16(71)
+.data bALIGN101071 = int16(0)
+.data bALIGN201071 = int32(0)
+.data b01072 = float32(72.0)
+.data bALIGN101072 = int32(0)
+.data b01073 = int8(73)
+.data bALIGN101073 = int32(0)
+.data bALIGN201073 = int16(0)
+.data bALIGN301073 = int8(0)
+.data b01074 = int8(74)
+.data bALIGN101074 = int32(0)
+.data bALIGN201074 = int16(0)
+.data bALIGN301074 = int8(0)
+.data b01075 = int64(75)
+.data b01076 = int32(76)
+.data bALIGN101076 = int32(0)
+.data b01077 = int64(77)
+.data b01078 = int32(78)
+.data bALIGN101078 = int32(0)
+.data b01079 = int64(79)
+.data b01080 = float32(80.0)
+.data bALIGN101080 = int32(0)
+.data b01081 = int16(81)
+.data bALIGN101081 = int16(0)
+.data bALIGN201081 = int32(0)
+.data b01082 = float32(82.0)
+.data bALIGN101082 = int32(0)
+.data b01083 = int64(83)
+.data b01084 = int8(84)
+.data bALIGN101084 = int32(0)
+.data bALIGN201084 = int16(0)
+.data bALIGN301084 = int8(0)
+.data b01085 = float32(85.0)
+.data bALIGN101085 = int32(0)
+.data b01086 = float32(86.0)
+.data bALIGN101086 = int32(0)
+.data b01087 = int64(87)
+.data b01088 = int32(88)
+.data bALIGN101088 = int32(0)
+.data b01089 = int8(89)
+.data bALIGN101089 = int32(0)
+.data bALIGN201089 = int16(0)
+.data bALIGN301089 = int8(0)
+.data b01090 = int8(90)
+.data bALIGN101090 = int32(0)
+.data bALIGN201090 = int16(0)
+.data bALIGN301090 = int8(0)
+.data b01091 = int32(91)
+.data bALIGN101091 = int32(0)
+.data b01092 = int8(92)
+.data bALIGN101092 = int32(0)
+.data bALIGN201092 = int16(0)
+.data bALIGN301092 = int8(0)
+.data b01093 = float32(93.0)
+.data bALIGN101093 = int32(0)
+.data b01094 = int16(94)
+.data bALIGN101094 = int16(0)
+.data bALIGN201094 = int32(0)
+.data b01095 = int32(95)
+.data bALIGN101095 = int32(0)
+.data b01096 = int16(96)
+.data bALIGN101096 = int16(0)
+.data bALIGN201096 = int32(0)
+.data b01097 = int8(97)
+.data bALIGN101097 = int32(0)
+.data bALIGN201097 = int16(0)
+.data bALIGN301097 = int8(0)
+.data b01098 = int64(98)
+.data b01099 = int8(99)
+.data bALIGN101099 = int32(0)
+.data bALIGN201099 = int16(0)
+.data bALIGN301099 = int8(0)
+.data b010100 = int8(100)
+.data bALIGN1010100 = int32(0)
+.data bALIGN2010100 = int16(0)
+.data bALIGN3010100 = int8(0)
+.data b010101 = int8(101)
+.data bALIGN1010101 = int32(0)
+.data bALIGN2010101 = int16(0)
+.data bALIGN3010101 = int8(0)
+.data b010102 = int8(102)
+.data bALIGN1010102 = int32(0)
+.data bALIGN2010102 = int16(0)
+.data bALIGN3010102 = int8(0)
+.data b010103 = int8(103)
+.data bALIGN1010103 = int32(0)
+.data bALIGN2010103 = int16(0)
+.data bALIGN3010103 = int8(0)
+.data b010104 = int16(104)
+.data bALIGN1010104 = int16(0)
+.data bALIGN2010104 = int32(0)
+.data b010105 = int64(105)
+.data b010106 = int32(106)
+.data bALIGN1010106 = int32(0)
+.data b010107 = int8(107)
+.data bALIGN1010107 = int32(0)
+.data bALIGN2010107 = int16(0)
+.data bALIGN3010107 = int8(0)
+.data b010108 = int8(108)
+.data bALIGN1010108 = int32(0)
+.data bALIGN2010108 = int16(0)
+.data bALIGN3010108 = int8(0)
+.data b010109 = int16(109)
+.data bALIGN1010109 = int16(0)
+.data bALIGN2010109 = int32(0)
+.data b010110 = int16(110)
+.data bALIGN1010110 = int16(0)
+.data bALIGN2010110 = int32(0)
+.data b010111 = int32(111)
+.data bALIGN1010111 = int32(0)
+.data b010112 = float32(112.0)
+.data bALIGN1010112 = int32(0)
+.data b010113 = int16(113)
+.data bALIGN1010113 = int16(0)
+.data bALIGN2010113 = int32(0)
+.data b010114 = int64(114)
+.data b010115 = int64(115)
+.data b010116 = int64(116)
+.data b010117 = int64(117)
+.data b010118 = float32(118.0)
+.data bALIGN1010118 = int32(0)
+.data b010119 = int16(119)
+.data bALIGN1010119 = int16(0)
+.data bALIGN2010119 = int32(0)
+.data b010120 = int16(120)
+.data bALIGN1010120 = int16(0)
+.data bALIGN2010120 = int32(0)
+.data b010121 = int64(121)
+.data b010122 = int16(122)
+.data bALIGN1010122 = int16(0)
+.data bALIGN2010122 = int32(0)
+.data b010123 = int64(123)
+.data b010124 = int8(4)
+.data bALIGN1010124 = int32(0)
+.data bALIGN2010124 = int16(0)
+.data bALIGN3010124 = int8(0)
+.data b010125 = int64(125)
+.data b010126 = int8(6)
+.data bALIGN1010126 = int32(0)
+.data bALIGN2010126 = int16(0)
+.data bALIGN3010126 = int8(0)
+.data b010127 = int8(7)
+.data bALIGN1010127 = int32(0)
+.data bALIGN2010127 = int16(0)
+.data bALIGN3010127 = int8(0)
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj b/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj
new file mode 100644
index 0000000000..3ebc184f52
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rvastatic1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic2.il b/tests/src/JIT/Directed/rvastatics/rvastatic2.il
new file mode 100644
index 0000000000..899ccc8032
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic2.il
@@ -0,0 +1,7710 @@
+.assembly extern mscorlib{}
+.assembly rvastatic2{}
+.class public A{
+ .method static native int Call1(int64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ conv.i
+ ret
+ }
+ .method static native int Call2(float64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ ldc.i8 50589
+ add
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ conv.i8
+ ldc.i8 50589
+ sub
+ conv.i
+ conv.i
+ ret
+ }
+ .method static void V1() {.maxstack 50
+ ldsfld float32 [rvastatic2]A::a0100
+ ldc.r4 0.0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld int16 [rvastatic2]A::a0101
+ ldc.i4 1
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int64 [rvastatic2]A::a0102
+ ldc.i8 2
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int64 [rvastatic2]A::a0103
+ ldc.i8 3
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld float32 [rvastatic2]A::a0104
+ ldc.r4 4.0
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int64 [rvastatic2]A::a0105
+ ldc.i8 5
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int16 [rvastatic2]A::a0106
+ ldc.i4 6
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld float32 [rvastatic2]A::a0107
+ ldc.r4 7.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld float32 [rvastatic2]A::a0108
+ ldc.r4 8.0
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld float32 [rvastatic2]A::a0109
+ ldc.r4 9.0
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int16 [rvastatic2]A::a01010
+ ldc.i4 10
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 11
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int8 [rvastatic2]A::a01012
+ ldc.i4 12
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld float32 [rvastatic2]A::a01013
+ ldc.r4 13.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld float32 [rvastatic2]A::a01014
+ ldc.r4 14.0
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int16 [rvastatic2]A::a01015
+ ldc.i4 15
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld float32 [rvastatic2]A::a01016
+ ldc.r4 16.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld float32 [rvastatic2]A::a01017
+ ldc.r4 17.0
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int64 [rvastatic2]A::a01018
+ ldc.i8 18
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int32 [rvastatic2]A::a01019
+ ldc.i4 19
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int64 [rvastatic2]A::a01020
+ ldc.i8 20
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int64 [rvastatic2]A::a01021
+ ldc.i8 21
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int16 [rvastatic2]A::a01022
+ ldc.i4 22
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int32 [rvastatic2]A::a01023
+ ldc.i4 23
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int16 [rvastatic2]A::a01024
+ ldc.i4 24
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int64 [rvastatic2]A::a01025
+ ldc.i8 25
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int64 [rvastatic2]A::a01027
+ ldc.i8 27
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int8 [rvastatic2]A::a01028
+ ldc.i4 28
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int8 [rvastatic2]A::a01029
+ ldc.i4 29
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int8 [rvastatic2]A::a01030
+ ldc.i4 30
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld float32 [rvastatic2]A::a01031
+ ldc.r4 31.0
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int64 [rvastatic2]A::a01032
+ ldc.i8 32
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int32 [rvastatic2]A::a01033
+ ldc.i4 33
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 34.0
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int8 [rvastatic2]A::a01035
+ ldc.i4 35
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic2]A::a01036
+ ldc.i4 36
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int32 [rvastatic2]A::a01037
+ ldc.i4 37
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 38
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int16 [rvastatic2]A::a01039
+ ldc.i4 39
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int32 [rvastatic2]A::a01040
+ ldc.i4 40
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int32 [rvastatic2]A::a01041
+ ldc.i4 41
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int32 [rvastatic2]A::a01042
+ ldc.i4 42
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int16 [rvastatic2]A::a01043
+ ldc.i4 43
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int64 [rvastatic2]A::a01044
+ ldc.i8 44
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld float32 [rvastatic2]A::a01045
+ ldc.r4 45.0
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int32 [rvastatic2]A::a01046
+ ldc.i4 46
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld float32 [rvastatic2]A::a01047
+ ldc.r4 47.0
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld float32 [rvastatic2]A::a01048
+ ldc.r4 48.0
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int8 [rvastatic2]A::a01049
+ ldc.i4 49
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int32 [rvastatic2]A::a01050
+ ldc.i4 50
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int64 [rvastatic2]A::a01051
+ ldc.i8 51
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int16 [rvastatic2]A::a01052
+ ldc.i4 52
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int8 [rvastatic2]A::a01053
+ ldc.i4 53
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int16 [rvastatic2]A::a01054
+ ldc.i4 54
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int16 [rvastatic2]A::a01055
+ ldc.i4 55
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int8 [rvastatic2]A::a01056
+ ldc.i4 56
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int8 [rvastatic2]A::a01057
+ ldc.i4 57
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int16 [rvastatic2]A::a01058
+ ldc.i4 58
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int16 [rvastatic2]A::a01059
+ ldc.i4 59
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int32 [rvastatic2]A::a01060
+ ldc.i4 60
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int64 [rvastatic2]A::a01061
+ ldc.i8 61
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int64 [rvastatic2]A::a01062
+ ldc.i8 62
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int64 [rvastatic2]A::a01063
+ ldc.i8 63
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld float32 [rvastatic2]A::a01064
+ ldc.r4 64.0
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int32 [rvastatic2]A::a01065
+ ldc.i4 65
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld float32 [rvastatic2]A::a01066
+ ldc.r4 66.0
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int64 [rvastatic2]A::a01067
+ ldc.i8 67
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int8 [rvastatic2]A::a01068
+ ldc.i4 68
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int64 [rvastatic2]A::a01069
+ ldc.i8 69
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld float32 [rvastatic2]A::a01070
+ ldc.r4 70.0
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int16 [rvastatic2]A::a01071
+ ldc.i4 71
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int8 [rvastatic2]A::a01072
+ ldc.i4 72
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int32 [rvastatic2]A::a01073
+ ldc.i4 73
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld float32 [rvastatic2]A::a01074
+ ldc.r4 74.0
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 75
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int8 [rvastatic2]A::a01076
+ ldc.i4 76
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld float32 [rvastatic2]A::a01077
+ ldc.r4 77.0
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld float32 [rvastatic2]A::a01078
+ ldc.r4 78.0
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld int16 [rvastatic2]A::a01079
+ ldc.i4 79
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld int8 [rvastatic2]A::a01080
+ ldc.i4 80
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 81
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int64 [rvastatic2]A::a01082
+ ldc.i8 82
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 83
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int64 [rvastatic2]A::a01084
+ ldc.i8 84
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int16 [rvastatic2]A::a01085
+ ldc.i4 85
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int32 [rvastatic2]A::a01086
+ ldc.i4 86
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int32 [rvastatic2]A::a01087
+ ldc.i4 87
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int16 [rvastatic2]A::a01088
+ ldc.i4 88
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int32 [rvastatic2]A::a01089
+ ldc.i4 89
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int8 [rvastatic2]A::a01090
+ ldc.i4 90
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int16 [rvastatic2]A::a01091
+ ldc.i4 91
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 92
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int32 [rvastatic2]A::a01093
+ ldc.i4 93
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 94
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int64 [rvastatic2]A::a01095
+ ldc.i8 95
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int64 [rvastatic2]A::a01096
+ ldc.i8 96
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int64 [rvastatic2]A::a01097
+ ldc.i8 97
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int32 [rvastatic2]A::a01098
+ ldc.i4 98
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int16 [rvastatic2]A::a01099
+ ldc.i4 99
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int8 [rvastatic2]A::a010100
+ ldc.i4 100
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld float32 [rvastatic2]A::a010101
+ ldc.r4 101.0
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld float32 [rvastatic2]A::a010102
+ ldc.r4 102.0
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int8 [rvastatic2]A::a010103
+ ldc.i4 103
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int16 [rvastatic2]A::a010104
+ ldc.i4 104
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int8 [rvastatic2]A::a010105
+ ldc.i4 105
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int32 [rvastatic2]A::a010106
+ ldc.i4 106
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld float32 [rvastatic2]A::a010107
+ ldc.r4 107.0
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int16 [rvastatic2]A::a010108
+ ldc.i4 108
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int8 [rvastatic2]A::a010109
+ ldc.i4 109
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int8 [rvastatic2]A::a010110
+ ldc.i4 110
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int16 [rvastatic2]A::a010111
+ ldc.i4 111
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int16 [rvastatic2]A::a010112
+ ldc.i4 112
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld float32 [rvastatic2]A::a010113
+ ldc.r4 113.0
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int16 [rvastatic2]A::a010114
+ ldc.i4 114
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int8 [rvastatic2]A::a010115
+ ldc.i4 115
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int8 [rvastatic2]A::a010116
+ ldc.i4 116
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int64 [rvastatic2]A::a010117
+ ldc.i8 117
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int8 [rvastatic2]A::a010118
+ ldc.i4 118
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int32 [rvastatic2]A::a010119
+ ldc.i4 119
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld float32 [rvastatic2]A::a010120
+ ldc.r4 120.0
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int16 [rvastatic2]A::a010121
+ ldc.i4 121
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int32 [rvastatic2]A::a010122
+ ldc.i4 122
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 123
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic2]A::a010124
+ ldc.i8 124
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int32 [rvastatic2]A::a010125
+ ldc.i4 125
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ldsfld int64 [rvastatic2]A::a010127
+ ldc.i8 127
+ beq a010128
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010128:
+ ret}
+ .method static void V2() {.maxstack 50
+ ldsflda float32 [rvastatic2]A::a0100
+ ldind.r4
+ ldc.r4 0.0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsflda int16 [rvastatic2]A::a0101
+ ldind.i2
+ ldc.i4 1
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsflda int64 [rvastatic2]A::a0102
+ ldind.i8
+ ldc.i8 2
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsflda int64 [rvastatic2]A::a0103
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsflda float32 [rvastatic2]A::a0104
+ ldind.r4
+ ldc.r4 4.0
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsflda int64 [rvastatic2]A::a0105
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsflda int16 [rvastatic2]A::a0106
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsflda float32 [rvastatic2]A::a0107
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsflda float32 [rvastatic2]A::a0108
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsflda float32 [rvastatic2]A::a0109
+ ldind.r4
+ ldc.r4 9.0
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsflda int16 [rvastatic2]A::a01010
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsflda int64 [rvastatic2]A::a01011
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsflda int8 [rvastatic2]A::a01012
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsflda float32 [rvastatic2]A::a01013
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsflda float32 [rvastatic2]A::a01014
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsflda int16 [rvastatic2]A::a01015
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsflda float32 [rvastatic2]A::a01016
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsflda float32 [rvastatic2]A::a01017
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsflda int64 [rvastatic2]A::a01018
+ ldind.i8
+ ldc.i8 18
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsflda int32 [rvastatic2]A::a01019
+ ldind.i4
+ ldc.i4 19
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsflda int64 [rvastatic2]A::a01020
+ ldind.i8
+ ldc.i8 20
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsflda int64 [rvastatic2]A::a01021
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsflda int16 [rvastatic2]A::a01022
+ ldind.i2
+ ldc.i4 22
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsflda int32 [rvastatic2]A::a01023
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsflda int16 [rvastatic2]A::a01024
+ ldind.i2
+ ldc.i4 24
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsflda int64 [rvastatic2]A::a01025
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsflda int16 [rvastatic2]A::a01026
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsflda int64 [rvastatic2]A::a01027
+ ldind.i8
+ ldc.i8 27
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsflda int8 [rvastatic2]A::a01028
+ ldind.i1
+ ldc.i4 28
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsflda int8 [rvastatic2]A::a01029
+ ldind.i1
+ ldc.i4 29
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsflda int8 [rvastatic2]A::a01030
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsflda float32 [rvastatic2]A::a01031
+ ldind.r4
+ ldc.r4 31.0
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsflda int64 [rvastatic2]A::a01032
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsflda int32 [rvastatic2]A::a01033
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsflda float32 [rvastatic2]A::a01034
+ ldind.r4
+ ldc.r4 34.0
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsflda int8 [rvastatic2]A::a01035
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsflda int32 [rvastatic2]A::a01036
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsflda int32 [rvastatic2]A::a01037
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsflda int64 [rvastatic2]A::a01038
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsflda int16 [rvastatic2]A::a01039
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsflda int32 [rvastatic2]A::a01040
+ ldind.i4
+ ldc.i4 40
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsflda int32 [rvastatic2]A::a01041
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsflda int32 [rvastatic2]A::a01042
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsflda int16 [rvastatic2]A::a01043
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsflda int64 [rvastatic2]A::a01044
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsflda float32 [rvastatic2]A::a01045
+ ldind.r4
+ ldc.r4 45.0
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsflda int32 [rvastatic2]A::a01046
+ ldind.i4
+ ldc.i4 46
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsflda float32 [rvastatic2]A::a01047
+ ldind.r4
+ ldc.r4 47.0
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsflda float32 [rvastatic2]A::a01048
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsflda int8 [rvastatic2]A::a01049
+ ldind.i1
+ ldc.i4 49
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsflda int32 [rvastatic2]A::a01050
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsflda int64 [rvastatic2]A::a01051
+ ldind.i8
+ ldc.i8 51
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsflda int16 [rvastatic2]A::a01052
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsflda int8 [rvastatic2]A::a01053
+ ldind.i1
+ ldc.i4 53
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsflda int16 [rvastatic2]A::a01054
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsflda int16 [rvastatic2]A::a01055
+ ldind.i2
+ ldc.i4 55
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsflda int8 [rvastatic2]A::a01056
+ ldind.i1
+ ldc.i4 56
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsflda int8 [rvastatic2]A::a01057
+ ldind.i1
+ ldc.i4 57
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsflda int16 [rvastatic2]A::a01058
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsflda int16 [rvastatic2]A::a01059
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsflda int32 [rvastatic2]A::a01060
+ ldind.i4
+ ldc.i4 60
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsflda int64 [rvastatic2]A::a01061
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsflda int64 [rvastatic2]A::a01062
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsflda int64 [rvastatic2]A::a01063
+ ldind.i8
+ ldc.i8 63
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsflda float32 [rvastatic2]A::a01064
+ ldind.r4
+ ldc.r4 64.0
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsflda int32 [rvastatic2]A::a01065
+ ldind.i4
+ ldc.i4 65
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsflda float32 [rvastatic2]A::a01066
+ ldind.r4
+ ldc.r4 66.0
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsflda int64 [rvastatic2]A::a01067
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsflda int8 [rvastatic2]A::a01068
+ ldind.i1
+ ldc.i4 68
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsflda int64 [rvastatic2]A::a01069
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsflda float32 [rvastatic2]A::a01070
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsflda int16 [rvastatic2]A::a01071
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsflda int8 [rvastatic2]A::a01072
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsflda int32 [rvastatic2]A::a01073
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsflda float32 [rvastatic2]A::a01074
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsflda int16 [rvastatic2]A::a01075
+ ldind.i2
+ ldc.i4 75
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsflda int8 [rvastatic2]A::a01076
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsflda float32 [rvastatic2]A::a01077
+ ldind.r4
+ ldc.r4 77.0
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsflda float32 [rvastatic2]A::a01078
+ ldind.r4
+ ldc.r4 78.0
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsflda int16 [rvastatic2]A::a01079
+ ldind.i2
+ ldc.i4 79
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsflda int8 [rvastatic2]A::a01080
+ ldind.i1
+ ldc.i4 80
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsflda int32 [rvastatic2]A::a01081
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsflda int64 [rvastatic2]A::a01082
+ ldind.i8
+ ldc.i8 82
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsflda int8 [rvastatic2]A::a01083
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsflda int64 [rvastatic2]A::a01084
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsflda int16 [rvastatic2]A::a01085
+ ldind.i2
+ ldc.i4 85
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsflda int32 [rvastatic2]A::a01086
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsflda int32 [rvastatic2]A::a01087
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsflda int16 [rvastatic2]A::a01088
+ ldind.i2
+ ldc.i4 88
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsflda int32 [rvastatic2]A::a01089
+ ldind.i4
+ ldc.i4 89
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsflda int8 [rvastatic2]A::a01090
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsflda int16 [rvastatic2]A::a01091
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsflda int8 [rvastatic2]A::a01092
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsflda int32 [rvastatic2]A::a01093
+ ldind.i4
+ ldc.i4 93
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsflda int64 [rvastatic2]A::a01094
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsflda int64 [rvastatic2]A::a01095
+ ldind.i8
+ ldc.i8 95
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsflda int64 [rvastatic2]A::a01096
+ ldind.i8
+ ldc.i8 96
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsflda int64 [rvastatic2]A::a01097
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsflda int32 [rvastatic2]A::a01098
+ ldind.i4
+ ldc.i4 98
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsflda int16 [rvastatic2]A::a01099
+ ldind.i2
+ ldc.i4 99
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsflda int8 [rvastatic2]A::a010100
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsflda float32 [rvastatic2]A::a010101
+ ldind.r4
+ ldc.r4 101.0
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsflda float32 [rvastatic2]A::a010102
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsflda int8 [rvastatic2]A::a010103
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsflda int16 [rvastatic2]A::a010104
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsflda int8 [rvastatic2]A::a010105
+ ldind.i1
+ ldc.i4 105
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsflda int32 [rvastatic2]A::a010106
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsflda float32 [rvastatic2]A::a010107
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsflda int16 [rvastatic2]A::a010108
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsflda int8 [rvastatic2]A::a010109
+ ldind.i1
+ ldc.i4 109
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsflda int8 [rvastatic2]A::a010110
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsflda int16 [rvastatic2]A::a010111
+ ldind.i2
+ ldc.i4 111
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsflda int16 [rvastatic2]A::a010112
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsflda float32 [rvastatic2]A::a010113
+ ldind.r4
+ ldc.r4 113.0
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsflda int16 [rvastatic2]A::a010114
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsflda int8 [rvastatic2]A::a010115
+ ldind.i1
+ ldc.i4 115
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsflda int8 [rvastatic2]A::a010116
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsflda int64 [rvastatic2]A::a010117
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsflda int8 [rvastatic2]A::a010118
+ ldind.i1
+ ldc.i4 118
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsflda int32 [rvastatic2]A::a010119
+ ldind.i4
+ ldc.i4 119
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsflda float32 [rvastatic2]A::a010120
+ ldind.r4
+ ldc.r4 120.0
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsflda int16 [rvastatic2]A::a010121
+ ldind.i2
+ ldc.i4 121
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsflda int32 [rvastatic2]A::a010122
+ ldind.i4
+ ldc.i4 122
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsflda int32 [rvastatic2]A::a010123
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsflda int64 [rvastatic2]A::a010124
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsflda int32 [rvastatic2]A::a010125
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsflda int8 [rvastatic2]A::a010126
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsflda int64 [rvastatic2]A::a010127
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static void V3() {.maxstack 50
+ ldsfld int64 [rvastatic2]A::a01069
+ ldc.i8 69
+ beq a010129
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010129:
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 34.0
+ beq a010130
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010130:
+ ldsfld int8 [rvastatic2]A::a01029
+ ldc.i4 29
+ beq a010131
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010131:
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 75
+ beq a010132
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010132:
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 83
+ beq a010133
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010133:
+ ldsfld int32 [rvastatic2]A::a01093
+ ldc.i4 93
+ beq a010134
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010134:
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 75
+ beq a010135
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010135:
+ ldsfld int16 [rvastatic2]A::a010108
+ ldc.i4 108
+ beq a010136
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010136:
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 81
+ beq a010137
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010137:
+ ldsfld int32 [rvastatic2]A::a01040
+ ldc.i4 40
+ beq a010138
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010138:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010139
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010139:
+ ldsfld float32 [rvastatic2]A::a01047
+ ldc.r4 47.0
+ beq a010140
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010140:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 94
+ beq a010141
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010141:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010142
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010142:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010143
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010143:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010144
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010144:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 92
+ beq a010145
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010145:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 94
+ beq a010146
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010146:
+ ldsfld int32 [rvastatic2]A::a010125
+ ldc.i4 125
+ beq a010147
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010147:
+ ldsfld float32 [rvastatic2]A::a01078
+ ldc.r4 78.0
+ beq a010148
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010148:
+ ldsfld float32 [rvastatic2]A::a01016
+ ldc.r4 16.0
+ beq a010149
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010149:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 38
+ beq a010150
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010150:
+ ldsfld int8 [rvastatic2]A::a010109
+ ldc.i4 109
+ beq a010151
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010151:
+ ldsfld int64 [rvastatic2]A::a01061
+ ldc.i8 61
+ beq a010152
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010152:
+ ldsfld int32 [rvastatic2]A::a01037
+ ldc.i4 37
+ beq a010153
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010153:
+ ldsfld int8 [rvastatic2]A::a01049
+ ldc.i4 49
+ beq a010154
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010154:
+ ldsfld int64 [rvastatic2]A::a01097
+ ldc.i8 97
+ beq a010155
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010155:
+ ldsfld int32 [rvastatic2]A::a010122
+ ldc.i4 122
+ beq a010156
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010156:
+ ldsfld float32 [rvastatic2]A::a010113
+ ldc.r4 113.0
+ beq a010157
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010157:
+ ldsfld float32 [rvastatic2]A::a0109
+ ldc.r4 9.0
+ beq a010158
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010158:
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 11
+ beq a010159
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010159:
+ ldsfld int16 [rvastatic2]A::a01059
+ ldc.i4 59
+ beq a010160
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010160:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 92
+ beq a010161
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010161:
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 123
+ beq a010162
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010162:
+ ldsfld int16 [rvastatic2]A::a01099
+ ldc.i4 99
+ beq a010163
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010163:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 92
+ beq a010164
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010164:
+ ldsfld int64 [rvastatic2]A::a010127
+ ldc.i8 127
+ beq a010165
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010165:
+ ldsfld int16 [rvastatic2]A::a01058
+ ldc.i4 58
+ beq a010166
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010166:
+ ldsfld float32 [rvastatic2]A::a01045
+ ldc.r4 45.0
+ beq a010167
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010167:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010168
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010168:
+ ldsfld float32 [rvastatic2]A::a01066
+ ldc.r4 66.0
+ beq a010169
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010169:
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 75
+ beq a010170
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010170:
+ ldsfld float32 [rvastatic2]A::a01045
+ ldc.r4 45.0
+ beq a010171
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010171:
+ ldsfld float32 [rvastatic2]A::a010120
+ ldc.r4 120.0
+ beq a010172
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010172:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010173
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010173:
+ ldsfld int64 [rvastatic2]A::a01020
+ ldc.i8 20
+ beq a010174
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010174:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010175
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010175:
+ ldsfld int64 [rvastatic2]A::a01069
+ ldc.i8 69
+ beq a010176
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010176:
+ ldsfld int8 [rvastatic2]A::a010118
+ ldc.i4 118
+ beq a010177
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010177:
+ ldsfld int8 [rvastatic2]A::a01057
+ ldc.i4 57
+ beq a010178
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010178:
+ ldsfld int64 [rvastatic2]A::a0103
+ ldc.i8 3
+ beq a010179
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010179:
+ ldsfld int8 [rvastatic2]A::a01056
+ ldc.i4 56
+ beq a010180
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010180:
+ ldsfld int32 [rvastatic2]A::a01073
+ ldc.i4 73
+ beq a010181
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010181:
+ ldsfld int8 [rvastatic2]A::a010103
+ ldc.i4 103
+ beq a010182
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010182:
+ ldsfld int16 [rvastatic2]A::a01022
+ ldc.i4 22
+ beq a010183
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010183:
+ ldsfld float32 [rvastatic2]A::a01031
+ ldc.r4 31.0
+ beq a010184
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010184:
+ ldsfld int8 [rvastatic2]A::a01053
+ ldc.i4 53
+ beq a010185
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010185:
+ ldsfld int64 [rvastatic2]A::a01095
+ ldc.i8 95
+ beq a010186
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010186:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 38
+ beq a010187
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010187:
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 34.0
+ beq a010188
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010188:
+ ldsfld int64 [rvastatic2]A::a010124
+ ldc.i8 124
+ beq a010189
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010189:
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 81
+ beq a010190
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010190:
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 123
+ beq a010191
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010191:
+ ldsfld int8 [rvastatic2]A::a01072
+ ldc.i4 72
+ beq a010192
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010192:
+ ldsfld int8 [rvastatic2]A::a01028
+ ldc.i4 28
+ beq a010193
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010193:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 94
+ beq a010194
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010194:
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 83
+ beq a010195
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010195:
+ ldsfld int32 [rvastatic2]A::a01098
+ ldc.i4 98
+ beq a010196
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010196:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010197
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010197:
+ ldsfld int64 [rvastatic2]A::a01062
+ ldc.i8 62
+ beq a010198
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010198:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 26
+ beq a010199
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010199:
+ ldsfld int32 [rvastatic2]A::a01033
+ ldc.i4 33
+ beq a010200
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010200:
+ ldsfld float32 [rvastatic2]A::a01048
+ ldc.r4 48.0
+ beq a010201
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010201:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010202
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010202:
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 11
+ beq a010203
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010203:
+ ldsfld int8 [rvastatic2]A::a01068
+ ldc.i4 68
+ beq a010204
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010204:
+ ldsfld float32 [rvastatic2]A::a010120
+ ldc.r4 120.0
+ beq a010205
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010205:
+ ldsfld int64 [rvastatic2]A::a010117
+ ldc.i8 117
+ beq a010206
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010206:
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 34.0
+ beq a010207
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010207:
+ ldsfld float32 [rvastatic2]A::a01016
+ ldc.r4 16.0
+ beq a010208
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010208:
+ ldsfld int32 [rvastatic2]A::a01050
+ ldc.i4 50
+ beq a010209
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010209:
+ ldsfld int64 [rvastatic2]A::a01027
+ ldc.i8 27
+ beq a010210
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010210:
+ ldsfld float32 [rvastatic2]A::a0104
+ ldc.r4 4.0
+ beq a010211
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010211:
+ ldsfld int16 [rvastatic2]A::a01055
+ ldc.i4 55
+ beq a010212
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010212:
+ ldsfld int16 [rvastatic2]A::a0106
+ ldc.i4 6
+ beq a010213
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010213:
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 83
+ beq a010214
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010214:
+ ldsfld int16 [rvastatic2]A::a010114
+ ldc.i4 114
+ beq a010215
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010215:
+ ldsfld int8 [rvastatic2]A::a010116
+ ldc.i4 116
+ beq a010216
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010216:
+ ldsfld int8 [rvastatic2]A::a010100
+ ldc.i4 100
+ beq a010217
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010217:
+ ldsfld int64 [rvastatic2]A::a01067
+ ldc.i8 67
+ beq a010218
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010218:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 38
+ beq a010219
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010219:
+ ldsfld float32 [rvastatic2]A::a01031
+ ldc.r4 31.0
+ beq a010220
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010220:
+ ldsfld int64 [rvastatic2]A::a01020
+ ldc.i8 20
+ beq a010221
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010221:
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 11
+ beq a010222
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010222:
+ ldsfld int16 [rvastatic2]A::a0101
+ ldc.i4 1
+ beq a010223
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010223:
+ ldsfld float32 [rvastatic2]A::a010113
+ ldc.r4 113.0
+ beq a010224
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010224:
+ ldsfld int8 [rvastatic2]A::a01080
+ ldc.i4 80
+ beq a010225
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010225:
+ ldsfld float32 [rvastatic2]A::a010101
+ ldc.r4 101.0
+ beq a010226
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010226:
+ ldsfld int16 [rvastatic2]A::a01091
+ ldc.i4 91
+ beq a010227
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010227:
+ ldsfld int16 [rvastatic2]A::a01059
+ ldc.i4 59
+ beq a010228
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010228:
+ ldsfld int32 [rvastatic2]A::a01065
+ ldc.i4 65
+ beq a010229
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010229:
+ ldsfld int64 [rvastatic2]A::a01027
+ ldc.i8 27
+ beq a010230
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010230:
+ ldsfld int32 [rvastatic2]A::a01042
+ ldc.i4 42
+ beq a010231
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010231:
+ ldsfld int8 [rvastatic2]A::a01056
+ ldc.i4 56
+ beq a010232
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010232:
+ ldsfld int8 [rvastatic2]A::a01030
+ ldc.i4 30
+ beq a010233
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010233:
+ ldsfld int64 [rvastatic2]A::a01097
+ ldc.i8 97
+ beq a010234
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010234:
+ ldsfld float32 [rvastatic2]A::a0107
+ ldc.r4 7.0
+ beq a010235
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010235:
+ ldsfld float32 [rvastatic2]A::a01074
+ ldc.r4 74.0
+ beq a010236
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010236:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 92
+ beq a010237
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010237:
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 81
+ beq a010238
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010238:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 38
+ beq a010239
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010239:
+ ldsfld float32 [rvastatic2]A::a01064
+ ldc.r4 64.0
+ beq a010240
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010240:
+ ldsfld int32 [rvastatic2]A::a01060
+ ldc.i4 60
+ beq a010241
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010241:
+ ldsfld int64 [rvastatic2]A::a01021
+ ldc.i8 21
+ beq a010242
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010242:
+ ldsfld int16 [rvastatic2]A::a010111
+ ldc.i4 111
+ beq a010243
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010243:
+ ldsfld int64 [rvastatic2]A::a01096
+ ldc.i8 96
+ beq a010244
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010244:
+ ldsfld int8 [rvastatic2]A::a01076
+ ldc.i4 76
+ beq a010245
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010245:
+ ldsfld int64 [rvastatic2]A::a01067
+ ldc.i8 67
+ beq a010246
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010246:
+ ldsfld float32 [rvastatic2]A::a01066
+ ldc.r4 66.0
+ beq a010247
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010247:
+ ldsfld int32 [rvastatic2]A::a01073
+ ldc.i4 73
+ beq a010248
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010248:
+ ldsfld int16 [rvastatic2]A::a010108
+ ldc.i4 108
+ beq a010249
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010249:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 94
+ beq a010250
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010250:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 6
+ beq a010251
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010251:
+ ldsfld int32 [rvastatic2]A::a01086
+ ldc.i4 86
+ beq a010252
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010252:
+ ldsfld int32 [rvastatic2]A::a01023
+ ldc.i4 23
+ beq a010253
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010253:
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 123
+ beq a010254
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010254:
+ ldsfld float32 [rvastatic2]A::a01013
+ ldc.r4 13.0
+ beq a010255
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010255:
+ ldsfld int32 [rvastatic2]A::a01037
+ ldc.i4 37
+ beq a010256
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010256:
+ ret}
+ .method static void V4() {.maxstack 50
+ ldsflda float32 [rvastatic2]A::a0100
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 0.0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int16 [rvastatic2]A::a0101
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda int64 [rvastatic2]A::a0102
+ conv.i8
+ ldc.i8 31175
+ add
+ conv.i8
+ ldc.i8 31175
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 2
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int64 [rvastatic2]A::a0103
+ conv.i8
+ ldc.i8 25366
+ add
+ conv.i8
+ ldc.i8 25366
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda float32 [rvastatic2]A::a0104
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 4.0
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int64 [rvastatic2]A::a0105
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic2]A::a0106
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic2]A::a0107
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda float32 [rvastatic2]A::a0108
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda float32 [rvastatic2]A::a0109
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 9.0
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int16 [rvastatic2]A::a01010
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int64 [rvastatic2]A::a01011
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int8 [rvastatic2]A::a01012
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda float32 [rvastatic2]A::a01013
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda float32 [rvastatic2]A::a01014
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic2]A::a01015
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic2]A::a01016
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda float32 [rvastatic2]A::a01017
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int64 [rvastatic2]A::a01018
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int32 [rvastatic2]A::a01019
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int64 [rvastatic2]A::a01020
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int64 [rvastatic2]A::a01021
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int16 [rvastatic2]A::a01022
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic2]A::a01023
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int16 [rvastatic2]A::a01024
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic2]A::a01025
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic2]A::a01026
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int64 [rvastatic2]A::a01027
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int8 [rvastatic2]A::a01028
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int8 [rvastatic2]A::a01029
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int8 [rvastatic2]A::a01030
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda float32 [rvastatic2]A::a01031
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 31.0
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int64 [rvastatic2]A::a01032
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int32 [rvastatic2]A::a01033
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda float32 [rvastatic2]A::a01034
+ conv.i8
+ ldc.i8 29824
+ add
+ conv.i8
+ ldc.i8 29824
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 34.0
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int8 [rvastatic2]A::a01035
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic2]A::a01036
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic2]A::a01037
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int64 [rvastatic2]A::a01038
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int16 [rvastatic2]A::a01039
+ conv.i8
+ ldc.i8 52610
+ add
+ conv.i8
+ ldc.i8 52610
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int32 [rvastatic2]A::a01040
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic2]A::a01041
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int32 [rvastatic2]A::a01042
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int16 [rvastatic2]A::a01043
+ conv.i8
+ ldc.i8 60189
+ add
+ conv.i8
+ ldc.i8 60189
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int64 [rvastatic2]A::a01044
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda float32 [rvastatic2]A::a01045
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 45.0
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int32 [rvastatic2]A::a01046
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda float32 [rvastatic2]A::a01047
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 47.0
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda float32 [rvastatic2]A::a01048
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int8 [rvastatic2]A::a01049
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic2]A::a01050
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int64 [rvastatic2]A::a01051
+ conv.i8
+ ldc.i8 59842
+ add
+ conv.i8
+ ldc.i8 59842
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int16 [rvastatic2]A::a01052
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int8 [rvastatic2]A::a01053
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int16 [rvastatic2]A::a01054
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int16 [rvastatic2]A::a01055
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda int8 [rvastatic2]A::a01056
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 56
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int8 [rvastatic2]A::a01057
+ conv.i8
+ ldc.i8 4376
+ add
+ conv.i8
+ ldc.i8 4376
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int16 [rvastatic2]A::a01058
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int16 [rvastatic2]A::a01059
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int32 [rvastatic2]A::a01060
+ conv.i8
+ ldc.i8 61320
+ add
+ conv.i8
+ ldc.i8 61320
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int64 [rvastatic2]A::a01061
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic2]A::a01062
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int64 [rvastatic2]A::a01063
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda float32 [rvastatic2]A::a01064
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 64.0
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int32 [rvastatic2]A::a01065
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda float32 [rvastatic2]A::a01066
+ conv.i8
+ ldc.i8 36373
+ add
+ conv.i8
+ ldc.i8 36373
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 66.0
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int64 [rvastatic2]A::a01067
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int8 [rvastatic2]A::a01068
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int64 [rvastatic2]A::a01069
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda float32 [rvastatic2]A::a01070
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic2]A::a01071
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int8 [rvastatic2]A::a01072
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int32 [rvastatic2]A::a01073
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda float32 [rvastatic2]A::a01074
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int16 [rvastatic2]A::a01075
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic2]A::a01076
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda float32 [rvastatic2]A::a01077
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 77.0
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda float32 [rvastatic2]A::a01078
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 78.0
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int16 [rvastatic2]A::a01079
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda int8 [rvastatic2]A::a01080
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 80
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int32 [rvastatic2]A::a01081
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int64 [rvastatic2]A::a01082
+ conv.i8
+ ldc.i8 53099
+ add
+ conv.i8
+ ldc.i8 53099
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int8 [rvastatic2]A::a01083
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int64 [rvastatic2]A::a01084
+ conv.i8
+ ldc.i8 2123
+ add
+ conv.i8
+ ldc.i8 2123
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int16 [rvastatic2]A::a01085
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int32 [rvastatic2]A::a01086
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int32 [rvastatic2]A::a01087
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int16 [rvastatic2]A::a01088
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int32 [rvastatic2]A::a01089
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic2]A::a01090
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int16 [rvastatic2]A::a01091
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int8 [rvastatic2]A::a01092
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int32 [rvastatic2]A::a01093
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int64 [rvastatic2]A::a01094
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int64 [rvastatic2]A::a01095
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int64 [rvastatic2]A::a01096
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int64 [rvastatic2]A::a01097
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int32 [rvastatic2]A::a01098
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int16 [rvastatic2]A::a01099
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int8 [rvastatic2]A::a010100
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda float32 [rvastatic2]A::a010101
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 101.0
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda float32 [rvastatic2]A::a010102
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int8 [rvastatic2]A::a010103
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int16 [rvastatic2]A::a010104
+ conv.i8
+ ldc.i8 30275
+ add
+ conv.i8
+ ldc.i8 30275
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int8 [rvastatic2]A::a010105
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int32 [rvastatic2]A::a010106
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda float32 [rvastatic2]A::a010107
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int16 [rvastatic2]A::a010108
+ conv.i8
+ ldc.i8 12994
+ add
+ conv.i8
+ ldc.i8 12994
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int8 [rvastatic2]A::a010109
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int8 [rvastatic2]A::a010110
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int16 [rvastatic2]A::a010111
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int16 [rvastatic2]A::a010112
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda float32 [rvastatic2]A::a010113
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 113.0
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int16 [rvastatic2]A::a010114
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int8 [rvastatic2]A::a010115
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int8 [rvastatic2]A::a010116
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic2]A::a010117
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int8 [rvastatic2]A::a010118
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int32 [rvastatic2]A::a010119
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda float32 [rvastatic2]A::a010120
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 120.0
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int16 [rvastatic2]A::a010121
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int32 [rvastatic2]A::a010122
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int32 [rvastatic2]A::a010123
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic2]A::a010124
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int32 [rvastatic2]A::a010125
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int8 [rvastatic2]A::a010126
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int64 [rvastatic2]A::a010127
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V5() {.maxstack 50
+ ldsflda float32 [rvastatic2]A::a0100
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 0.0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int16 [rvastatic2]A::a0101
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda int64 [rvastatic2]A::a0102
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 2
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int64 [rvastatic2]A::a0103
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda float32 [rvastatic2]A::a0104
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 4.0
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int64 [rvastatic2]A::a0105
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic2]A::a0106
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic2]A::a0107
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda float32 [rvastatic2]A::a0108
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 8.0
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda float32 [rvastatic2]A::a0109
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 9.0
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int16 [rvastatic2]A::a01010
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int64 [rvastatic2]A::a01011
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int8 [rvastatic2]A::a01012
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda float32 [rvastatic2]A::a01013
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda float32 [rvastatic2]A::a01014
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic2]A::a01015
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic2]A::a01016
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda float32 [rvastatic2]A::a01017
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int64 [rvastatic2]A::a01018
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int32 [rvastatic2]A::a01019
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int64 [rvastatic2]A::a01020
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int64 [rvastatic2]A::a01021
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int16 [rvastatic2]A::a01022
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic2]A::a01023
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int16 [rvastatic2]A::a01024
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic2]A::a01025
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic2]A::a01026
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int64 [rvastatic2]A::a01027
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int8 [rvastatic2]A::a01028
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int8 [rvastatic2]A::a01029
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int8 [rvastatic2]A::a01030
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda float32 [rvastatic2]A::a01031
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 31.0
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int64 [rvastatic2]A::a01032
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int32 [rvastatic2]A::a01033
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda float32 [rvastatic2]A::a01034
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 34.0
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int8 [rvastatic2]A::a01035
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic2]A::a01036
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic2]A::a01037
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int64 [rvastatic2]A::a01038
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int16 [rvastatic2]A::a01039
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int32 [rvastatic2]A::a01040
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic2]A::a01041
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int32 [rvastatic2]A::a01042
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int16 [rvastatic2]A::a01043
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int64 [rvastatic2]A::a01044
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda float32 [rvastatic2]A::a01045
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 45.0
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int32 [rvastatic2]A::a01046
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda float32 [rvastatic2]A::a01047
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 47.0
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda float32 [rvastatic2]A::a01048
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int8 [rvastatic2]A::a01049
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic2]A::a01050
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int64 [rvastatic2]A::a01051
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int16 [rvastatic2]A::a01052
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i2
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int8 [rvastatic2]A::a01053
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int16 [rvastatic2]A::a01054
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int16 [rvastatic2]A::a01055
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda int8 [rvastatic2]A::a01056
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 56
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int8 [rvastatic2]A::a01057
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int16 [rvastatic2]A::a01058
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int16 [rvastatic2]A::a01059
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int32 [rvastatic2]A::a01060
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int64 [rvastatic2]A::a01061
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i8
+ ldc.i8 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic2]A::a01062
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int64 [rvastatic2]A::a01063
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda float32 [rvastatic2]A::a01064
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 64.0
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int32 [rvastatic2]A::a01065
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda float32 [rvastatic2]A::a01066
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 66.0
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int64 [rvastatic2]A::a01067
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int8 [rvastatic2]A::a01068
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int64 [rvastatic2]A::a01069
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda float32 [rvastatic2]A::a01070
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic2]A::a01071
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int8 [rvastatic2]A::a01072
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int32 [rvastatic2]A::a01073
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda float32 [rvastatic2]A::a01074
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int16 [rvastatic2]A::a01075
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic2]A::a01076
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda float32 [rvastatic2]A::a01077
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 77.0
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda float32 [rvastatic2]A::a01078
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 78.0
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int16 [rvastatic2]A::a01079
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda int8 [rvastatic2]A::a01080
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 80
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int32 [rvastatic2]A::a01081
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int64 [rvastatic2]A::a01082
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int8 [rvastatic2]A::a01083
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int64 [rvastatic2]A::a01084
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int16 [rvastatic2]A::a01085
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i2
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int32 [rvastatic2]A::a01086
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int32 [rvastatic2]A::a01087
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int16 [rvastatic2]A::a01088
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int32 [rvastatic2]A::a01089
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic2]A::a01090
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int16 [rvastatic2]A::a01091
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int8 [rvastatic2]A::a01092
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int32 [rvastatic2]A::a01093
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int64 [rvastatic2]A::a01094
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int64 [rvastatic2]A::a01095
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int64 [rvastatic2]A::a01096
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i8
+ ldc.i8 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int64 [rvastatic2]A::a01097
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int32 [rvastatic2]A::a01098
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int16 [rvastatic2]A::a01099
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int8 [rvastatic2]A::a010100
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda float32 [rvastatic2]A::a010101
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 101.0
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda float32 [rvastatic2]A::a010102
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int8 [rvastatic2]A::a010103
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int16 [rvastatic2]A::a010104
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int8 [rvastatic2]A::a010105
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int32 [rvastatic2]A::a010106
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i4
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda float32 [rvastatic2]A::a010107
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int16 [rvastatic2]A::a010108
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int8 [rvastatic2]A::a010109
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i1
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int8 [rvastatic2]A::a010110
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int16 [rvastatic2]A::a010111
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int16 [rvastatic2]A::a010112
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda float32 [rvastatic2]A::a010113
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.r4
+ ldc.r4 113.0
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int16 [rvastatic2]A::a010114
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int8 [rvastatic2]A::a010115
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int8 [rvastatic2]A::a010116
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic2]A::a010117
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int8 [rvastatic2]A::a010118
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int32 [rvastatic2]A::a010119
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda float32 [rvastatic2]A::a010120
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.r4
+ ldc.r4 120.0
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int16 [rvastatic2]A::a010121
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i2
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int32 [rvastatic2]A::a010122
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int32 [rvastatic2]A::a010123
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic2]A::a010124
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int32 [rvastatic2]A::a010125
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int8 [rvastatic2]A::a010126
+ conv.r8
+ call native int [rvastatic2]A::Call2(float64)
+ ldind.i1
+ ldc.i4 6
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int64 [rvastatic2]A::a010127
+ conv.i8
+ call native int [rvastatic2]A::Call1(int64)
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V6() {.maxstack 50
+ ldsfld float32 [rvastatic2]A::a0100
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a0100
+ ldsfld float32 [rvastatic2]A::a0100
+ ldc.r4 1.0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsfld int16 [rvastatic2]A::a0101
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a0101
+ ldsfld int16 [rvastatic2]A::a0101
+ ldc.i4 2
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld int64 [rvastatic2]A::a0102
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a0102
+ ldsfld int64 [rvastatic2]A::a0102
+ ldc.i8 3
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int64 [rvastatic2]A::a0103
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a0103
+ ldsfld int64 [rvastatic2]A::a0103
+ ldc.i8 4
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld float32 [rvastatic2]A::a0104
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a0104
+ ldsfld float32 [rvastatic2]A::a0104
+ ldc.r4 5.0
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int64 [rvastatic2]A::a0105
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a0105
+ ldsfld int64 [rvastatic2]A::a0105
+ ldc.i8 6
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int16 [rvastatic2]A::a0106
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a0106
+ ldsfld int16 [rvastatic2]A::a0106
+ ldc.i4 7
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld float32 [rvastatic2]A::a0107
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a0107
+ ldsfld float32 [rvastatic2]A::a0107
+ ldc.r4 8.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld float32 [rvastatic2]A::a0108
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a0108
+ ldsfld float32 [rvastatic2]A::a0108
+ ldc.r4 9.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld float32 [rvastatic2]A::a0109
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a0109
+ ldsfld float32 [rvastatic2]A::a0109
+ ldc.r4 10.0
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int16 [rvastatic2]A::a01010
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01010
+ ldsfld int16 [rvastatic2]A::a01010
+ ldc.i4 11
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01011
+ ldsfld int64 [rvastatic2]A::a01011
+ ldc.i8 12
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int8 [rvastatic2]A::a01012
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01012
+ ldsfld int8 [rvastatic2]A::a01012
+ ldc.i4 13
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld float32 [rvastatic2]A::a01013
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01013
+ ldsfld float32 [rvastatic2]A::a01013
+ ldc.r4 14.0
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld float32 [rvastatic2]A::a01014
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01014
+ ldsfld float32 [rvastatic2]A::a01014
+ ldc.r4 15.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int16 [rvastatic2]A::a01015
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01015
+ ldsfld int16 [rvastatic2]A::a01015
+ ldc.i4 16
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld float32 [rvastatic2]A::a01016
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01016
+ ldsfld float32 [rvastatic2]A::a01016
+ ldc.r4 17.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld float32 [rvastatic2]A::a01017
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01017
+ ldsfld float32 [rvastatic2]A::a01017
+ ldc.r4 18.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int64 [rvastatic2]A::a01018
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01018
+ ldsfld int64 [rvastatic2]A::a01018
+ ldc.i8 19
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int32 [rvastatic2]A::a01019
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01019
+ ldsfld int32 [rvastatic2]A::a01019
+ ldc.i4 20
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int64 [rvastatic2]A::a01020
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01020
+ ldsfld int64 [rvastatic2]A::a01020
+ ldc.i8 21
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int64 [rvastatic2]A::a01021
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01021
+ ldsfld int64 [rvastatic2]A::a01021
+ ldc.i8 22
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int16 [rvastatic2]A::a01022
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01022
+ ldsfld int16 [rvastatic2]A::a01022
+ ldc.i4 23
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int32 [rvastatic2]A::a01023
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01023
+ ldsfld int32 [rvastatic2]A::a01023
+ ldc.i4 24
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int16 [rvastatic2]A::a01024
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01024
+ ldsfld int16 [rvastatic2]A::a01024
+ ldc.i4 25
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int64 [rvastatic2]A::a01025
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01025
+ ldsfld int64 [rvastatic2]A::a01025
+ ldc.i8 26
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01026
+ ldsfld int16 [rvastatic2]A::a01026
+ ldc.i4 27
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int64 [rvastatic2]A::a01027
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01027
+ ldsfld int64 [rvastatic2]A::a01027
+ ldc.i8 28
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int8 [rvastatic2]A::a01028
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01028
+ ldsfld int8 [rvastatic2]A::a01028
+ ldc.i4 29
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int8 [rvastatic2]A::a01029
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01029
+ ldsfld int8 [rvastatic2]A::a01029
+ ldc.i4 30
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int8 [rvastatic2]A::a01030
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01030
+ ldsfld int8 [rvastatic2]A::a01030
+ ldc.i4 31
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld float32 [rvastatic2]A::a01031
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01031
+ ldsfld float32 [rvastatic2]A::a01031
+ ldc.r4 32.0
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int64 [rvastatic2]A::a01032
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01032
+ ldsfld int64 [rvastatic2]A::a01032
+ ldc.i8 33
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int32 [rvastatic2]A::a01033
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01033
+ ldsfld int32 [rvastatic2]A::a01033
+ ldc.i4 34
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01034
+ ldsfld float32 [rvastatic2]A::a01034
+ ldc.r4 35.0
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int8 [rvastatic2]A::a01035
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01035
+ ldsfld int8 [rvastatic2]A::a01035
+ ldc.i4 36
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int32 [rvastatic2]A::a01036
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01036
+ ldsfld int32 [rvastatic2]A::a01036
+ ldc.i4 37
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic2]A::a01037
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01037
+ ldsfld int32 [rvastatic2]A::a01037
+ ldc.i4 38
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01038
+ ldsfld int64 [rvastatic2]A::a01038
+ ldc.i8 39
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int16 [rvastatic2]A::a01039
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01039
+ ldsfld int16 [rvastatic2]A::a01039
+ ldc.i4 40
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int32 [rvastatic2]A::a01040
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01040
+ ldsfld int32 [rvastatic2]A::a01040
+ ldc.i4 41
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int32 [rvastatic2]A::a01041
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01041
+ ldsfld int32 [rvastatic2]A::a01041
+ ldc.i4 42
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int32 [rvastatic2]A::a01042
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01042
+ ldsfld int32 [rvastatic2]A::a01042
+ ldc.i4 43
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int16 [rvastatic2]A::a01043
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01043
+ ldsfld int16 [rvastatic2]A::a01043
+ ldc.i4 44
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int64 [rvastatic2]A::a01044
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01044
+ ldsfld int64 [rvastatic2]A::a01044
+ ldc.i8 45
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld float32 [rvastatic2]A::a01045
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01045
+ ldsfld float32 [rvastatic2]A::a01045
+ ldc.r4 46.0
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int32 [rvastatic2]A::a01046
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01046
+ ldsfld int32 [rvastatic2]A::a01046
+ ldc.i4 47
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld float32 [rvastatic2]A::a01047
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01047
+ ldsfld float32 [rvastatic2]A::a01047
+ ldc.r4 48.0
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld float32 [rvastatic2]A::a01048
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01048
+ ldsfld float32 [rvastatic2]A::a01048
+ ldc.r4 49.0
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int8 [rvastatic2]A::a01049
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01049
+ ldsfld int8 [rvastatic2]A::a01049
+ ldc.i4 50
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int32 [rvastatic2]A::a01050
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01050
+ ldsfld int32 [rvastatic2]A::a01050
+ ldc.i4 51
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int64 [rvastatic2]A::a01051
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01051
+ ldsfld int64 [rvastatic2]A::a01051
+ ldc.i8 52
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int16 [rvastatic2]A::a01052
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01052
+ ldsfld int16 [rvastatic2]A::a01052
+ ldc.i4 53
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int8 [rvastatic2]A::a01053
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01053
+ ldsfld int8 [rvastatic2]A::a01053
+ ldc.i4 54
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int16 [rvastatic2]A::a01054
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01054
+ ldsfld int16 [rvastatic2]A::a01054
+ ldc.i4 55
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int16 [rvastatic2]A::a01055
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01055
+ ldsfld int16 [rvastatic2]A::a01055
+ ldc.i4 56
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int8 [rvastatic2]A::a01056
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01056
+ ldsfld int8 [rvastatic2]A::a01056
+ ldc.i4 57
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int8 [rvastatic2]A::a01057
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01057
+ ldsfld int8 [rvastatic2]A::a01057
+ ldc.i4 58
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int16 [rvastatic2]A::a01058
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01058
+ ldsfld int16 [rvastatic2]A::a01058
+ ldc.i4 59
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int16 [rvastatic2]A::a01059
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01059
+ ldsfld int16 [rvastatic2]A::a01059
+ ldc.i4 60
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int32 [rvastatic2]A::a01060
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01060
+ ldsfld int32 [rvastatic2]A::a01060
+ ldc.i4 61
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int64 [rvastatic2]A::a01061
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01061
+ ldsfld int64 [rvastatic2]A::a01061
+ ldc.i8 62
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int64 [rvastatic2]A::a01062
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01062
+ ldsfld int64 [rvastatic2]A::a01062
+ ldc.i8 63
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int64 [rvastatic2]A::a01063
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01063
+ ldsfld int64 [rvastatic2]A::a01063
+ ldc.i8 64
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld float32 [rvastatic2]A::a01064
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01064
+ ldsfld float32 [rvastatic2]A::a01064
+ ldc.r4 65.0
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int32 [rvastatic2]A::a01065
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01065
+ ldsfld int32 [rvastatic2]A::a01065
+ ldc.i4 66
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld float32 [rvastatic2]A::a01066
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01066
+ ldsfld float32 [rvastatic2]A::a01066
+ ldc.r4 67.0
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int64 [rvastatic2]A::a01067
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01067
+ ldsfld int64 [rvastatic2]A::a01067
+ ldc.i8 68
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int8 [rvastatic2]A::a01068
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01068
+ ldsfld int8 [rvastatic2]A::a01068
+ ldc.i4 69
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int64 [rvastatic2]A::a01069
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01069
+ ldsfld int64 [rvastatic2]A::a01069
+ ldc.i8 70
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld float32 [rvastatic2]A::a01070
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01070
+ ldsfld float32 [rvastatic2]A::a01070
+ ldc.r4 71.0
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int16 [rvastatic2]A::a01071
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01071
+ ldsfld int16 [rvastatic2]A::a01071
+ ldc.i4 72
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int8 [rvastatic2]A::a01072
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01072
+ ldsfld int8 [rvastatic2]A::a01072
+ ldc.i4 73
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int32 [rvastatic2]A::a01073
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01073
+ ldsfld int32 [rvastatic2]A::a01073
+ ldc.i4 74
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld float32 [rvastatic2]A::a01074
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01074
+ ldsfld float32 [rvastatic2]A::a01074
+ ldc.r4 75.0
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01075
+ ldsfld int16 [rvastatic2]A::a01075
+ ldc.i4 76
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int8 [rvastatic2]A::a01076
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01076
+ ldsfld int8 [rvastatic2]A::a01076
+ ldc.i4 77
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld float32 [rvastatic2]A::a01077
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01077
+ ldsfld float32 [rvastatic2]A::a01077
+ ldc.r4 78.0
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld float32 [rvastatic2]A::a01078
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a01078
+ ldsfld float32 [rvastatic2]A::a01078
+ ldc.r4 79.0
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int16 [rvastatic2]A::a01079
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01079
+ ldsfld int16 [rvastatic2]A::a01079
+ ldc.i4 80
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld int8 [rvastatic2]A::a01080
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01080
+ ldsfld int8 [rvastatic2]A::a01080
+ ldc.i4 81
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01081
+ ldsfld int32 [rvastatic2]A::a01081
+ ldc.i4 82
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int64 [rvastatic2]A::a01082
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01082
+ ldsfld int64 [rvastatic2]A::a01082
+ ldc.i8 83
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01083
+ ldsfld int8 [rvastatic2]A::a01083
+ ldc.i4 84
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int64 [rvastatic2]A::a01084
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01084
+ ldsfld int64 [rvastatic2]A::a01084
+ ldc.i8 85
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int16 [rvastatic2]A::a01085
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01085
+ ldsfld int16 [rvastatic2]A::a01085
+ ldc.i4 86
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int32 [rvastatic2]A::a01086
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01086
+ ldsfld int32 [rvastatic2]A::a01086
+ ldc.i4 87
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int32 [rvastatic2]A::a01087
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01087
+ ldsfld int32 [rvastatic2]A::a01087
+ ldc.i4 88
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int16 [rvastatic2]A::a01088
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01088
+ ldsfld int16 [rvastatic2]A::a01088
+ ldc.i4 89
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int32 [rvastatic2]A::a01089
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01089
+ ldsfld int32 [rvastatic2]A::a01089
+ ldc.i4 90
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int8 [rvastatic2]A::a01090
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01090
+ ldsfld int8 [rvastatic2]A::a01090
+ ldc.i4 91
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int16 [rvastatic2]A::a01091
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01091
+ ldsfld int16 [rvastatic2]A::a01091
+ ldc.i4 92
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a01092
+ ldsfld int8 [rvastatic2]A::a01092
+ ldc.i4 93
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int32 [rvastatic2]A::a01093
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01093
+ ldsfld int32 [rvastatic2]A::a01093
+ ldc.i4 94
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01094
+ ldsfld int64 [rvastatic2]A::a01094
+ ldc.i8 95
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int64 [rvastatic2]A::a01095
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01095
+ ldsfld int64 [rvastatic2]A::a01095
+ ldc.i8 96
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int64 [rvastatic2]A::a01096
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01096
+ ldsfld int64 [rvastatic2]A::a01096
+ ldc.i8 97
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int64 [rvastatic2]A::a01097
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a01097
+ ldsfld int64 [rvastatic2]A::a01097
+ ldc.i8 98
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int32 [rvastatic2]A::a01098
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a01098
+ ldsfld int32 [rvastatic2]A::a01098
+ ldc.i4 99
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int16 [rvastatic2]A::a01099
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a01099
+ ldsfld int16 [rvastatic2]A::a01099
+ ldc.i4 100
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int8 [rvastatic2]A::a010100
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010100
+ ldsfld int8 [rvastatic2]A::a010100
+ ldc.i4 101
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld float32 [rvastatic2]A::a010101
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a010101
+ ldsfld float32 [rvastatic2]A::a010101
+ ldc.r4 102.0
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld float32 [rvastatic2]A::a010102
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a010102
+ ldsfld float32 [rvastatic2]A::a010102
+ ldc.r4 103.0
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int8 [rvastatic2]A::a010103
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010103
+ ldsfld int8 [rvastatic2]A::a010103
+ ldc.i4 104
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int16 [rvastatic2]A::a010104
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010104
+ ldsfld int16 [rvastatic2]A::a010104
+ ldc.i4 105
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int8 [rvastatic2]A::a010105
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010105
+ ldsfld int8 [rvastatic2]A::a010105
+ ldc.i4 106
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int32 [rvastatic2]A::a010106
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a010106
+ ldsfld int32 [rvastatic2]A::a010106
+ ldc.i4 107
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld float32 [rvastatic2]A::a010107
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a010107
+ ldsfld float32 [rvastatic2]A::a010107
+ ldc.r4 108.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int16 [rvastatic2]A::a010108
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010108
+ ldsfld int16 [rvastatic2]A::a010108
+ ldc.i4 109
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int8 [rvastatic2]A::a010109
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010109
+ ldsfld int8 [rvastatic2]A::a010109
+ ldc.i4 110
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int8 [rvastatic2]A::a010110
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010110
+ ldsfld int8 [rvastatic2]A::a010110
+ ldc.i4 111
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int16 [rvastatic2]A::a010111
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010111
+ ldsfld int16 [rvastatic2]A::a010111
+ ldc.i4 112
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int16 [rvastatic2]A::a010112
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010112
+ ldsfld int16 [rvastatic2]A::a010112
+ ldc.i4 113
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld float32 [rvastatic2]A::a010113
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a010113
+ ldsfld float32 [rvastatic2]A::a010113
+ ldc.r4 114.0
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int16 [rvastatic2]A::a010114
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010114
+ ldsfld int16 [rvastatic2]A::a010114
+ ldc.i4 115
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int8 [rvastatic2]A::a010115
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010115
+ ldsfld int8 [rvastatic2]A::a010115
+ ldc.i4 116
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int8 [rvastatic2]A::a010116
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010116
+ ldsfld int8 [rvastatic2]A::a010116
+ ldc.i4 117
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int64 [rvastatic2]A::a010117
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a010117
+ ldsfld int64 [rvastatic2]A::a010117
+ ldc.i8 118
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int8 [rvastatic2]A::a010118
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010118
+ ldsfld int8 [rvastatic2]A::a010118
+ ldc.i4 119
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int32 [rvastatic2]A::a010119
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a010119
+ ldsfld int32 [rvastatic2]A::a010119
+ ldc.i4 120
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld float32 [rvastatic2]A::a010120
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic2]A::a010120
+ ldsfld float32 [rvastatic2]A::a010120
+ ldc.r4 121.0
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int16 [rvastatic2]A::a010121
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic2]A::a010121
+ ldsfld int16 [rvastatic2]A::a010121
+ ldc.i4 122
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int32 [rvastatic2]A::a010122
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a010122
+ ldsfld int32 [rvastatic2]A::a010122
+ ldc.i4 123
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a010123
+ ldsfld int32 [rvastatic2]A::a010123
+ ldc.i4 124
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int64 [rvastatic2]A::a010124
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a010124
+ ldsfld int64 [rvastatic2]A::a010124
+ ldc.i8 125
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int32 [rvastatic2]A::a010125
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic2]A::a010125
+ ldsfld int32 [rvastatic2]A::a010125
+ ldc.i4 126
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic2]A::a010126
+ ldsfld int8 [rvastatic2]A::a010126
+ ldc.i4 7
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int64 [rvastatic2]A::a010127
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic2]A::a010127
+ ldsfld int64 [rvastatic2]A::a010127
+ ldc.i8 128
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static int32 Main(string[] args){.entrypoint .maxstack 5
+ call void [rvastatic2]A::V1()
+ call void [rvastatic2]A::V2()
+ call void [rvastatic2]A::V3()
+ call void [rvastatic2]A::V4()
+ call void [rvastatic2]A::V5()
+ call void [rvastatic2]A::V6()
+ ldc.i4 100
+ ret}
+.field public static float32 a0100 at b0100
+.field private static int32 aALIGN10100 at bALIGN10100
+.field public static int16 a0101 at b0101
+.field private static int16 aALIGN10101 at bALIGN10101
+.field private static int32 aALIGN20101 at bALIGN20101
+.field public static int64 a0102 at b0102
+.field public static int64 a0103 at b0103
+.field public static float32 a0104 at b0104
+.field private static int32 aALIGN10104 at bALIGN10104
+.field public static int64 a0105 at b0105
+.field public static int16 a0106 at b0106
+.field private static int16 aALIGN10106 at bALIGN10106
+.field private static int32 aALIGN20106 at bALIGN20106
+.field public static float32 a0107 at b0107
+.field private static int32 aALIGN10107 at bALIGN10107
+.field public static float32 a0108 at b0108
+.field private static int32 aALIGN10108 at bALIGN10108
+.field public static float32 a0109 at b0109
+.field private static int32 aALIGN10109 at bALIGN10109
+.field public static int16 a01010 at b01010
+.field private static int16 aALIGN101010 at bALIGN101010
+.field private static int32 aALIGN201010 at bALIGN201010
+.field public static int64 a01011 at b01011
+.field public static int8 a01012 at b01012
+.field private static int32 aALIGN101012 at bALIGN101012
+.field private static int16 aALIGN201012 at bALIGN201012
+.field private static int8 aALIGN201012 at bALIGN301012
+.field public static float32 a01013 at b01013
+.field private static int32 aALIGN101013 at bALIGN101013
+.field public static float32 a01014 at b01014
+.field private static int32 aALIGN101014 at bALIGN101014
+.field public static int16 a01015 at b01015
+.field private static int16 aALIGN101015 at bALIGN101015
+.field private static int32 aALIGN201015 at bALIGN201015
+.field public static float32 a01016 at b01016
+.field private static int32 aALIGN101016 at bALIGN101016
+.field public static float32 a01017 at b01017
+.field private static int32 aALIGN101017 at bALIGN101017
+.field public static int64 a01018 at b01018
+.field public static int32 a01019 at b01019
+.field private static int32 aALIGN101019 at bALIGN101019
+.field public static int64 a01020 at b01020
+.field public static int64 a01021 at b01021
+.field public static int16 a01022 at b01022
+.field private static int16 aALIGN101022 at bALIGN101022
+.field private static int32 aALIGN201022 at bALIGN201022
+.field public static int32 a01023 at b01023
+.field private static int32 aALIGN101023 at bALIGN101023
+.field public static int16 a01024 at b01024
+.field private static int16 aALIGN101024 at bALIGN101024
+.field private static int32 aALIGN201024 at bALIGN201024
+.field public static int64 a01025 at b01025
+.field public static int16 a01026 at b01026
+.field private static int16 aALIGN101026 at bALIGN101026
+.field private static int32 aALIGN201026 at bALIGN201026
+.field public static int64 a01027 at b01027
+.field public static int8 a01028 at b01028
+.field private static int32 aALIGN101028 at bALIGN101028
+.field private static int16 aALIGN201028 at bALIGN201028
+.field private static int8 aALIGN201028 at bALIGN301028
+.field public static int8 a01029 at b01029
+.field private static int32 aALIGN101029 at bALIGN101029
+.field private static int16 aALIGN201029 at bALIGN201029
+.field private static int8 aALIGN201029 at bALIGN301029
+.field public static int8 a01030 at b01030
+.field private static int32 aALIGN101030 at bALIGN101030
+.field private static int16 aALIGN201030 at bALIGN201030
+.field private static int8 aALIGN201030 at bALIGN301030
+.field public static float32 a01031 at b01031
+.field private static int32 aALIGN101031 at bALIGN101031
+.field public static int64 a01032 at b01032
+.field public static int32 a01033 at b01033
+.field private static int32 aALIGN101033 at bALIGN101033
+.field public static float32 a01034 at b01034
+.field private static int32 aALIGN101034 at bALIGN101034
+.field public static int8 a01035 at b01035
+.field private static int32 aALIGN101035 at bALIGN101035
+.field private static int16 aALIGN201035 at bALIGN201035
+.field private static int8 aALIGN201035 at bALIGN301035
+.field public static int32 a01036 at b01036
+.field private static int32 aALIGN101036 at bALIGN101036
+.field public static int32 a01037 at b01037
+.field private static int32 aALIGN101037 at bALIGN101037
+.field public static int64 a01038 at b01038
+.field public static int16 a01039 at b01039
+.field private static int16 aALIGN101039 at bALIGN101039
+.field private static int32 aALIGN201039 at bALIGN201039
+.field public static int32 a01040 at b01040
+.field private static int32 aALIGN101040 at bALIGN101040
+.field public static int32 a01041 at b01041
+.field private static int32 aALIGN101041 at bALIGN101041
+.field public static int32 a01042 at b01042
+.field private static int32 aALIGN101042 at bALIGN101042
+.field public static int16 a01043 at b01043
+.field private static int16 aALIGN101043 at bALIGN101043
+.field private static int32 aALIGN201043 at bALIGN201043
+.field public static int64 a01044 at b01044
+.field public static float32 a01045 at b01045
+.field private static int32 aALIGN101045 at bALIGN101045
+.field public static int32 a01046 at b01046
+.field private static int32 aALIGN101046 at bALIGN101046
+.field public static float32 a01047 at b01047
+.field private static int32 aALIGN101047 at bALIGN101047
+.field public static float32 a01048 at b01048
+.field private static int32 aALIGN101048 at bALIGN101048
+.field public static int8 a01049 at b01049
+.field private static int32 aALIGN101049 at bALIGN101049
+.field private static int16 aALIGN201049 at bALIGN201049
+.field private static int8 aALIGN201049 at bALIGN301049
+.field public static int32 a01050 at b01050
+.field private static int32 aALIGN101050 at bALIGN101050
+.field public static int64 a01051 at b01051
+.field public static int16 a01052 at b01052
+.field private static int16 aALIGN101052 at bALIGN101052
+.field private static int32 aALIGN201052 at bALIGN201052
+.field public static int8 a01053 at b01053
+.field private static int32 aALIGN101053 at bALIGN101053
+.field private static int16 aALIGN201053 at bALIGN201053
+.field private static int8 aALIGN201053 at bALIGN301053
+.field public static int16 a01054 at b01054
+.field private static int16 aALIGN101054 at bALIGN101054
+.field private static int32 aALIGN201054 at bALIGN201054
+.field public static int16 a01055 at b01055
+.field private static int16 aALIGN101055 at bALIGN101055
+.field private static int32 aALIGN201055 at bALIGN201055
+.field public static int8 a01056 at b01056
+.field private static int32 aALIGN101056 at bALIGN101056
+.field private static int16 aALIGN201056 at bALIGN201056
+.field private static int8 aALIGN201056 at bALIGN301056
+.field public static int8 a01057 at b01057
+.field private static int32 aALIGN101057 at bALIGN101057
+.field private static int16 aALIGN201057 at bALIGN201057
+.field private static int8 aALIGN201057 at bALIGN301057
+.field public static int16 a01058 at b01058
+.field private static int16 aALIGN101058 at bALIGN101058
+.field private static int32 aALIGN201058 at bALIGN201058
+.field public static int16 a01059 at b01059
+.field private static int16 aALIGN101059 at bALIGN101059
+.field private static int32 aALIGN201059 at bALIGN201059
+.field public static int32 a01060 at b01060
+.field private static int32 aALIGN101060 at bALIGN101060
+.field public static int64 a01061 at b01061
+.field public static int64 a01062 at b01062
+.field public static int64 a01063 at b01063
+.field public static float32 a01064 at b01064
+.field private static int32 aALIGN101064 at bALIGN101064
+.field public static int32 a01065 at b01065
+.field private static int32 aALIGN101065 at bALIGN101065
+.field public static float32 a01066 at b01066
+.field private static int32 aALIGN101066 at bALIGN101066
+.field public static int64 a01067 at b01067
+.field public static int8 a01068 at b01068
+.field private static int32 aALIGN101068 at bALIGN101068
+.field private static int16 aALIGN201068 at bALIGN201068
+.field private static int8 aALIGN201068 at bALIGN301068
+.field public static int64 a01069 at b01069
+.field public static float32 a01070 at b01070
+.field private static int32 aALIGN101070 at bALIGN101070
+.field public static int16 a01071 at b01071
+.field private static int16 aALIGN101071 at bALIGN101071
+.field private static int32 aALIGN201071 at bALIGN201071
+.field public static int8 a01072 at b01072
+.field private static int32 aALIGN101072 at bALIGN101072
+.field private static int16 aALIGN201072 at bALIGN201072
+.field private static int8 aALIGN201072 at bALIGN301072
+.field public static int32 a01073 at b01073
+.field private static int32 aALIGN101073 at bALIGN101073
+.field public static float32 a01074 at b01074
+.field private static int32 aALIGN101074 at bALIGN101074
+.field public static int16 a01075 at b01075
+.field private static int16 aALIGN101075 at bALIGN101075
+.field private static int32 aALIGN201075 at bALIGN201075
+.field public static int8 a01076 at b01076
+.field private static int32 aALIGN101076 at bALIGN101076
+.field private static int16 aALIGN201076 at bALIGN201076
+.field private static int8 aALIGN201076 at bALIGN301076
+.field public static float32 a01077 at b01077
+.field private static int32 aALIGN101077 at bALIGN101077
+.field public static float32 a01078 at b01078
+.field private static int32 aALIGN101078 at bALIGN101078
+.field public static int16 a01079 at b01079
+.field private static int16 aALIGN101079 at bALIGN101079
+.field private static int32 aALIGN201079 at bALIGN201079
+.field public static int8 a01080 at b01080
+.field private static int32 aALIGN101080 at bALIGN101080
+.field private static int16 aALIGN201080 at bALIGN201080
+.field private static int8 aALIGN201080 at bALIGN301080
+.field public static int32 a01081 at b01081
+.field private static int32 aALIGN101081 at bALIGN101081
+.field public static int64 a01082 at b01082
+.field public static int8 a01083 at b01083
+.field private static int32 aALIGN101083 at bALIGN101083
+.field private static int16 aALIGN201083 at bALIGN201083
+.field private static int8 aALIGN201083 at bALIGN301083
+.field public static int64 a01084 at b01084
+.field public static int16 a01085 at b01085
+.field private static int16 aALIGN101085 at bALIGN101085
+.field private static int32 aALIGN201085 at bALIGN201085
+.field public static int32 a01086 at b01086
+.field private static int32 aALIGN101086 at bALIGN101086
+.field public static int32 a01087 at b01087
+.field private static int32 aALIGN101087 at bALIGN101087
+.field public static int16 a01088 at b01088
+.field private static int16 aALIGN101088 at bALIGN101088
+.field private static int32 aALIGN201088 at bALIGN201088
+.field public static int32 a01089 at b01089
+.field private static int32 aALIGN101089 at bALIGN101089
+.field public static int8 a01090 at b01090
+.field private static int32 aALIGN101090 at bALIGN101090
+.field private static int16 aALIGN201090 at bALIGN201090
+.field private static int8 aALIGN201090 at bALIGN301090
+.field public static int16 a01091 at b01091
+.field private static int16 aALIGN101091 at bALIGN101091
+.field private static int32 aALIGN201091 at bALIGN201091
+.field public static int8 a01092 at b01092
+.field private static int32 aALIGN101092 at bALIGN101092
+.field private static int16 aALIGN201092 at bALIGN201092
+.field private static int8 aALIGN201092 at bALIGN301092
+.field public static int32 a01093 at b01093
+.field private static int32 aALIGN101093 at bALIGN101093
+.field public static int64 a01094 at b01094
+.field public static int64 a01095 at b01095
+.field public static int64 a01096 at b01096
+.field public static int64 a01097 at b01097
+.field public static int32 a01098 at b01098
+.field private static int32 aALIGN101098 at bALIGN101098
+.field public static int16 a01099 at b01099
+.field private static int16 aALIGN101099 at bALIGN101099
+.field private static int32 aALIGN201099 at bALIGN201099
+.field public static int8 a010100 at b010100
+.field private static int32 aALIGN1010100 at bALIGN1010100
+.field private static int16 aALIGN2010100 at bALIGN2010100
+.field private static int8 aALIGN2010100 at bALIGN3010100
+.field public static float32 a010101 at b010101
+.field private static int32 aALIGN1010101 at bALIGN1010101
+.field public static float32 a010102 at b010102
+.field private static int32 aALIGN1010102 at bALIGN1010102
+.field public static int8 a010103 at b010103
+.field private static int32 aALIGN1010103 at bALIGN1010103
+.field private static int16 aALIGN2010103 at bALIGN2010103
+.field private static int8 aALIGN2010103 at bALIGN3010103
+.field public static int16 a010104 at b010104
+.field private static int16 aALIGN1010104 at bALIGN1010104
+.field private static int32 aALIGN2010104 at bALIGN2010104
+.field public static int8 a010105 at b010105
+.field private static int32 aALIGN1010105 at bALIGN1010105
+.field private static int16 aALIGN2010105 at bALIGN2010105
+.field private static int8 aALIGN2010105 at bALIGN3010105
+.field public static int32 a010106 at b010106
+.field private static int32 aALIGN1010106 at bALIGN1010106
+.field public static float32 a010107 at b010107
+.field private static int32 aALIGN1010107 at bALIGN1010107
+.field public static int16 a010108 at b010108
+.field private static int16 aALIGN1010108 at bALIGN1010108
+.field private static int32 aALIGN2010108 at bALIGN2010108
+.field public static int8 a010109 at b010109
+.field private static int32 aALIGN1010109 at bALIGN1010109
+.field private static int16 aALIGN2010109 at bALIGN2010109
+.field private static int8 aALIGN2010109 at bALIGN3010109
+.field public static int8 a010110 at b010110
+.field private static int32 aALIGN1010110 at bALIGN1010110
+.field private static int16 aALIGN2010110 at bALIGN2010110
+.field private static int8 aALIGN2010110 at bALIGN3010110
+.field public static int16 a010111 at b010111
+.field private static int16 aALIGN1010111 at bALIGN1010111
+.field private static int32 aALIGN2010111 at bALIGN2010111
+.field public static int16 a010112 at b010112
+.field private static int16 aALIGN1010112 at bALIGN1010112
+.field private static int32 aALIGN2010112 at bALIGN2010112
+.field public static float32 a010113 at b010113
+.field private static int32 aALIGN1010113 at bALIGN1010113
+.field public static int16 a010114 at b010114
+.field private static int16 aALIGN1010114 at bALIGN1010114
+.field private static int32 aALIGN2010114 at bALIGN2010114
+.field public static int8 a010115 at b010115
+.field private static int32 aALIGN1010115 at bALIGN1010115
+.field private static int16 aALIGN2010115 at bALIGN2010115
+.field private static int8 aALIGN2010115 at bALIGN3010115
+.field public static int8 a010116 at b010116
+.field private static int32 aALIGN1010116 at bALIGN1010116
+.field private static int16 aALIGN2010116 at bALIGN2010116
+.field private static int8 aALIGN2010116 at bALIGN3010116
+.field public static int64 a010117 at b010117
+.field public static int8 a010118 at b010118
+.field private static int32 aALIGN1010118 at bALIGN1010118
+.field private static int16 aALIGN2010118 at bALIGN2010118
+.field private static int8 aALIGN2010118 at bALIGN3010118
+.field public static int32 a010119 at b010119
+.field private static int32 aALIGN1010119 at bALIGN1010119
+.field public static float32 a010120 at b010120
+.field private static int32 aALIGN1010120 at bALIGN1010120
+.field public static int16 a010121 at b010121
+.field private static int16 aALIGN1010121 at bALIGN1010121
+.field private static int32 aALIGN2010121 at bALIGN2010121
+.field public static int32 a010122 at b010122
+.field private static int32 aALIGN1010122 at bALIGN1010122
+.field public static int32 a010123 at b010123
+.field private static int32 aALIGN1010123 at bALIGN1010123
+.field public static int64 a010124 at b010124
+.field public static int32 a010125 at b010125
+.field private static int32 aALIGN1010125 at bALIGN1010125
+.field public static int8 a010126 at b010126
+.field private static int32 aALIGN1010126 at bALIGN1010126
+.field private static int16 aALIGN2010126 at bALIGN2010126
+.field private static int8 aALIGN2010126 at bALIGN3010126
+.field public static int64 a010127 at b010127
+ }
+.data b0100 = float32(0.0)
+.data bALIGN10100 = int32(0)
+.data b0101 = int16(1)
+.data bALIGN10101 = int16(0)
+.data bALIGN20101 = int32(0)
+.data b0102 = int64(2)
+.data b0103 = int64(3)
+.data b0104 = float32(4.0)
+.data bALIGN10104 = int32(0)
+.data b0105 = int64(5)
+.data b0106 = int16(6)
+.data bALIGN10106 = int16(0)
+.data bALIGN20106 = int32(0)
+.data b0107 = float32(7.0)
+.data bALIGN10107 = int32(0)
+.data b0108 = float32(8.0)
+.data bALIGN10108 = int32(0)
+.data b0109 = float32(9.0)
+.data bALIGN10109 = int32(0)
+.data b01010 = int16(10)
+.data bALIGN101010 = int16(0)
+.data bALIGN201010 = int32(0)
+.data b01011 = int64(11)
+.data b01012 = int8(12)
+.data bALIGN101012 = int32(0)
+.data bALIGN201012 = int16(0)
+.data bALIGN301012 = int8(0)
+.data b01013 = float32(13.0)
+.data bALIGN101013 = int32(0)
+.data b01014 = float32(14.0)
+.data bALIGN101014 = int32(0)
+.data b01015 = int16(15)
+.data bALIGN101015 = int16(0)
+.data bALIGN201015 = int32(0)
+.data b01016 = float32(16.0)
+.data bALIGN101016 = int32(0)
+.data b01017 = float32(17.0)
+.data bALIGN101017 = int32(0)
+.data b01018 = int64(18)
+.data b01019 = int32(19)
+.data bALIGN101019 = int32(0)
+.data b01020 = int64(20)
+.data b01021 = int64(21)
+.data b01022 = int16(22)
+.data bALIGN101022 = int16(0)
+.data bALIGN201022 = int32(0)
+.data b01023 = int32(23)
+.data bALIGN101023 = int32(0)
+.data b01024 = int16(24)
+.data bALIGN101024 = int16(0)
+.data bALIGN201024 = int32(0)
+.data b01025 = int64(25)
+.data b01026 = int16(26)
+.data bALIGN101026 = int16(0)
+.data bALIGN201026 = int32(0)
+.data b01027 = int64(27)
+.data b01028 = int8(28)
+.data bALIGN101028 = int32(0)
+.data bALIGN201028 = int16(0)
+.data bALIGN301028 = int8(0)
+.data b01029 = int8(29)
+.data bALIGN101029 = int32(0)
+.data bALIGN201029 = int16(0)
+.data bALIGN301029 = int8(0)
+.data b01030 = int8(30)
+.data bALIGN101030 = int32(0)
+.data bALIGN201030 = int16(0)
+.data bALIGN301030 = int8(0)
+.data b01031 = float32(31.0)
+.data bALIGN101031 = int32(0)
+.data b01032 = int64(32)
+.data b01033 = int32(33)
+.data bALIGN101033 = int32(0)
+.data b01034 = float32(34.0)
+.data bALIGN101034 = int32(0)
+.data b01035 = int8(35)
+.data bALIGN101035 = int32(0)
+.data bALIGN201035 = int16(0)
+.data bALIGN301035 = int8(0)
+.data b01036 = int32(36)
+.data bALIGN101036 = int32(0)
+.data b01037 = int32(37)
+.data bALIGN101037 = int32(0)
+.data b01038 = int64(38)
+.data b01039 = int16(39)
+.data bALIGN101039 = int16(0)
+.data bALIGN201039 = int32(0)
+.data b01040 = int32(40)
+.data bALIGN101040 = int32(0)
+.data b01041 = int32(41)
+.data bALIGN101041 = int32(0)
+.data b01042 = int32(42)
+.data bALIGN101042 = int32(0)
+.data b01043 = int16(43)
+.data bALIGN101043 = int16(0)
+.data bALIGN201043 = int32(0)
+.data b01044 = int64(44)
+.data b01045 = float32(45.0)
+.data bALIGN101045 = int32(0)
+.data b01046 = int32(46)
+.data bALIGN101046 = int32(0)
+.data b01047 = float32(47.0)
+.data bALIGN101047 = int32(0)
+.data b01048 = float32(48.0)
+.data bALIGN101048 = int32(0)
+.data b01049 = int8(49)
+.data bALIGN101049 = int32(0)
+.data bALIGN201049 = int16(0)
+.data bALIGN301049 = int8(0)
+.data b01050 = int32(50)
+.data bALIGN101050 = int32(0)
+.data b01051 = int64(51)
+.data b01052 = int16(52)
+.data bALIGN101052 = int16(0)
+.data bALIGN201052 = int32(0)
+.data b01053 = int8(53)
+.data bALIGN101053 = int32(0)
+.data bALIGN201053 = int16(0)
+.data bALIGN301053 = int8(0)
+.data b01054 = int16(54)
+.data bALIGN101054 = int16(0)
+.data bALIGN201054 = int32(0)
+.data b01055 = int16(55)
+.data bALIGN101055 = int16(0)
+.data bALIGN201055 = int32(0)
+.data b01056 = int8(56)
+.data bALIGN101056 = int32(0)
+.data bALIGN201056 = int16(0)
+.data bALIGN301056 = int8(0)
+.data b01057 = int8(57)
+.data bALIGN101057 = int32(0)
+.data bALIGN201057 = int16(0)
+.data bALIGN301057 = int8(0)
+.data b01058 = int16(58)
+.data bALIGN101058 = int16(0)
+.data bALIGN201058 = int32(0)
+.data b01059 = int16(59)
+.data bALIGN101059 = int16(0)
+.data bALIGN201059 = int32(0)
+.data b01060 = int32(60)
+.data bALIGN101060 = int32(0)
+.data b01061 = int64(61)
+.data b01062 = int64(62)
+.data b01063 = int64(63)
+.data b01064 = float32(64.0)
+.data bALIGN101064 = int32(0)
+.data b01065 = int32(65)
+.data bALIGN101065 = int32(0)
+.data b01066 = float32(66.0)
+.data bALIGN101066 = int32(0)
+.data b01067 = int64(67)
+.data b01068 = int8(68)
+.data bALIGN101068 = int32(0)
+.data bALIGN201068 = int16(0)
+.data bALIGN301068 = int8(0)
+.data b01069 = int64(69)
+.data b01070 = float32(70.0)
+.data bALIGN101070 = int32(0)
+.data b01071 = int16(71)
+.data bALIGN101071 = int16(0)
+.data bALIGN201071 = int32(0)
+.data b01072 = int8(72)
+.data bALIGN101072 = int32(0)
+.data bALIGN201072 = int16(0)
+.data bALIGN301072 = int8(0)
+.data b01073 = int32(73)
+.data bALIGN101073 = int32(0)
+.data b01074 = float32(74.0)
+.data bALIGN101074 = int32(0)
+.data b01075 = int16(75)
+.data bALIGN101075 = int16(0)
+.data bALIGN201075 = int32(0)
+.data b01076 = int8(76)
+.data bALIGN101076 = int32(0)
+.data bALIGN201076 = int16(0)
+.data bALIGN301076 = int8(0)
+.data b01077 = float32(77.0)
+.data bALIGN101077 = int32(0)
+.data b01078 = float32(78.0)
+.data bALIGN101078 = int32(0)
+.data b01079 = int16(79)
+.data bALIGN101079 = int16(0)
+.data bALIGN201079 = int32(0)
+.data b01080 = int8(80)
+.data bALIGN101080 = int32(0)
+.data bALIGN201080 = int16(0)
+.data bALIGN301080 = int8(0)
+.data b01081 = int32(81)
+.data bALIGN101081 = int32(0)
+.data b01082 = int64(82)
+.data b01083 = int8(83)
+.data bALIGN101083 = int32(0)
+.data bALIGN201083 = int16(0)
+.data bALIGN301083 = int8(0)
+.data b01084 = int64(84)
+.data b01085 = int16(85)
+.data bALIGN101085 = int16(0)
+.data bALIGN201085 = int32(0)
+.data b01086 = int32(86)
+.data bALIGN101086 = int32(0)
+.data b01087 = int32(87)
+.data bALIGN101087 = int32(0)
+.data b01088 = int16(88)
+.data bALIGN101088 = int16(0)
+.data bALIGN201088 = int32(0)
+.data b01089 = int32(89)
+.data bALIGN101089 = int32(0)
+.data b01090 = int8(90)
+.data bALIGN101090 = int32(0)
+.data bALIGN201090 = int16(0)
+.data bALIGN301090 = int8(0)
+.data b01091 = int16(91)
+.data bALIGN101091 = int16(0)
+.data bALIGN201091 = int32(0)
+.data b01092 = int8(92)
+.data bALIGN101092 = int32(0)
+.data bALIGN201092 = int16(0)
+.data bALIGN301092 = int8(0)
+.data b01093 = int32(93)
+.data bALIGN101093 = int32(0)
+.data b01094 = int64(94)
+.data b01095 = int64(95)
+.data b01096 = int64(96)
+.data b01097 = int64(97)
+.data b01098 = int32(98)
+.data bALIGN101098 = int32(0)
+.data b01099 = int16(99)
+.data bALIGN101099 = int16(0)
+.data bALIGN201099 = int32(0)
+.data b010100 = int8(100)
+.data bALIGN1010100 = int32(0)
+.data bALIGN2010100 = int16(0)
+.data bALIGN3010100 = int8(0)
+.data b010101 = float32(101.0)
+.data bALIGN1010101 = int32(0)
+.data b010102 = float32(102.0)
+.data bALIGN1010102 = int32(0)
+.data b010103 = int8(103)
+.data bALIGN1010103 = int32(0)
+.data bALIGN2010103 = int16(0)
+.data bALIGN3010103 = int8(0)
+.data b010104 = int16(104)
+.data bALIGN1010104 = int16(0)
+.data bALIGN2010104 = int32(0)
+.data b010105 = int8(105)
+.data bALIGN1010105 = int32(0)
+.data bALIGN2010105 = int16(0)
+.data bALIGN3010105 = int8(0)
+.data b010106 = int32(106)
+.data bALIGN1010106 = int32(0)
+.data b010107 = float32(107.0)
+.data bALIGN1010107 = int32(0)
+.data b010108 = int16(108)
+.data bALIGN1010108 = int16(0)
+.data bALIGN2010108 = int32(0)
+.data b010109 = int8(109)
+.data bALIGN1010109 = int32(0)
+.data bALIGN2010109 = int16(0)
+.data bALIGN3010109 = int8(0)
+.data b010110 = int8(110)
+.data bALIGN1010110 = int32(0)
+.data bALIGN2010110 = int16(0)
+.data bALIGN3010110 = int8(0)
+.data b010111 = int16(111)
+.data bALIGN1010111 = int16(0)
+.data bALIGN2010111 = int32(0)
+.data b010112 = int16(112)
+.data bALIGN1010112 = int16(0)
+.data bALIGN2010112 = int32(0)
+.data b010113 = float32(113.0)
+.data bALIGN1010113 = int32(0)
+.data b010114 = int16(114)
+.data bALIGN1010114 = int16(0)
+.data bALIGN2010114 = int32(0)
+.data b010115 = int8(115)
+.data bALIGN1010115 = int32(0)
+.data bALIGN2010115 = int16(0)
+.data bALIGN3010115 = int8(0)
+.data b010116 = int8(116)
+.data bALIGN1010116 = int32(0)
+.data bALIGN2010116 = int16(0)
+.data bALIGN3010116 = int8(0)
+.data b010117 = int64(117)
+.data b010118 = int8(118)
+.data bALIGN1010118 = int32(0)
+.data bALIGN2010118 = int16(0)
+.data bALIGN3010118 = int8(0)
+.data b010119 = int32(119)
+.data bALIGN1010119 = int32(0)
+.data b010120 = float32(120.0)
+.data bALIGN1010120 = int32(0)
+.data b010121 = int16(121)
+.data bALIGN1010121 = int16(0)
+.data bALIGN2010121 = int32(0)
+.data b010122 = int32(122)
+.data bALIGN1010122 = int32(0)
+.data b010123 = int32(123)
+.data bALIGN1010123 = int32(0)
+.data b010124 = int64(124)
+.data b010125 = int32(125)
+.data bALIGN1010125 = int32(0)
+.data b010126 = int8(6)
+.data bALIGN1010126 = int32(0)
+.data bALIGN2010126 = int16(0)
+.data bALIGN3010126 = int8(0)
+.data b010127 = int64(127)
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj b/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj
new file mode 100644
index 0000000000..51cb34e1a9
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rvastatic2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic3.il b/tests/src/JIT/Directed/rvastatics/rvastatic3.il
new file mode 100644
index 0000000000..05e6f20187
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic3.il
@@ -0,0 +1,7716 @@
+.assembly extern mscorlib{}
+.assembly rvastatic3{}
+.class public A{
+ .method static native int Call1(int64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ conv.i
+ ret
+ }
+ .method static native int Call2(float64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i
+ ret
+ }
+ .method static void V1() {.maxstack 50
+ ldsfld int64 [rvastatic3]A::a0100
+ ldc.i8 0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 1
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld float32 [rvastatic3]A::a0102
+ ldc.r4 2.0
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int64 [rvastatic3]A::a0103
+ ldc.i8 3
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int64 [rvastatic3]A::a0104
+ ldc.i8 4
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int16 [rvastatic3]A::a0105
+ ldc.i4 5
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int16 [rvastatic3]A::a0106
+ ldc.i4 6
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld float32 [rvastatic3]A::a0107
+ ldc.r4 7.0
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int32 [rvastatic3]A::a0108
+ ldc.i4 8
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int8 [rvastatic3]A::a0109
+ ldc.i4 9
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int32 [rvastatic3]A::a01010
+ ldc.i4 10
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int64 [rvastatic3]A::a01011
+ ldc.i8 11
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int32 [rvastatic3]A::a01012
+ ldc.i4 12
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int8 [rvastatic3]A::a01013
+ ldc.i4 13
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int16 [rvastatic3]A::a01014
+ ldc.i4 14
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int16 [rvastatic3]A::a01015
+ ldc.i4 15
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld float32 [rvastatic3]A::a01016
+ ldc.r4 16.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld float32 [rvastatic3]A::a01017
+ ldc.r4 17.0
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 18
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int8 [rvastatic3]A::a01019
+ ldc.i4 19
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int32 [rvastatic3]A::a01020
+ ldc.i4 20
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int32 [rvastatic3]A::a01021
+ ldc.i4 21
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 22
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 23
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int8 [rvastatic3]A::a01024
+ ldc.i4 24
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int8 [rvastatic3]A::a01025
+ ldc.i4 25
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int16 [rvastatic3]A::a01026
+ ldc.i4 26
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int8 [rvastatic3]A::a01027
+ ldc.i4 27
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int16 [rvastatic3]A::a01028
+ ldc.i4 28
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int64 [rvastatic3]A::a01029
+ ldc.i8 29
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int32 [rvastatic3]A::a01030
+ ldc.i4 30
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int32 [rvastatic3]A::a01031
+ ldc.i4 31
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int32 [rvastatic3]A::a01032
+ ldc.i4 32
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int8 [rvastatic3]A::a01033
+ ldc.i4 33
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int16 [rvastatic3]A::a01034
+ ldc.i4 34
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int32 [rvastatic3]A::a01035
+ ldc.i4 35
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic3]A::a01036
+ ldc.i4 36
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int16 [rvastatic3]A::a01037
+ ldc.i4 37
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld float32 [rvastatic3]A::a01038
+ ldc.r4 38.0
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int8 [rvastatic3]A::a01039
+ ldc.i4 39
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int8 [rvastatic3]A::a01040
+ ldc.i4 40
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld float32 [rvastatic3]A::a01041
+ ldc.r4 41.0
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int32 [rvastatic3]A::a01042
+ ldc.i4 42
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 43
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int32 [rvastatic3]A::a01044
+ ldc.i4 44
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int64 [rvastatic3]A::a01045
+ ldc.i8 45
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int64 [rvastatic3]A::a01046
+ ldc.i8 46
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 47
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld float32 [rvastatic3]A::a01048
+ ldc.r4 48.0
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int64 [rvastatic3]A::a01049
+ ldc.i8 49
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int32 [rvastatic3]A::a01050
+ ldc.i4 50
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld float32 [rvastatic3]A::a01051
+ ldc.r4 51.0
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int32 [rvastatic3]A::a01052
+ ldc.i4 52
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int64 [rvastatic3]A::a01053
+ ldc.i8 53
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int8 [rvastatic3]A::a01054
+ ldc.i4 54
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int8 [rvastatic3]A::a01055
+ ldc.i4 55
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld float32 [rvastatic3]A::a01056
+ ldc.r4 56.0
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int32 [rvastatic3]A::a01057
+ ldc.i4 57
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int64 [rvastatic3]A::a01058
+ ldc.i8 58
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int64 [rvastatic3]A::a01059
+ ldc.i8 59
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int8 [rvastatic3]A::a01060
+ ldc.i4 60
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 61
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int64 [rvastatic3]A::a01062
+ ldc.i8 62
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld float32 [rvastatic3]A::a01063
+ ldc.r4 63.0
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int64 [rvastatic3]A::a01064
+ ldc.i8 64
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld float32 [rvastatic3]A::a01065
+ ldc.r4 65.0
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int8 [rvastatic3]A::a01066
+ ldc.i4 66
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int16 [rvastatic3]A::a01067
+ ldc.i4 67
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int64 [rvastatic3]A::a01068
+ ldc.i8 68
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int64 [rvastatic3]A::a01069
+ ldc.i8 69
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int64 [rvastatic3]A::a01070
+ ldc.i8 70
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int32 [rvastatic3]A::a01071
+ ldc.i4 71
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int8 [rvastatic3]A::a01072
+ ldc.i4 72
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 73
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld float32 [rvastatic3]A::a01074
+ ldc.r4 74.0
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int64 [rvastatic3]A::a01075
+ ldc.i8 75
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int8 [rvastatic3]A::a01076
+ ldc.i4 76
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int8 [rvastatic3]A::a01077
+ ldc.i4 77
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int8 [rvastatic3]A::a01078
+ ldc.i4 78
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld int32 [rvastatic3]A::a01079
+ ldc.i4 79
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld int16 [rvastatic3]A::a01080
+ ldc.i4 80
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int32 [rvastatic3]A::a01081
+ ldc.i4 81
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int8 [rvastatic3]A::a01082
+ ldc.i4 82
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int32 [rvastatic3]A::a01083
+ ldc.i4 83
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int8 [rvastatic3]A::a01084
+ ldc.i4 84
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int32 [rvastatic3]A::a01085
+ ldc.i4 85
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int8 [rvastatic3]A::a01086
+ ldc.i4 86
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int64 [rvastatic3]A::a01087
+ ldc.i8 87
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int8 [rvastatic3]A::a01088
+ ldc.i4 88
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int16 [rvastatic3]A::a01089
+ ldc.i4 89
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int64 [rvastatic3]A::a01090
+ ldc.i8 90
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int8 [rvastatic3]A::a01091
+ ldc.i4 91
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int64 [rvastatic3]A::a01092
+ ldc.i8 92
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int16 [rvastatic3]A::a01093
+ ldc.i4 93
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int8 [rvastatic3]A::a01094
+ ldc.i4 94
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld float32 [rvastatic3]A::a01095
+ ldc.r4 95.0
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int16 [rvastatic3]A::a01096
+ ldc.i4 96
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int64 [rvastatic3]A::a01097
+ ldc.i8 97
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld float32 [rvastatic3]A::a01098
+ ldc.r4 98.0
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int32 [rvastatic3]A::a01099
+ ldc.i4 99
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int32 [rvastatic3]A::a010100
+ ldc.i4 100
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int32 [rvastatic3]A::a010101
+ ldc.i4 101
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int8 [rvastatic3]A::a010102
+ ldc.i4 102
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 103
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int8 [rvastatic3]A::a010104
+ ldc.i4 104
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld float32 [rvastatic3]A::a010105
+ ldc.r4 105.0
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld float32 [rvastatic3]A::a010106
+ ldc.r4 106.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int8 [rvastatic3]A::a010107
+ ldc.i4 107
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld float32 [rvastatic3]A::a010108
+ ldc.r4 108.0
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 109
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int8 [rvastatic3]A::a010110
+ ldc.i4 110
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int64 [rvastatic3]A::a010111
+ ldc.i8 111
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int16 [rvastatic3]A::a010112
+ ldc.i4 112
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int16 [rvastatic3]A::a010113
+ ldc.i4 113
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int32 [rvastatic3]A::a010114
+ ldc.i4 114
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int32 [rvastatic3]A::a010115
+ ldc.i4 115
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int8 [rvastatic3]A::a010116
+ ldc.i4 116
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int16 [rvastatic3]A::a010117
+ ldc.i4 117
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int64 [rvastatic3]A::a010118
+ ldc.i8 118
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int8 [rvastatic3]A::a010119
+ ldc.i4 119
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int64 [rvastatic3]A::a010120
+ ldc.i8 120
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int32 [rvastatic3]A::a010121
+ ldc.i4 121
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int8 [rvastatic3]A::a010122
+ ldc.i4 2
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int32 [rvastatic3]A::a010123
+ ldc.i4 123
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int8 [rvastatic3]A::a010124
+ ldc.i4 4
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int64 [rvastatic3]A::a010125
+ ldc.i8 125
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld float32 [rvastatic3]A::a010126
+ ldc.r4 126.0
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ldsfld int64 [rvastatic3]A::a010127
+ ldc.i8 127
+ beq a010128
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010128:
+ ret}
+ .method static void V2() {.maxstack 50
+ ldsflda int64 [rvastatic3]A::a0100
+ ldind.i8
+ ldc.i8 0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsflda int64 [rvastatic3]A::a0101
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsflda float32 [rvastatic3]A::a0102
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsflda int64 [rvastatic3]A::a0103
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsflda int64 [rvastatic3]A::a0104
+ ldind.i8
+ ldc.i8 4
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsflda int16 [rvastatic3]A::a0105
+ ldind.i2
+ ldc.i4 5
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsflda int16 [rvastatic3]A::a0106
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsflda float32 [rvastatic3]A::a0107
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsflda int32 [rvastatic3]A::a0108
+ ldind.i4
+ ldc.i4 8
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsflda int8 [rvastatic3]A::a0109
+ ldind.i1
+ ldc.i4 9
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsflda int32 [rvastatic3]A::a01010
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsflda int64 [rvastatic3]A::a01011
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsflda int32 [rvastatic3]A::a01012
+ ldind.i4
+ ldc.i4 12
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsflda int8 [rvastatic3]A::a01013
+ ldind.i1
+ ldc.i4 13
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsflda int16 [rvastatic3]A::a01014
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsflda int16 [rvastatic3]A::a01015
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsflda float32 [rvastatic3]A::a01016
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsflda float32 [rvastatic3]A::a01017
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsflda int32 [rvastatic3]A::a01018
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsflda int8 [rvastatic3]A::a01019
+ ldind.i1
+ ldc.i4 19
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsflda int32 [rvastatic3]A::a01020
+ ldind.i4
+ ldc.i4 20
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsflda int32 [rvastatic3]A::a01021
+ ldind.i4
+ ldc.i4 21
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsflda int64 [rvastatic3]A::a01022
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsflda int32 [rvastatic3]A::a01023
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsflda int8 [rvastatic3]A::a01024
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsflda int8 [rvastatic3]A::a01025
+ ldind.i1
+ ldc.i4 25
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsflda int16 [rvastatic3]A::a01026
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsflda int8 [rvastatic3]A::a01027
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsflda int16 [rvastatic3]A::a01028
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsflda int64 [rvastatic3]A::a01029
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsflda int32 [rvastatic3]A::a01030
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsflda int32 [rvastatic3]A::a01031
+ ldind.i4
+ ldc.i4 31
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsflda int32 [rvastatic3]A::a01032
+ ldind.i4
+ ldc.i4 32
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsflda int8 [rvastatic3]A::a01033
+ ldind.i1
+ ldc.i4 33
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsflda int16 [rvastatic3]A::a01034
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsflda int32 [rvastatic3]A::a01035
+ ldind.i4
+ ldc.i4 35
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsflda int32 [rvastatic3]A::a01036
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsflda int16 [rvastatic3]A::a01037
+ ldind.i2
+ ldc.i4 37
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsflda float32 [rvastatic3]A::a01038
+ ldind.r4
+ ldc.r4 38.0
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsflda int8 [rvastatic3]A::a01039
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsflda int8 [rvastatic3]A::a01040
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsflda float32 [rvastatic3]A::a01041
+ ldind.r4
+ ldc.r4 41.0
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsflda int32 [rvastatic3]A::a01042
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsflda int32 [rvastatic3]A::a01043
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsflda int32 [rvastatic3]A::a01044
+ ldind.i4
+ ldc.i4 44
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsflda int64 [rvastatic3]A::a01045
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsflda int64 [rvastatic3]A::a01046
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsflda int64 [rvastatic3]A::a01047
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsflda float32 [rvastatic3]A::a01048
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsflda int64 [rvastatic3]A::a01049
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsflda int32 [rvastatic3]A::a01050
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsflda float32 [rvastatic3]A::a01051
+ ldind.r4
+ ldc.r4 51.0
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsflda int32 [rvastatic3]A::a01052
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsflda int64 [rvastatic3]A::a01053
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsflda int8 [rvastatic3]A::a01054
+ ldind.i1
+ ldc.i4 54
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsflda int8 [rvastatic3]A::a01055
+ ldind.i1
+ ldc.i4 55
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsflda float32 [rvastatic3]A::a01056
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsflda int32 [rvastatic3]A::a01057
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsflda int64 [rvastatic3]A::a01058
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsflda int64 [rvastatic3]A::a01059
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsflda int8 [rvastatic3]A::a01060
+ ldind.i1
+ ldc.i4 60
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsflda int16 [rvastatic3]A::a01061
+ ldind.i2
+ ldc.i4 61
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsflda int64 [rvastatic3]A::a01062
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsflda float32 [rvastatic3]A::a01063
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsflda int64 [rvastatic3]A::a01064
+ ldind.i8
+ ldc.i8 64
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsflda float32 [rvastatic3]A::a01065
+ ldind.r4
+ ldc.r4 65.0
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsflda int8 [rvastatic3]A::a01066
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsflda int16 [rvastatic3]A::a01067
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsflda int64 [rvastatic3]A::a01068
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsflda int64 [rvastatic3]A::a01069
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsflda int64 [rvastatic3]A::a01070
+ ldind.i8
+ ldc.i8 70
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsflda int32 [rvastatic3]A::a01071
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsflda int8 [rvastatic3]A::a01072
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsflda int32 [rvastatic3]A::a01073
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsflda float32 [rvastatic3]A::a01074
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsflda int64 [rvastatic3]A::a01075
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsflda int8 [rvastatic3]A::a01076
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsflda int8 [rvastatic3]A::a01077
+ ldind.i1
+ ldc.i4 77
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsflda int8 [rvastatic3]A::a01078
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsflda int32 [rvastatic3]A::a01079
+ ldind.i4
+ ldc.i4 79
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsflda int16 [rvastatic3]A::a01080
+ ldind.i2
+ ldc.i4 80
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsflda int32 [rvastatic3]A::a01081
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsflda int8 [rvastatic3]A::a01082
+ ldind.i1
+ ldc.i4 82
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsflda int32 [rvastatic3]A::a01083
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsflda int8 [rvastatic3]A::a01084
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsflda int32 [rvastatic3]A::a01085
+ ldind.i4
+ ldc.i4 85
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsflda int8 [rvastatic3]A::a01086
+ ldind.i1
+ ldc.i4 86
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsflda int64 [rvastatic3]A::a01087
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsflda int8 [rvastatic3]A::a01088
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsflda int16 [rvastatic3]A::a01089
+ ldind.i2
+ ldc.i4 89
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsflda int64 [rvastatic3]A::a01090
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsflda int8 [rvastatic3]A::a01091
+ ldind.i1
+ ldc.i4 91
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsflda int64 [rvastatic3]A::a01092
+ ldind.i8
+ ldc.i8 92
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsflda int16 [rvastatic3]A::a01093
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsflda int8 [rvastatic3]A::a01094
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsflda float32 [rvastatic3]A::a01095
+ ldind.r4
+ ldc.r4 95.0
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsflda int16 [rvastatic3]A::a01096
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsflda int64 [rvastatic3]A::a01097
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsflda float32 [rvastatic3]A::a01098
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsflda int32 [rvastatic3]A::a01099
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsflda int32 [rvastatic3]A::a010100
+ ldind.i4
+ ldc.i4 100
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsflda int32 [rvastatic3]A::a010101
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsflda int8 [rvastatic3]A::a010102
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsflda int16 [rvastatic3]A::a010103
+ ldind.i2
+ ldc.i4 103
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsflda int8 [rvastatic3]A::a010104
+ ldind.i1
+ ldc.i4 104
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsflda float32 [rvastatic3]A::a010105
+ ldind.r4
+ ldc.r4 105.0
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsflda float32 [rvastatic3]A::a010106
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsflda int8 [rvastatic3]A::a010107
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsflda float32 [rvastatic3]A::a010108
+ ldind.r4
+ ldc.r4 108.0
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsflda int16 [rvastatic3]A::a010109
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsflda int8 [rvastatic3]A::a010110
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsflda int64 [rvastatic3]A::a010111
+ ldind.i8
+ ldc.i8 111
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsflda int16 [rvastatic3]A::a010112
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsflda int16 [rvastatic3]A::a010113
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsflda int32 [rvastatic3]A::a010114
+ ldind.i4
+ ldc.i4 114
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsflda int32 [rvastatic3]A::a010115
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsflda int8 [rvastatic3]A::a010116
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsflda int16 [rvastatic3]A::a010117
+ ldind.i2
+ ldc.i4 117
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsflda int64 [rvastatic3]A::a010118
+ ldind.i8
+ ldc.i8 118
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsflda int8 [rvastatic3]A::a010119
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsflda int64 [rvastatic3]A::a010120
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsflda int32 [rvastatic3]A::a010121
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsflda int8 [rvastatic3]A::a010122
+ ldind.i1
+ ldc.i4 2
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsflda int32 [rvastatic3]A::a010123
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsflda int8 [rvastatic3]A::a010124
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsflda int64 [rvastatic3]A::a010125
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsflda float32 [rvastatic3]A::a010126
+ ldind.r4
+ ldc.r4 126.0
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsflda int64 [rvastatic3]A::a010127
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static void V3() {.maxstack 50
+ ldsfld int32 [rvastatic3]A::a01044
+ ldc.i4 44
+ beq a010129
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010129:
+ ldsfld float32 [rvastatic3]A::a01056
+ ldc.r4 56.0
+ beq a010130
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010130:
+ ldsfld int16 [rvastatic3]A::a01028
+ ldc.i4 28
+ beq a010131
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010131:
+ ldsfld int8 [rvastatic3]A::a01066
+ ldc.i4 66
+ beq a010132
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010132:
+ ldsfld int64 [rvastatic3]A::a010125
+ ldc.i8 125
+ beq a010133
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010133:
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 109
+ beq a010134
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010134:
+ ldsfld int64 [rvastatic3]A::a01058
+ ldc.i8 58
+ beq a010135
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010135:
+ ldsfld int8 [rvastatic3]A::a010107
+ ldc.i4 107
+ beq a010136
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010136:
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 47
+ beq a010137
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010137:
+ ldsfld int32 [rvastatic3]A::a01030
+ ldc.i4 30
+ beq a010138
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010138:
+ ldsfld int16 [rvastatic3]A::a01067
+ ldc.i4 67
+ beq a010139
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010139:
+ ldsfld int32 [rvastatic3]A::a01012
+ ldc.i4 12
+ beq a010140
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010140:
+ ldsfld int32 [rvastatic3]A::a010100
+ ldc.i4 100
+ beq a010141
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010141:
+ ldsfld int32 [rvastatic3]A::a010100
+ ldc.i4 100
+ beq a010142
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010142:
+ ldsfld int8 [rvastatic3]A::a01019
+ ldc.i4 19
+ beq a010143
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010143:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 103
+ beq a010144
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010144:
+ ldsfld int16 [rvastatic3]A::a01093
+ ldc.i4 93
+ beq a010145
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010145:
+ ldsfld int64 [rvastatic3]A::a01058
+ ldc.i8 58
+ beq a010146
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010146:
+ ldsfld float32 [rvastatic3]A::a010106
+ ldc.r4 106.0
+ beq a010147
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010147:
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 61
+ beq a010148
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010148:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 103
+ beq a010149
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010149:
+ ldsfld float32 [rvastatic3]A::a0102
+ ldc.r4 2.0
+ beq a010150
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010150:
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 109
+ beq a010151
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010151:
+ ldsfld float32 [rvastatic3]A::a010105
+ ldc.r4 105.0
+ beq a010152
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010152:
+ ldsfld int64 [rvastatic3]A::a01097
+ ldc.i8 97
+ beq a010153
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010153:
+ ldsfld int32 [rvastatic3]A::a010114
+ ldc.i4 114
+ beq a010154
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010154:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 43
+ beq a010155
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010155:
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 73
+ beq a010156
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010156:
+ ldsfld float32 [rvastatic3]A::a0102
+ ldc.r4 2.0
+ beq a010157
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010157:
+ ldsfld int64 [rvastatic3]A::a01046
+ ldc.i8 46
+ beq a010158
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010158:
+ ldsfld int16 [rvastatic3]A::a01015
+ ldc.i4 15
+ beq a010159
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010159:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 23
+ beq a010160
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010160:
+ ldsfld int64 [rvastatic3]A::a01068
+ ldc.i8 68
+ beq a010161
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010161:
+ ldsfld int64 [rvastatic3]A::a010120
+ ldc.i8 120
+ beq a010162
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010162:
+ ldsfld int16 [rvastatic3]A::a0106
+ ldc.i4 6
+ beq a010163
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010163:
+ ldsfld int32 [rvastatic3]A::a01079
+ ldc.i4 79
+ beq a010164
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010164:
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 73
+ beq a010165
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010165:
+ ldsfld int8 [rvastatic3]A::a010104
+ ldc.i4 104
+ beq a010166
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010166:
+ ldsfld int8 [rvastatic3]A::a01033
+ ldc.i4 33
+ beq a010167
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010167:
+ ldsfld int32 [rvastatic3]A::a01071
+ ldc.i4 71
+ beq a010168
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010168:
+ ldsfld int32 [rvastatic3]A::a0108
+ ldc.i4 8
+ beq a010169
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010169:
+ ldsfld float32 [rvastatic3]A::a01041
+ ldc.r4 41.0
+ beq a010170
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010170:
+ ldsfld int16 [rvastatic3]A::a010112
+ ldc.i4 112
+ beq a010171
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010171:
+ ldsfld float32 [rvastatic3]A::a01065
+ ldc.r4 65.0
+ beq a010172
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010172:
+ ldsfld int8 [rvastatic3]A::a01078
+ ldc.i4 78
+ beq a010173
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010173:
+ ldsfld int16 [rvastatic3]A::a01089
+ ldc.i4 89
+ beq a010174
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010174:
+ ldsfld float32 [rvastatic3]A::a01095
+ ldc.r4 95.0
+ beq a010175
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010175:
+ ldsfld int8 [rvastatic3]A::a01039
+ ldc.i4 39
+ beq a010176
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010176:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 43
+ beq a010177
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010177:
+ ldsfld float32 [rvastatic3]A::a01048
+ ldc.r4 48.0
+ beq a010178
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010178:
+ ldsfld int8 [rvastatic3]A::a010122
+ ldc.i4 2
+ beq a010179
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010179:
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 47
+ beq a010180
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010180:
+ ldsfld int8 [rvastatic3]A::a010119
+ ldc.i4 119
+ beq a010181
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010181:
+ ldsfld float32 [rvastatic3]A::a010126
+ ldc.r4 126.0
+ beq a010182
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010182:
+ ldsfld float32 [rvastatic3]A::a01017
+ ldc.r4 17.0
+ beq a010183
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010183:
+ ldsfld float32 [rvastatic3]A::a01041
+ ldc.r4 41.0
+ beq a010184
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010184:
+ ldsfld int64 [rvastatic3]A::a01075
+ ldc.i8 75
+ beq a010185
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010185:
+ ldsfld int32 [rvastatic3]A::a01050
+ ldc.i4 50
+ beq a010186
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010186:
+ ldsfld int16 [rvastatic3]A::a01096
+ ldc.i4 96
+ beq a010187
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010187:
+ ldsfld int32 [rvastatic3]A::a01010
+ ldc.i4 10
+ beq a010188
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010188:
+ ldsfld int8 [rvastatic3]A::a01066
+ ldc.i4 66
+ beq a010189
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010189:
+ ldsfld int16 [rvastatic3]A::a010113
+ ldc.i4 113
+ beq a010190
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010190:
+ ldsfld int8 [rvastatic3]A::a010104
+ ldc.i4 104
+ beq a010191
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010191:
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 1
+ beq a010192
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010192:
+ ldsfld int16 [rvastatic3]A::a01015
+ ldc.i4 15
+ beq a010193
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010193:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 43
+ beq a010194
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010194:
+ ldsfld int32 [rvastatic3]A::a01071
+ ldc.i4 71
+ beq a010195
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010195:
+ ldsfld int8 [rvastatic3]A::a010107
+ ldc.i4 107
+ beq a010196
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010196:
+ ldsfld int8 [rvastatic3]A::a01094
+ ldc.i4 94
+ beq a010197
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010197:
+ ldsfld int64 [rvastatic3]A::a01068
+ ldc.i8 68
+ beq a010198
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010198:
+ ldsfld int64 [rvastatic3]A::a01029
+ ldc.i8 29
+ beq a010199
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010199:
+ ldsfld int8 [rvastatic3]A::a010116
+ ldc.i4 116
+ beq a010200
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010200:
+ ldsfld int8 [rvastatic3]A::a01025
+ ldc.i4 25
+ beq a010201
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010201:
+ ldsfld int16 [rvastatic3]A::a01034
+ ldc.i4 34
+ beq a010202
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010202:
+ ldsfld int32 [rvastatic3]A::a01052
+ ldc.i4 52
+ beq a010203
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010203:
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 61
+ beq a010204
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010204:
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 18
+ beq a010205
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010205:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 43
+ beq a010206
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010206:
+ ldsfld int16 [rvastatic3]A::a01026
+ ldc.i4 26
+ beq a010207
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010207:
+ ldsfld float32 [rvastatic3]A::a0107
+ ldc.r4 7.0
+ beq a010208
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010208:
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 18
+ beq a010209
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010209:
+ ldsfld int64 [rvastatic3]A::a0104
+ ldc.i8 4
+ beq a010210
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010210:
+ ldsfld int64 [rvastatic3]A::a01029
+ ldc.i8 29
+ beq a010211
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010211:
+ ldsfld int8 [rvastatic3]A::a01082
+ ldc.i4 82
+ beq a010212
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010212:
+ ldsfld int32 [rvastatic3]A::a01052
+ ldc.i4 52
+ beq a010213
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010213:
+ ldsfld float32 [rvastatic3]A::a01095
+ ldc.r4 95.0
+ beq a010214
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010214:
+ ldsfld int32 [rvastatic3]A::a01032
+ ldc.i4 32
+ beq a010215
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010215:
+ ldsfld int64 [rvastatic3]A::a01069
+ ldc.i8 69
+ beq a010216
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010216:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 103
+ beq a010217
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010217:
+ ldsfld int64 [rvastatic3]A::a01092
+ ldc.i8 92
+ beq a010218
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010218:
+ ldsfld int64 [rvastatic3]A::a0104
+ ldc.i8 4
+ beq a010219
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010219:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 22
+ beq a010220
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010220:
+ ldsfld float32 [rvastatic3]A::a0107
+ ldc.r4 7.0
+ beq a010221
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010221:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 22
+ beq a010222
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010222:
+ ldsfld int16 [rvastatic3]A::a0105
+ ldc.i4 5
+ beq a010223
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010223:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 23
+ beq a010224
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010224:
+ ldsfld int64 [rvastatic3]A::a01064
+ ldc.i8 64
+ beq a010225
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010225:
+ ldsfld int8 [rvastatic3]A::a010110
+ ldc.i4 110
+ beq a010226
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010226:
+ ldsfld int32 [rvastatic3]A::a01050
+ ldc.i4 50
+ beq a010227
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010227:
+ ldsfld int32 [rvastatic3]A::a01035
+ ldc.i4 35
+ beq a010228
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010228:
+ ldsfld float32 [rvastatic3]A::a01017
+ ldc.r4 17.0
+ beq a010229
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010229:
+ ldsfld int8 [rvastatic3]A::a010116
+ ldc.i4 116
+ beq a010230
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010230:
+ ldsfld int8 [rvastatic3]A::a01072
+ ldc.i4 72
+ beq a010231
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010231:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 103
+ beq a010232
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010232:
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 18
+ beq a010233
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010233:
+ ldsfld int16 [rvastatic3]A::a0105
+ ldc.i4 5
+ beq a010234
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010234:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 22
+ beq a010235
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010235:
+ ldsfld int8 [rvastatic3]A::a01084
+ ldc.i4 84
+ beq a010236
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010236:
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 73
+ beq a010237
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010237:
+ ldsfld int32 [rvastatic3]A::a01083
+ ldc.i4 83
+ beq a010238
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010238:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 23
+ beq a010239
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010239:
+ ldsfld int32 [rvastatic3]A::a01031
+ ldc.i4 31
+ beq a010240
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010240:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 23
+ beq a010241
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010241:
+ ldsfld int16 [rvastatic3]A::a01089
+ ldc.i4 89
+ beq a010242
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010242:
+ ldsfld int64 [rvastatic3]A::a010120
+ ldc.i8 120
+ beq a010243
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010243:
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 61
+ beq a010244
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010244:
+ ldsfld int32 [rvastatic3]A::a01083
+ ldc.i4 83
+ beq a010245
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010245:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 22
+ beq a010246
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010246:
+ ldsfld int8 [rvastatic3]A::a01076
+ ldc.i4 76
+ beq a010247
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010247:
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 47
+ beq a010248
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010248:
+ ldsfld int32 [rvastatic3]A::a01010
+ ldc.i4 10
+ beq a010249
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010249:
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 1
+ beq a010250
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010250:
+ ldsfld int64 [rvastatic3]A::a0103
+ ldc.i8 3
+ beq a010251
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010251:
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 1
+ beq a010252
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010252:
+ ldsfld int64 [rvastatic3]A::a01064
+ ldc.i8 64
+ beq a010253
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010253:
+ ldsfld int16 [rvastatic3]A::a0106
+ ldc.i4 6
+ beq a010254
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010254:
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 109
+ beq a010255
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010255:
+ ldsfld int64 [rvastatic3]A::a0103
+ ldc.i8 3
+ beq a010256
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010256:
+ ret}
+ .method static void V4() {.maxstack 50
+ ldsflda int64 [rvastatic3]A::a0100
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int64 [rvastatic3]A::a0101
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic3]A::a0102
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int64 [rvastatic3]A::a0103
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int64 [rvastatic3]A::a0104
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int16 [rvastatic3]A::a0105
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic3]A::a0106
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic3]A::a0107
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int32 [rvastatic3]A::a0108
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int8 [rvastatic3]A::a0109
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int32 [rvastatic3]A::a01010
+ conv.i8
+ ldc.i8 40202
+ add
+ conv.i8
+ ldc.i8 40202
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int64 [rvastatic3]A::a01011
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int32 [rvastatic3]A::a01012
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int8 [rvastatic3]A::a01013
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int16 [rvastatic3]A::a01014
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic3]A::a01015
+ conv.i8
+ ldc.i8 37800
+ add
+ conv.i8
+ ldc.i8 37800
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic3]A::a01016
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda float32 [rvastatic3]A::a01017
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic3]A::a01018
+ conv.i8
+ ldc.i8 2058
+ add
+ conv.i8
+ ldc.i8 2058
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int8 [rvastatic3]A::a01019
+ conv.i8
+ ldc.i8 8916
+ add
+ conv.i8
+ ldc.i8 8916
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int32 [rvastatic3]A::a01020
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int32 [rvastatic3]A::a01021
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic3]A::a01022
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic3]A::a01023
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int8 [rvastatic3]A::a01024
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int8 [rvastatic3]A::a01025
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic3]A::a01026
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic3]A::a01027
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int16 [rvastatic3]A::a01028
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int64 [rvastatic3]A::a01029
+ conv.i8
+ ldc.i8 877
+ add
+ conv.i8
+ ldc.i8 877
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int32 [rvastatic3]A::a01030
+ conv.i8
+ ldc.i8 47449
+ add
+ conv.i8
+ ldc.i8 47449
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int32 [rvastatic3]A::a01031
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int32 [rvastatic3]A::a01032
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int8 [rvastatic3]A::a01033
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic3]A::a01034
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int32 [rvastatic3]A::a01035
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic3]A::a01036
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int16 [rvastatic3]A::a01037
+ conv.i8
+ ldc.i8 25670
+ add
+ conv.i8
+ ldc.i8 25670
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda float32 [rvastatic3]A::a01038
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 38.0
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int8 [rvastatic3]A::a01039
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int8 [rvastatic3]A::a01040
+ conv.i8
+ ldc.i8 63628
+ add
+ conv.i8
+ ldc.i8 63628
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda float32 [rvastatic3]A::a01041
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 41.0
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int32 [rvastatic3]A::a01042
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int32 [rvastatic3]A::a01043
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int32 [rvastatic3]A::a01044
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int64 [rvastatic3]A::a01045
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int64 [rvastatic3]A::a01046
+ conv.i8
+ ldc.i8 53032
+ add
+ conv.i8
+ ldc.i8 53032
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic3]A::a01047
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda float32 [rvastatic3]A::a01048
+ conv.i8
+ ldc.i8 48333
+ add
+ conv.i8
+ ldc.i8 48333
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int64 [rvastatic3]A::a01049
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic3]A::a01050
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda float32 [rvastatic3]A::a01051
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 51.0
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic3]A::a01052
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int64 [rvastatic3]A::a01053
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int8 [rvastatic3]A::a01054
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int8 [rvastatic3]A::a01055
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic3]A::a01056
+ conv.i8
+ ldc.i8 4395
+ add
+ conv.i8
+ ldc.i8 4395
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int32 [rvastatic3]A::a01057
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int64 [rvastatic3]A::a01058
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic3]A::a01059
+ conv.i8
+ ldc.i8 18075
+ add
+ conv.i8
+ ldc.i8 18075
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int8 [rvastatic3]A::a01060
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int16 [rvastatic3]A::a01061
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic3]A::a01062
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda float32 [rvastatic3]A::a01063
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int64 [rvastatic3]A::a01064
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda float32 [rvastatic3]A::a01065
+ conv.i8
+ ldc.i8 46752
+ add
+ conv.i8
+ ldc.i8 46752
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 65.0
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic3]A::a01066
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic3]A::a01067
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int64 [rvastatic3]A::a01068
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int64 [rvastatic3]A::a01069
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int64 [rvastatic3]A::a01070
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int32 [rvastatic3]A::a01071
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int8 [rvastatic3]A::a01072
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int32 [rvastatic3]A::a01073
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda float32 [rvastatic3]A::a01074
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int64 [rvastatic3]A::a01075
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic3]A::a01076
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int8 [rvastatic3]A::a01077
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int8 [rvastatic3]A::a01078
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int32 [rvastatic3]A::a01079
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda int16 [rvastatic3]A::a01080
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 80
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int32 [rvastatic3]A::a01081
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int8 [rvastatic3]A::a01082
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int32 [rvastatic3]A::a01083
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int8 [rvastatic3]A::a01084
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int32 [rvastatic3]A::a01085
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int8 [rvastatic3]A::a01086
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic3]A::a01087
+ conv.i8
+ ldc.i8 13996
+ add
+ conv.i8
+ ldc.i8 13996
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int8 [rvastatic3]A::a01088
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int16 [rvastatic3]A::a01089
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int64 [rvastatic3]A::a01090
+ conv.i8
+ ldc.i8 38561
+ add
+ conv.i8
+ ldc.i8 38561
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int8 [rvastatic3]A::a01091
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int64 [rvastatic3]A::a01092
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int16 [rvastatic3]A::a01093
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int8 [rvastatic3]A::a01094
+ conv.i8
+ ldc.i8 16915
+ add
+ conv.i8
+ ldc.i8 16915
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda float32 [rvastatic3]A::a01095
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 95.0
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int16 [rvastatic3]A::a01096
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int64 [rvastatic3]A::a01097
+ conv.i8
+ ldc.i8 53815
+ add
+ conv.i8
+ ldc.i8 53815
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda float32 [rvastatic3]A::a01098
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int32 [rvastatic3]A::a01099
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int32 [rvastatic3]A::a010100
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int32 [rvastatic3]A::a010101
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int8 [rvastatic3]A::a010102
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int16 [rvastatic3]A::a010103
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int8 [rvastatic3]A::a010104
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda float32 [rvastatic3]A::a010105
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 105.0
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda float32 [rvastatic3]A::a010106
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int8 [rvastatic3]A::a010107
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda float32 [rvastatic3]A::a010108
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 108.0
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic3]A::a010109
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int8 [rvastatic3]A::a010110
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int64 [rvastatic3]A::a010111
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int16 [rvastatic3]A::a010112
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int16 [rvastatic3]A::a010113
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int32 [rvastatic3]A::a010114
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int32 [rvastatic3]A::a010115
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int8 [rvastatic3]A::a010116
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int16 [rvastatic3]A::a010117
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int64 [rvastatic3]A::a010118
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int8 [rvastatic3]A::a010119
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int64 [rvastatic3]A::a010120
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int32 [rvastatic3]A::a010121
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int8 [rvastatic3]A::a010122
+ conv.i8
+ ldc.i8 51550
+ add
+ conv.i8
+ ldc.i8 51550
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 2
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int32 [rvastatic3]A::a010123
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int8 [rvastatic3]A::a010124
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic3]A::a010125
+ conv.i8
+ ldc.i8 47464
+ add
+ conv.i8
+ ldc.i8 47464
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda float32 [rvastatic3]A::a010126
+ conv.i8
+ ldc.i8 24077
+ add
+ conv.i8
+ ldc.i8 24077
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 126.0
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int64 [rvastatic3]A::a010127
+ conv.i8
+ ldc.i8 28583
+ add
+ conv.i8
+ ldc.i8 28583
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V5() {.maxstack 50
+ ldsflda int64 [rvastatic3]A::a0100
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int64 [rvastatic3]A::a0101
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic3]A::a0102
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int64 [rvastatic3]A::a0103
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int64 [rvastatic3]A::a0104
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int16 [rvastatic3]A::a0105
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic3]A::a0106
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda float32 [rvastatic3]A::a0107
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 7.0
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int32 [rvastatic3]A::a0108
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int8 [rvastatic3]A::a0109
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int32 [rvastatic3]A::a01010
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int64 [rvastatic3]A::a01011
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int32 [rvastatic3]A::a01012
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int8 [rvastatic3]A::a01013
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int16 [rvastatic3]A::a01014
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int16 [rvastatic3]A::a01015
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic3]A::a01016
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda float32 [rvastatic3]A::a01017
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.r4
+ ldc.r4 17.0
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic3]A::a01018
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int8 [rvastatic3]A::a01019
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int32 [rvastatic3]A::a01020
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda int32 [rvastatic3]A::a01021
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 21
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic3]A::a01022
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int32 [rvastatic3]A::a01023
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int8 [rvastatic3]A::a01024
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int8 [rvastatic3]A::a01025
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic3]A::a01026
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic3]A::a01027
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int16 [rvastatic3]A::a01028
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int64 [rvastatic3]A::a01029
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int32 [rvastatic3]A::a01030
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int32 [rvastatic3]A::a01031
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int32 [rvastatic3]A::a01032
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda int8 [rvastatic3]A::a01033
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 33
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic3]A::a01034
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int32 [rvastatic3]A::a01035
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic3]A::a01036
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int16 [rvastatic3]A::a01037
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda float32 [rvastatic3]A::a01038
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 38.0
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int8 [rvastatic3]A::a01039
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int8 [rvastatic3]A::a01040
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda float32 [rvastatic3]A::a01041
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 41.0
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int32 [rvastatic3]A::a01042
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int32 [rvastatic3]A::a01043
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int32 [rvastatic3]A::a01044
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int64 [rvastatic3]A::a01045
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int64 [rvastatic3]A::a01046
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic3]A::a01047
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda float32 [rvastatic3]A::a01048
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 48.0
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int64 [rvastatic3]A::a01049
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic3]A::a01050
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda float32 [rvastatic3]A::a01051
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 51.0
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic3]A::a01052
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int64 [rvastatic3]A::a01053
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int8 [rvastatic3]A::a01054
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int8 [rvastatic3]A::a01055
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic3]A::a01056
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int32 [rvastatic3]A::a01057
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int64 [rvastatic3]A::a01058
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic3]A::a01059
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int8 [rvastatic3]A::a01060
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int16 [rvastatic3]A::a01061
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic3]A::a01062
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda float32 [rvastatic3]A::a01063
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int64 [rvastatic3]A::a01064
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda float32 [rvastatic3]A::a01065
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 65.0
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic3]A::a01066
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic3]A::a01067
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int64 [rvastatic3]A::a01068
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int64 [rvastatic3]A::a01069
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int64 [rvastatic3]A::a01070
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int32 [rvastatic3]A::a01071
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int8 [rvastatic3]A::a01072
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int32 [rvastatic3]A::a01073
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda float32 [rvastatic3]A::a01074
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 74.0
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int64 [rvastatic3]A::a01075
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic3]A::a01076
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int8 [rvastatic3]A::a01077
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int8 [rvastatic3]A::a01078
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda int32 [rvastatic3]A::a01079
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 79
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda int16 [rvastatic3]A::a01080
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 80
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda int32 [rvastatic3]A::a01081
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 81
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int8 [rvastatic3]A::a01082
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int32 [rvastatic3]A::a01083
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int8 [rvastatic3]A::a01084
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int32 [rvastatic3]A::a01085
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int8 [rvastatic3]A::a01086
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic3]A::a01087
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int8 [rvastatic3]A::a01088
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int16 [rvastatic3]A::a01089
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int64 [rvastatic3]A::a01090
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int8 [rvastatic3]A::a01091
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int64 [rvastatic3]A::a01092
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int16 [rvastatic3]A::a01093
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int8 [rvastatic3]A::a01094
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda float32 [rvastatic3]A::a01095
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 95.0
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda int16 [rvastatic3]A::a01096
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 96
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int64 [rvastatic3]A::a01097
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda float32 [rvastatic3]A::a01098
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int32 [rvastatic3]A::a01099
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int32 [rvastatic3]A::a010100
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int32 [rvastatic3]A::a010101
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int8 [rvastatic3]A::a010102
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i1
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int16 [rvastatic3]A::a010103
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int8 [rvastatic3]A::a010104
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda float32 [rvastatic3]A::a010105
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 105.0
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda float32 [rvastatic3]A::a010106
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int8 [rvastatic3]A::a010107
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda float32 [rvastatic3]A::a010108
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 108.0
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic3]A::a010109
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int8 [rvastatic3]A::a010110
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int64 [rvastatic3]A::a010111
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int16 [rvastatic3]A::a010112
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int16 [rvastatic3]A::a010113
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i2
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int32 [rvastatic3]A::a010114
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int32 [rvastatic3]A::a010115
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int8 [rvastatic3]A::a010116
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int16 [rvastatic3]A::a010117
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i2
+ ldc.i4 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int64 [rvastatic3]A::a010118
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int8 [rvastatic3]A::a010119
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int64 [rvastatic3]A::a010120
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int32 [rvastatic3]A::a010121
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int8 [rvastatic3]A::a010122
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 2
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int32 [rvastatic3]A::a010123
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i4
+ ldc.i4 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int8 [rvastatic3]A::a010124
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i1
+ ldc.i4 4
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic3]A::a010125
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda float32 [rvastatic3]A::a010126
+ conv.r8
+ call native int [rvastatic3]A::Call2(float64)
+ ldind.r4
+ ldc.r4 126.0
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int64 [rvastatic3]A::a010127
+ conv.i8
+ call native int [rvastatic3]A::Call1(int64)
+ ldind.i8
+ ldc.i8 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V6() {.maxstack 50
+ ldsfld int64 [rvastatic3]A::a0100
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a0100
+ ldsfld int64 [rvastatic3]A::a0100
+ ldc.i8 1
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a0101
+ ldsfld int64 [rvastatic3]A::a0101
+ ldc.i8 2
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld float32 [rvastatic3]A::a0102
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a0102
+ ldsfld float32 [rvastatic3]A::a0102
+ ldc.r4 3.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int64 [rvastatic3]A::a0103
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a0103
+ ldsfld int64 [rvastatic3]A::a0103
+ ldc.i8 4
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int64 [rvastatic3]A::a0104
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a0104
+ ldsfld int64 [rvastatic3]A::a0104
+ ldc.i8 5
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int16 [rvastatic3]A::a0105
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a0105
+ ldsfld int16 [rvastatic3]A::a0105
+ ldc.i4 6
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int16 [rvastatic3]A::a0106
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a0106
+ ldsfld int16 [rvastatic3]A::a0106
+ ldc.i4 7
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld float32 [rvastatic3]A::a0107
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a0107
+ ldsfld float32 [rvastatic3]A::a0107
+ ldc.r4 8.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld int32 [rvastatic3]A::a0108
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a0108
+ ldsfld int32 [rvastatic3]A::a0108
+ ldc.i4 9
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int8 [rvastatic3]A::a0109
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a0109
+ ldsfld int8 [rvastatic3]A::a0109
+ ldc.i4 10
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int32 [rvastatic3]A::a01010
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01010
+ ldsfld int32 [rvastatic3]A::a01010
+ ldc.i4 11
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int64 [rvastatic3]A::a01011
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01011
+ ldsfld int64 [rvastatic3]A::a01011
+ ldc.i8 12
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int32 [rvastatic3]A::a01012
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01012
+ ldsfld int32 [rvastatic3]A::a01012
+ ldc.i4 13
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int8 [rvastatic3]A::a01013
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01013
+ ldsfld int8 [rvastatic3]A::a01013
+ ldc.i4 14
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int16 [rvastatic3]A::a01014
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01014
+ ldsfld int16 [rvastatic3]A::a01014
+ ldc.i4 15
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int16 [rvastatic3]A::a01015
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01015
+ ldsfld int16 [rvastatic3]A::a01015
+ ldc.i4 16
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld float32 [rvastatic3]A::a01016
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01016
+ ldsfld float32 [rvastatic3]A::a01016
+ ldc.r4 17.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld float32 [rvastatic3]A::a01017
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01017
+ ldsfld float32 [rvastatic3]A::a01017
+ ldc.r4 18.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01018
+ ldsfld int32 [rvastatic3]A::a01018
+ ldc.i4 19
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int8 [rvastatic3]A::a01019
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01019
+ ldsfld int8 [rvastatic3]A::a01019
+ ldc.i4 20
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int32 [rvastatic3]A::a01020
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01020
+ ldsfld int32 [rvastatic3]A::a01020
+ ldc.i4 21
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int32 [rvastatic3]A::a01021
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01021
+ ldsfld int32 [rvastatic3]A::a01021
+ ldc.i4 22
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01022
+ ldsfld int64 [rvastatic3]A::a01022
+ ldc.i8 23
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01023
+ ldsfld int32 [rvastatic3]A::a01023
+ ldc.i4 24
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int8 [rvastatic3]A::a01024
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01024
+ ldsfld int8 [rvastatic3]A::a01024
+ ldc.i4 25
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int8 [rvastatic3]A::a01025
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01025
+ ldsfld int8 [rvastatic3]A::a01025
+ ldc.i4 26
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int16 [rvastatic3]A::a01026
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01026
+ ldsfld int16 [rvastatic3]A::a01026
+ ldc.i4 27
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int8 [rvastatic3]A::a01027
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01027
+ ldsfld int8 [rvastatic3]A::a01027
+ ldc.i4 28
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int16 [rvastatic3]A::a01028
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01028
+ ldsfld int16 [rvastatic3]A::a01028
+ ldc.i4 29
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int64 [rvastatic3]A::a01029
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01029
+ ldsfld int64 [rvastatic3]A::a01029
+ ldc.i8 30
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int32 [rvastatic3]A::a01030
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01030
+ ldsfld int32 [rvastatic3]A::a01030
+ ldc.i4 31
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int32 [rvastatic3]A::a01031
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01031
+ ldsfld int32 [rvastatic3]A::a01031
+ ldc.i4 32
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int32 [rvastatic3]A::a01032
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01032
+ ldsfld int32 [rvastatic3]A::a01032
+ ldc.i4 33
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int8 [rvastatic3]A::a01033
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01033
+ ldsfld int8 [rvastatic3]A::a01033
+ ldc.i4 34
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int16 [rvastatic3]A::a01034
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01034
+ ldsfld int16 [rvastatic3]A::a01034
+ ldc.i4 35
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int32 [rvastatic3]A::a01035
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01035
+ ldsfld int32 [rvastatic3]A::a01035
+ ldc.i4 36
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int32 [rvastatic3]A::a01036
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01036
+ ldsfld int32 [rvastatic3]A::a01036
+ ldc.i4 37
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int16 [rvastatic3]A::a01037
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01037
+ ldsfld int16 [rvastatic3]A::a01037
+ ldc.i4 38
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld float32 [rvastatic3]A::a01038
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01038
+ ldsfld float32 [rvastatic3]A::a01038
+ ldc.r4 39.0
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int8 [rvastatic3]A::a01039
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01039
+ ldsfld int8 [rvastatic3]A::a01039
+ ldc.i4 40
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int8 [rvastatic3]A::a01040
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01040
+ ldsfld int8 [rvastatic3]A::a01040
+ ldc.i4 41
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld float32 [rvastatic3]A::a01041
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01041
+ ldsfld float32 [rvastatic3]A::a01041
+ ldc.r4 42.0
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int32 [rvastatic3]A::a01042
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01042
+ ldsfld int32 [rvastatic3]A::a01042
+ ldc.i4 43
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01043
+ ldsfld int32 [rvastatic3]A::a01043
+ ldc.i4 44
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int32 [rvastatic3]A::a01044
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01044
+ ldsfld int32 [rvastatic3]A::a01044
+ ldc.i4 45
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int64 [rvastatic3]A::a01045
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01045
+ ldsfld int64 [rvastatic3]A::a01045
+ ldc.i8 46
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int64 [rvastatic3]A::a01046
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01046
+ ldsfld int64 [rvastatic3]A::a01046
+ ldc.i8 47
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01047
+ ldsfld int64 [rvastatic3]A::a01047
+ ldc.i8 48
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld float32 [rvastatic3]A::a01048
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01048
+ ldsfld float32 [rvastatic3]A::a01048
+ ldc.r4 49.0
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int64 [rvastatic3]A::a01049
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01049
+ ldsfld int64 [rvastatic3]A::a01049
+ ldc.i8 50
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int32 [rvastatic3]A::a01050
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01050
+ ldsfld int32 [rvastatic3]A::a01050
+ ldc.i4 51
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld float32 [rvastatic3]A::a01051
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01051
+ ldsfld float32 [rvastatic3]A::a01051
+ ldc.r4 52.0
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int32 [rvastatic3]A::a01052
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01052
+ ldsfld int32 [rvastatic3]A::a01052
+ ldc.i4 53
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int64 [rvastatic3]A::a01053
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01053
+ ldsfld int64 [rvastatic3]A::a01053
+ ldc.i8 54
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int8 [rvastatic3]A::a01054
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01054
+ ldsfld int8 [rvastatic3]A::a01054
+ ldc.i4 55
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int8 [rvastatic3]A::a01055
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01055
+ ldsfld int8 [rvastatic3]A::a01055
+ ldc.i4 56
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld float32 [rvastatic3]A::a01056
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01056
+ ldsfld float32 [rvastatic3]A::a01056
+ ldc.r4 57.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int32 [rvastatic3]A::a01057
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01057
+ ldsfld int32 [rvastatic3]A::a01057
+ ldc.i4 58
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int64 [rvastatic3]A::a01058
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01058
+ ldsfld int64 [rvastatic3]A::a01058
+ ldc.i8 59
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int64 [rvastatic3]A::a01059
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01059
+ ldsfld int64 [rvastatic3]A::a01059
+ ldc.i8 60
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int8 [rvastatic3]A::a01060
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01060
+ ldsfld int8 [rvastatic3]A::a01060
+ ldc.i4 61
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01061
+ ldsfld int16 [rvastatic3]A::a01061
+ ldc.i4 62
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int64 [rvastatic3]A::a01062
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01062
+ ldsfld int64 [rvastatic3]A::a01062
+ ldc.i8 63
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld float32 [rvastatic3]A::a01063
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01063
+ ldsfld float32 [rvastatic3]A::a01063
+ ldc.r4 64.0
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int64 [rvastatic3]A::a01064
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01064
+ ldsfld int64 [rvastatic3]A::a01064
+ ldc.i8 65
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld float32 [rvastatic3]A::a01065
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01065
+ ldsfld float32 [rvastatic3]A::a01065
+ ldc.r4 66.0
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int8 [rvastatic3]A::a01066
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01066
+ ldsfld int8 [rvastatic3]A::a01066
+ ldc.i4 67
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int16 [rvastatic3]A::a01067
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01067
+ ldsfld int16 [rvastatic3]A::a01067
+ ldc.i4 68
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int64 [rvastatic3]A::a01068
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01068
+ ldsfld int64 [rvastatic3]A::a01068
+ ldc.i8 69
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int64 [rvastatic3]A::a01069
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01069
+ ldsfld int64 [rvastatic3]A::a01069
+ ldc.i8 70
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int64 [rvastatic3]A::a01070
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01070
+ ldsfld int64 [rvastatic3]A::a01070
+ ldc.i8 71
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int32 [rvastatic3]A::a01071
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01071
+ ldsfld int32 [rvastatic3]A::a01071
+ ldc.i4 72
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int8 [rvastatic3]A::a01072
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01072
+ ldsfld int8 [rvastatic3]A::a01072
+ ldc.i4 73
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01073
+ ldsfld int32 [rvastatic3]A::a01073
+ ldc.i4 74
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld float32 [rvastatic3]A::a01074
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01074
+ ldsfld float32 [rvastatic3]A::a01074
+ ldc.r4 75.0
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int64 [rvastatic3]A::a01075
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01075
+ ldsfld int64 [rvastatic3]A::a01075
+ ldc.i8 76
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int8 [rvastatic3]A::a01076
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01076
+ ldsfld int8 [rvastatic3]A::a01076
+ ldc.i4 77
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int8 [rvastatic3]A::a01077
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01077
+ ldsfld int8 [rvastatic3]A::a01077
+ ldc.i4 78
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int8 [rvastatic3]A::a01078
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01078
+ ldsfld int8 [rvastatic3]A::a01078
+ ldc.i4 79
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int32 [rvastatic3]A::a01079
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01079
+ ldsfld int32 [rvastatic3]A::a01079
+ ldc.i4 80
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld int16 [rvastatic3]A::a01080
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01080
+ ldsfld int16 [rvastatic3]A::a01080
+ ldc.i4 81
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld int32 [rvastatic3]A::a01081
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01081
+ ldsfld int32 [rvastatic3]A::a01081
+ ldc.i4 82
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int8 [rvastatic3]A::a01082
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01082
+ ldsfld int8 [rvastatic3]A::a01082
+ ldc.i4 83
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int32 [rvastatic3]A::a01083
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01083
+ ldsfld int32 [rvastatic3]A::a01083
+ ldc.i4 84
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int8 [rvastatic3]A::a01084
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01084
+ ldsfld int8 [rvastatic3]A::a01084
+ ldc.i4 85
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int32 [rvastatic3]A::a01085
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01085
+ ldsfld int32 [rvastatic3]A::a01085
+ ldc.i4 86
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int8 [rvastatic3]A::a01086
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01086
+ ldsfld int8 [rvastatic3]A::a01086
+ ldc.i4 87
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int64 [rvastatic3]A::a01087
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01087
+ ldsfld int64 [rvastatic3]A::a01087
+ ldc.i8 88
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int8 [rvastatic3]A::a01088
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01088
+ ldsfld int8 [rvastatic3]A::a01088
+ ldc.i4 89
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int16 [rvastatic3]A::a01089
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01089
+ ldsfld int16 [rvastatic3]A::a01089
+ ldc.i4 90
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int64 [rvastatic3]A::a01090
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01090
+ ldsfld int64 [rvastatic3]A::a01090
+ ldc.i8 91
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int8 [rvastatic3]A::a01091
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01091
+ ldsfld int8 [rvastatic3]A::a01091
+ ldc.i4 92
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int64 [rvastatic3]A::a01092
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01092
+ ldsfld int64 [rvastatic3]A::a01092
+ ldc.i8 93
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int16 [rvastatic3]A::a01093
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01093
+ ldsfld int16 [rvastatic3]A::a01093
+ ldc.i4 94
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int8 [rvastatic3]A::a01094
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a01094
+ ldsfld int8 [rvastatic3]A::a01094
+ ldc.i4 95
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld float32 [rvastatic3]A::a01095
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01095
+ ldsfld float32 [rvastatic3]A::a01095
+ ldc.r4 96.0
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int16 [rvastatic3]A::a01096
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a01096
+ ldsfld int16 [rvastatic3]A::a01096
+ ldc.i4 97
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int64 [rvastatic3]A::a01097
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a01097
+ ldsfld int64 [rvastatic3]A::a01097
+ ldc.i8 98
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld float32 [rvastatic3]A::a01098
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a01098
+ ldsfld float32 [rvastatic3]A::a01098
+ ldc.r4 99.0
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int32 [rvastatic3]A::a01099
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a01099
+ ldsfld int32 [rvastatic3]A::a01099
+ ldc.i4 100
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int32 [rvastatic3]A::a010100
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010100
+ ldsfld int32 [rvastatic3]A::a010100
+ ldc.i4 101
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int32 [rvastatic3]A::a010101
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010101
+ ldsfld int32 [rvastatic3]A::a010101
+ ldc.i4 102
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int8 [rvastatic3]A::a010102
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010102
+ ldsfld int8 [rvastatic3]A::a010102
+ ldc.i4 103
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a010103
+ ldsfld int16 [rvastatic3]A::a010103
+ ldc.i4 104
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int8 [rvastatic3]A::a010104
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010104
+ ldsfld int8 [rvastatic3]A::a010104
+ ldc.i4 105
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld float32 [rvastatic3]A::a010105
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a010105
+ ldsfld float32 [rvastatic3]A::a010105
+ ldc.r4 106.0
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld float32 [rvastatic3]A::a010106
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a010106
+ ldsfld float32 [rvastatic3]A::a010106
+ ldc.r4 107.0
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int8 [rvastatic3]A::a010107
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010107
+ ldsfld int8 [rvastatic3]A::a010107
+ ldc.i4 108
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld float32 [rvastatic3]A::a010108
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a010108
+ ldsfld float32 [rvastatic3]A::a010108
+ ldc.r4 109.0
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a010109
+ ldsfld int16 [rvastatic3]A::a010109
+ ldc.i4 110
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int8 [rvastatic3]A::a010110
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010110
+ ldsfld int8 [rvastatic3]A::a010110
+ ldc.i4 111
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int64 [rvastatic3]A::a010111
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a010111
+ ldsfld int64 [rvastatic3]A::a010111
+ ldc.i8 112
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int16 [rvastatic3]A::a010112
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a010112
+ ldsfld int16 [rvastatic3]A::a010112
+ ldc.i4 113
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int16 [rvastatic3]A::a010113
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a010113
+ ldsfld int16 [rvastatic3]A::a010113
+ ldc.i4 114
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int32 [rvastatic3]A::a010114
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010114
+ ldsfld int32 [rvastatic3]A::a010114
+ ldc.i4 115
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int32 [rvastatic3]A::a010115
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010115
+ ldsfld int32 [rvastatic3]A::a010115
+ ldc.i4 116
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int8 [rvastatic3]A::a010116
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010116
+ ldsfld int8 [rvastatic3]A::a010116
+ ldc.i4 117
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int16 [rvastatic3]A::a010117
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic3]A::a010117
+ ldsfld int16 [rvastatic3]A::a010117
+ ldc.i4 118
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int64 [rvastatic3]A::a010118
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a010118
+ ldsfld int64 [rvastatic3]A::a010118
+ ldc.i8 119
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int8 [rvastatic3]A::a010119
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010119
+ ldsfld int8 [rvastatic3]A::a010119
+ ldc.i4 120
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int64 [rvastatic3]A::a010120
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a010120
+ ldsfld int64 [rvastatic3]A::a010120
+ ldc.i8 121
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int32 [rvastatic3]A::a010121
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010121
+ ldsfld int32 [rvastatic3]A::a010121
+ ldc.i4 122
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int8 [rvastatic3]A::a010122
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010122
+ ldsfld int8 [rvastatic3]A::a010122
+ ldc.i4 3
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int32 [rvastatic3]A::a010123
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic3]A::a010123
+ ldsfld int32 [rvastatic3]A::a010123
+ ldc.i4 124
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int8 [rvastatic3]A::a010124
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic3]A::a010124
+ ldsfld int8 [rvastatic3]A::a010124
+ ldc.i4 5
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic3]A::a010125
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a010125
+ ldsfld int64 [rvastatic3]A::a010125
+ ldc.i8 126
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld float32 [rvastatic3]A::a010126
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic3]A::a010126
+ ldsfld float32 [rvastatic3]A::a010126
+ ldc.r4 127.0
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int64 [rvastatic3]A::a010127
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic3]A::a010127
+ ldsfld int64 [rvastatic3]A::a010127
+ ldc.i8 128
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static int32 Main(string[] args){.entrypoint .maxstack 5
+ call void [rvastatic3]A::V1()
+ call void [rvastatic3]A::V2()
+ call void [rvastatic3]A::V3()
+ call void [rvastatic3]A::V4()
+ call void [rvastatic3]A::V5()
+ call void [rvastatic3]A::V6()
+ ldc.i4 100
+ ret}
+.field public static int64 a0100 at b0100
+.field public static int64 a0101 at b0101
+.field public static float32 a0102 at b0102
+.field private static int32 aALIGN10102 at bALIGN10102
+.field public static int64 a0103 at b0103
+.field public static int64 a0104 at b0104
+.field public static int16 a0105 at b0105
+.field private static int16 aALIGN10105 at bALIGN10105
+.field private static int32 aALIGN20105 at bALIGN20105
+.field public static int16 a0106 at b0106
+.field private static int16 aALIGN10106 at bALIGN10106
+.field private static int32 aALIGN20106 at bALIGN20106
+.field public static float32 a0107 at b0107
+.field private static int32 aALIGN10107 at bALIGN10107
+.field public static int32 a0108 at b0108
+.field private static int32 aALIGN10108 at bALIGN10108
+.field public static int8 a0109 at b0109
+.field private static int32 aALIGN10109 at bALIGN10109
+.field private static int16 aALIGN20109 at bALIGN20109
+.field private static int8 aALIGN20109 at bALIGN30109
+.field public static int32 a01010 at b01010
+.field private static int32 aALIGN101010 at bALIGN101010
+.field public static int64 a01011 at b01011
+.field public static int32 a01012 at b01012
+.field private static int32 aALIGN101012 at bALIGN101012
+.field public static int8 a01013 at b01013
+.field private static int32 aALIGN101013 at bALIGN101013
+.field private static int16 aALIGN201013 at bALIGN201013
+.field private static int8 aALIGN201013 at bALIGN301013
+.field public static int16 a01014 at b01014
+.field private static int16 aALIGN101014 at bALIGN101014
+.field private static int32 aALIGN201014 at bALIGN201014
+.field public static int16 a01015 at b01015
+.field private static int16 aALIGN101015 at bALIGN101015
+.field private static int32 aALIGN201015 at bALIGN201015
+.field public static float32 a01016 at b01016
+.field private static int32 aALIGN101016 at bALIGN101016
+.field public static float32 a01017 at b01017
+.field private static int32 aALIGN101017 at bALIGN101017
+.field public static int32 a01018 at b01018
+.field private static int32 aALIGN101018 at bALIGN101018
+.field public static int8 a01019 at b01019
+.field private static int32 aALIGN101019 at bALIGN101019
+.field private static int16 aALIGN201019 at bALIGN201019
+.field private static int8 aALIGN201019 at bALIGN301019
+.field public static int32 a01020 at b01020
+.field private static int32 aALIGN101020 at bALIGN101020
+.field public static int32 a01021 at b01021
+.field private static int32 aALIGN101021 at bALIGN101021
+.field public static int64 a01022 at b01022
+.field public static int32 a01023 at b01023
+.field private static int32 aALIGN101023 at bALIGN101023
+.field public static int8 a01024 at b01024
+.field private static int32 aALIGN101024 at bALIGN101024
+.field private static int16 aALIGN201024 at bALIGN201024
+.field private static int8 aALIGN201024 at bALIGN301024
+.field public static int8 a01025 at b01025
+.field private static int32 aALIGN101025 at bALIGN101025
+.field private static int16 aALIGN201025 at bALIGN201025
+.field private static int8 aALIGN201025 at bALIGN301025
+.field public static int16 a01026 at b01026
+.field private static int16 aALIGN101026 at bALIGN101026
+.field private static int32 aALIGN201026 at bALIGN201026
+.field public static int8 a01027 at b01027
+.field private static int32 aALIGN101027 at bALIGN101027
+.field private static int16 aALIGN201027 at bALIGN201027
+.field private static int8 aALIGN201027 at bALIGN301027
+.field public static int16 a01028 at b01028
+.field private static int16 aALIGN101028 at bALIGN101028
+.field private static int32 aALIGN201028 at bALIGN201028
+.field public static int64 a01029 at b01029
+.field public static int32 a01030 at b01030
+.field private static int32 aALIGN101030 at bALIGN101030
+.field public static int32 a01031 at b01031
+.field private static int32 aALIGN101031 at bALIGN101031
+.field public static int32 a01032 at b01032
+.field private static int32 aALIGN101032 at bALIGN101032
+.field public static int8 a01033 at b01033
+.field private static int32 aALIGN101033 at bALIGN101033
+.field private static int16 aALIGN201033 at bALIGN201033
+.field private static int8 aALIGN201033 at bALIGN301033
+.field public static int16 a01034 at b01034
+.field private static int16 aALIGN101034 at bALIGN101034
+.field private static int32 aALIGN201034 at bALIGN201034
+.field public static int32 a01035 at b01035
+.field private static int32 aALIGN101035 at bALIGN101035
+.field public static int32 a01036 at b01036
+.field private static int32 aALIGN101036 at bALIGN101036
+.field public static int16 a01037 at b01037
+.field private static int16 aALIGN101037 at bALIGN101037
+.field private static int32 aALIGN201037 at bALIGN201037
+.field public static float32 a01038 at b01038
+.field private static int32 aALIGN101038 at bALIGN101038
+.field public static int8 a01039 at b01039
+.field private static int32 aALIGN101039 at bALIGN101039
+.field private static int16 aALIGN201039 at bALIGN201039
+.field private static int8 aALIGN201039 at bALIGN301039
+.field public static int8 a01040 at b01040
+.field private static int32 aALIGN101040 at bALIGN101040
+.field private static int16 aALIGN201040 at bALIGN201040
+.field private static int8 aALIGN201040 at bALIGN301040
+.field public static float32 a01041 at b01041
+.field private static int32 aALIGN101041 at bALIGN101041
+.field public static int32 a01042 at b01042
+.field private static int32 aALIGN101042 at bALIGN101042
+.field public static int32 a01043 at b01043
+.field private static int32 aALIGN101043 at bALIGN101043
+.field public static int32 a01044 at b01044
+.field private static int32 aALIGN101044 at bALIGN101044
+.field public static int64 a01045 at b01045
+.field public static int64 a01046 at b01046
+.field public static int64 a01047 at b01047
+.field public static float32 a01048 at b01048
+.field private static int32 aALIGN101048 at bALIGN101048
+.field public static int64 a01049 at b01049
+.field public static int32 a01050 at b01050
+.field private static int32 aALIGN101050 at bALIGN101050
+.field public static float32 a01051 at b01051
+.field private static int32 aALIGN101051 at bALIGN101051
+.field public static int32 a01052 at b01052
+.field private static int32 aALIGN101052 at bALIGN101052
+.field public static int64 a01053 at b01053
+.field public static int8 a01054 at b01054
+.field private static int32 aALIGN101054 at bALIGN101054
+.field private static int16 aALIGN201054 at bALIGN201054
+.field private static int8 aALIGN201054 at bALIGN301054
+.field public static int8 a01055 at b01055
+.field private static int32 aALIGN101055 at bALIGN101055
+.field private static int16 aALIGN201055 at bALIGN201055
+.field private static int8 aALIGN201055 at bALIGN301055
+.field public static float32 a01056 at b01056
+.field private static int32 aALIGN101056 at bALIGN101056
+.field public static int32 a01057 at b01057
+.field private static int32 aALIGN101057 at bALIGN101057
+.field public static int64 a01058 at b01058
+.field public static int64 a01059 at b01059
+.field public static int8 a01060 at b01060
+.field private static int32 aALIGN101060 at bALIGN101060
+.field private static int16 aALIGN201060 at bALIGN201060
+.field private static int8 aALIGN201060 at bALIGN301060
+.field public static int16 a01061 at b01061
+.field private static int16 aALIGN101061 at bALIGN101061
+.field private static int32 aALIGN201061 at bALIGN201061
+.field public static int64 a01062 at b01062
+.field public static float32 a01063 at b01063
+.field private static int32 aALIGN101063 at bALIGN101063
+.field public static int64 a01064 at b01064
+.field public static float32 a01065 at b01065
+.field private static int32 aALIGN101065 at bALIGN101065
+.field public static int8 a01066 at b01066
+.field private static int32 aALIGN101066 at bALIGN101066
+.field private static int16 aALIGN201066 at bALIGN201066
+.field private static int8 aALIGN201066 at bALIGN301066
+.field public static int16 a01067 at b01067
+.field private static int16 aALIGN101067 at bALIGN101067
+.field private static int32 aALIGN201067 at bALIGN201067
+.field public static int64 a01068 at b01068
+.field public static int64 a01069 at b01069
+.field public static int64 a01070 at b01070
+.field public static int32 a01071 at b01071
+.field private static int32 aALIGN101071 at bALIGN101071
+.field public static int8 a01072 at b01072
+.field private static int32 aALIGN101072 at bALIGN101072
+.field private static int16 aALIGN201072 at bALIGN201072
+.field private static int8 aALIGN201072 at bALIGN301072
+.field public static int32 a01073 at b01073
+.field private static int32 aALIGN101073 at bALIGN101073
+.field public static float32 a01074 at b01074
+.field private static int32 aALIGN101074 at bALIGN101074
+.field public static int64 a01075 at b01075
+.field public static int8 a01076 at b01076
+.field private static int32 aALIGN101076 at bALIGN101076
+.field private static int16 aALIGN201076 at bALIGN201076
+.field private static int8 aALIGN201076 at bALIGN301076
+.field public static int8 a01077 at b01077
+.field private static int32 aALIGN101077 at bALIGN101077
+.field private static int16 aALIGN201077 at bALIGN201077
+.field private static int8 aALIGN201077 at bALIGN301077
+.field public static int8 a01078 at b01078
+.field private static int32 aALIGN101078 at bALIGN101078
+.field private static int16 aALIGN201078 at bALIGN201078
+.field private static int8 aALIGN201078 at bALIGN301078
+.field public static int32 a01079 at b01079
+.field private static int32 aALIGN101079 at bALIGN101079
+.field public static int16 a01080 at b01080
+.field private static int16 aALIGN101080 at bALIGN101080
+.field private static int32 aALIGN201080 at bALIGN201080
+.field public static int32 a01081 at b01081
+.field private static int32 aALIGN101081 at bALIGN101081
+.field public static int8 a01082 at b01082
+.field private static int32 aALIGN101082 at bALIGN101082
+.field private static int16 aALIGN201082 at bALIGN201082
+.field private static int8 aALIGN201082 at bALIGN301082
+.field public static int32 a01083 at b01083
+.field private static int32 aALIGN101083 at bALIGN101083
+.field public static int8 a01084 at b01084
+.field private static int32 aALIGN101084 at bALIGN101084
+.field private static int16 aALIGN201084 at bALIGN201084
+.field private static int8 aALIGN201084 at bALIGN301084
+.field public static int32 a01085 at b01085
+.field private static int32 aALIGN101085 at bALIGN101085
+.field public static int8 a01086 at b01086
+.field private static int32 aALIGN101086 at bALIGN101086
+.field private static int16 aALIGN201086 at bALIGN201086
+.field private static int8 aALIGN201086 at bALIGN301086
+.field public static int64 a01087 at b01087
+.field public static int8 a01088 at b01088
+.field private static int32 aALIGN101088 at bALIGN101088
+.field private static int16 aALIGN201088 at bALIGN201088
+.field private static int8 aALIGN201088 at bALIGN301088
+.field public static int16 a01089 at b01089
+.field private static int16 aALIGN101089 at bALIGN101089
+.field private static int32 aALIGN201089 at bALIGN201089
+.field public static int64 a01090 at b01090
+.field public static int8 a01091 at b01091
+.field private static int32 aALIGN101091 at bALIGN101091
+.field private static int16 aALIGN201091 at bALIGN201091
+.field private static int8 aALIGN201091 at bALIGN301091
+.field public static int64 a01092 at b01092
+.field public static int16 a01093 at b01093
+.field private static int16 aALIGN101093 at bALIGN101093
+.field private static int32 aALIGN201093 at bALIGN201093
+.field public static int8 a01094 at b01094
+.field private static int32 aALIGN101094 at bALIGN101094
+.field private static int16 aALIGN201094 at bALIGN201094
+.field private static int8 aALIGN201094 at bALIGN301094
+.field public static float32 a01095 at b01095
+.field private static int32 aALIGN101095 at bALIGN101095
+.field public static int16 a01096 at b01096
+.field private static int16 aALIGN101096 at bALIGN101096
+.field private static int32 aALIGN201096 at bALIGN201096
+.field public static int64 a01097 at b01097
+.field public static float32 a01098 at b01098
+.field private static int32 aALIGN101098 at bALIGN101098
+.field public static int32 a01099 at b01099
+.field private static int32 aALIGN101099 at bALIGN101099
+.field public static int32 a010100 at b010100
+.field private static int32 aALIGN1010100 at bALIGN1010100
+.field public static int32 a010101 at b010101
+.field private static int32 aALIGN1010101 at bALIGN1010101
+.field public static int8 a010102 at b010102
+.field private static int32 aALIGN1010102 at bALIGN1010102
+.field private static int16 aALIGN2010102 at bALIGN2010102
+.field private static int8 aALIGN2010102 at bALIGN3010102
+.field public static int16 a010103 at b010103
+.field private static int16 aALIGN1010103 at bALIGN1010103
+.field private static int32 aALIGN2010103 at bALIGN2010103
+.field public static int8 a010104 at b010104
+.field private static int32 aALIGN1010104 at bALIGN1010104
+.field private static int16 aALIGN2010104 at bALIGN2010104
+.field private static int8 aALIGN2010104 at bALIGN3010104
+.field public static float32 a010105 at b010105
+.field private static int32 aALIGN1010105 at bALIGN1010105
+.field public static float32 a010106 at b010106
+.field private static int32 aALIGN1010106 at bALIGN1010106
+.field public static int8 a010107 at b010107
+.field private static int32 aALIGN1010107 at bALIGN1010107
+.field private static int16 aALIGN2010107 at bALIGN2010107
+.field private static int8 aALIGN2010107 at bALIGN3010107
+.field public static float32 a010108 at b010108
+.field private static int32 aALIGN1010108 at bALIGN1010108
+.field public static int16 a010109 at b010109
+.field private static int16 aALIGN1010109 at bALIGN1010109
+.field private static int32 aALIGN2010109 at bALIGN2010109
+.field public static int8 a010110 at b010110
+.field private static int32 aALIGN1010110 at bALIGN1010110
+.field private static int16 aALIGN2010110 at bALIGN2010110
+.field private static int8 aALIGN2010110 at bALIGN3010110
+.field public static int64 a010111 at b010111
+.field public static int16 a010112 at b010112
+.field private static int16 aALIGN1010112 at bALIGN1010112
+.field private static int32 aALIGN2010112 at bALIGN2010112
+.field public static int16 a010113 at b010113
+.field private static int16 aALIGN1010113 at bALIGN1010113
+.field private static int32 aALIGN2010113 at bALIGN2010113
+.field public static int32 a010114 at b010114
+.field private static int32 aALIGN1010114 at bALIGN1010114
+.field public static int32 a010115 at b010115
+.field private static int32 aALIGN1010115 at bALIGN1010115
+.field public static int8 a010116 at b010116
+.field private static int32 aALIGN1010116 at bALIGN1010116
+.field private static int16 aALIGN2010116 at bALIGN2010116
+.field private static int8 aALIGN2010116 at bALIGN3010116
+.field public static int16 a010117 at b010117
+.field private static int16 aALIGN1010117 at bALIGN1010117
+.field private static int32 aALIGN2010117 at bALIGN2010117
+.field public static int64 a010118 at b010118
+.field public static int8 a010119 at b010119
+.field private static int32 aALIGN1010119 at bALIGN1010119
+.field private static int16 aALIGN2010119 at bALIGN2010119
+.field private static int8 aALIGN2010119 at bALIGN3010119
+.field public static int64 a010120 at b010120
+.field public static int32 a010121 at b010121
+.field private static int32 aALIGN1010121 at bALIGN1010121
+.field public static int8 a010122 at b010122
+.field private static int32 aALIGN1010122 at bALIGN1010122
+.field private static int16 aALIGN2010122 at bALIGN2010122
+.field private static int8 aALIGN2010122 at bALIGN3010122
+.field public static int32 a010123 at b010123
+.field private static int32 aALIGN1010123 at bALIGN1010123
+.field public static int8 a010124 at b010124
+.field private static int32 aALIGN1010124 at bALIGN1010124
+.field private static int16 aALIGN2010124 at bALIGN2010124
+.field private static int8 aALIGN2010124 at bALIGN3010124
+.field public static int64 a010125 at b010125
+.field public static float32 a010126 at b010126
+.field private static int32 aALIGN1010126 at bALIGN1010126
+.field public static int64 a010127 at b010127
+ }
+.data b0100 = int64(0)
+.data b0101 = int64(1)
+.data b0102 = float32(2.0)
+.data bALIGN10102 = int32(0)
+.data b0103 = int64(3)
+.data b0104 = int64(4)
+.data b0105 = int16(5)
+.data bALIGN10105 = int16(0)
+.data bALIGN20105 = int32(0)
+.data b0106 = int16(6)
+.data bALIGN10106 = int16(0)
+.data bALIGN20106 = int32(0)
+.data b0107 = float32(7.0)
+.data bALIGN10107 = int32(0)
+.data b0108 = int32(8)
+.data bALIGN10108 = int32(0)
+.data b0109 = int8(9)
+.data bALIGN10109 = int32(0)
+.data bALIGN20109 = int16(0)
+.data bALIGN30109 = int8(0)
+.data b01010 = int32(10)
+.data bALIGN101010 = int32(0)
+.data b01011 = int64(11)
+.data b01012 = int32(12)
+.data bALIGN101012 = int32(0)
+.data b01013 = int8(13)
+.data bALIGN101013 = int32(0)
+.data bALIGN201013 = int16(0)
+.data bALIGN301013 = int8(0)
+.data b01014 = int16(14)
+.data bALIGN101014 = int16(0)
+.data bALIGN201014 = int32(0)
+.data b01015 = int16(15)
+.data bALIGN101015 = int16(0)
+.data bALIGN201015 = int32(0)
+.data b01016 = float32(16.0)
+.data bALIGN101016 = int32(0)
+.data b01017 = float32(17.0)
+.data bALIGN101017 = int32(0)
+.data b01018 = int32(18)
+.data bALIGN101018 = int32(0)
+.data b01019 = int8(19)
+.data bALIGN101019 = int32(0)
+.data bALIGN201019 = int16(0)
+.data bALIGN301019 = int8(0)
+.data b01020 = int32(20)
+.data bALIGN101020 = int32(0)
+.data b01021 = int32(21)
+.data bALIGN101021 = int32(0)
+.data b01022 = int64(22)
+.data b01023 = int32(23)
+.data bALIGN101023 = int32(0)
+.data b01024 = int8(24)
+.data bALIGN101024 = int32(0)
+.data bALIGN201024 = int16(0)
+.data bALIGN301024 = int8(0)
+.data b01025 = int8(25)
+.data bALIGN101025 = int32(0)
+.data bALIGN201025 = int16(0)
+.data bALIGN301025 = int8(0)
+.data b01026 = int16(26)
+.data bALIGN101026 = int16(0)
+.data bALIGN201026 = int32(0)
+.data b01027 = int8(27)
+.data bALIGN101027 = int32(0)
+.data bALIGN201027 = int16(0)
+.data bALIGN301027 = int8(0)
+.data b01028 = int16(28)
+.data bALIGN101028 = int16(0)
+.data bALIGN201028 = int32(0)
+.data b01029 = int64(29)
+.data b01030 = int32(30)
+.data bALIGN101030 = int32(0)
+.data b01031 = int32(31)
+.data bALIGN101031 = int32(0)
+.data b01032 = int32(32)
+.data bALIGN101032 = int32(0)
+.data b01033 = int8(33)
+.data bALIGN101033 = int32(0)
+.data bALIGN201033 = int16(0)
+.data bALIGN301033 = int8(0)
+.data b01034 = int16(34)
+.data bALIGN101034 = int16(0)
+.data bALIGN201034 = int32(0)
+.data b01035 = int32(35)
+.data bALIGN101035 = int32(0)
+.data b01036 = int32(36)
+.data bALIGN101036 = int32(0)
+.data b01037 = int16(37)
+.data bALIGN101037 = int16(0)
+.data bALIGN201037 = int32(0)
+.data b01038 = float32(38.0)
+.data bALIGN101038 = int32(0)
+.data b01039 = int8(39)
+.data bALIGN101039 = int32(0)
+.data bALIGN201039 = int16(0)
+.data bALIGN301039 = int8(0)
+.data b01040 = int8(40)
+.data bALIGN101040 = int32(0)
+.data bALIGN201040 = int16(0)
+.data bALIGN301040 = int8(0)
+.data b01041 = float32(41.0)
+.data bALIGN101041 = int32(0)
+.data b01042 = int32(42)
+.data bALIGN101042 = int32(0)
+.data b01043 = int32(43)
+.data bALIGN101043 = int32(0)
+.data b01044 = int32(44)
+.data bALIGN101044 = int32(0)
+.data b01045 = int64(45)
+.data b01046 = int64(46)
+.data b01047 = int64(47)
+.data b01048 = float32(48.0)
+.data bALIGN101048 = int32(0)
+.data b01049 = int64(49)
+.data b01050 = int32(50)
+.data bALIGN101050 = int32(0)
+.data b01051 = float32(51.0)
+.data bALIGN101051 = int32(0)
+.data b01052 = int32(52)
+.data bALIGN101052 = int32(0)
+.data b01053 = int64(53)
+.data b01054 = int8(54)
+.data bALIGN101054 = int32(0)
+.data bALIGN201054 = int16(0)
+.data bALIGN301054 = int8(0)
+.data b01055 = int8(55)
+.data bALIGN101055 = int32(0)
+.data bALIGN201055 = int16(0)
+.data bALIGN301055 = int8(0)
+.data b01056 = float32(56.0)
+.data bALIGN101056 = int32(0)
+.data b01057 = int32(57)
+.data bALIGN101057 = int32(0)
+.data b01058 = int64(58)
+.data b01059 = int64(59)
+.data b01060 = int8(60)
+.data bALIGN101060 = int32(0)
+.data bALIGN201060 = int16(0)
+.data bALIGN301060 = int8(0)
+.data b01061 = int16(61)
+.data bALIGN101061 = int16(0)
+.data bALIGN201061 = int32(0)
+.data b01062 = int64(62)
+.data b01063 = float32(63.0)
+.data bALIGN101063 = int32(0)
+.data b01064 = int64(64)
+.data b01065 = float32(65.0)
+.data bALIGN101065 = int32(0)
+.data b01066 = int8(66)
+.data bALIGN101066 = int32(0)
+.data bALIGN201066 = int16(0)
+.data bALIGN301066 = int8(0)
+.data b01067 = int16(67)
+.data bALIGN101067 = int16(0)
+.data bALIGN201067 = int32(0)
+.data b01068 = int64(68)
+.data b01069 = int64(69)
+.data b01070 = int64(70)
+.data b01071 = int32(71)
+.data bALIGN101071 = int32(0)
+.data b01072 = int8(72)
+.data bALIGN101072 = int32(0)
+.data bALIGN201072 = int16(0)
+.data bALIGN301072 = int8(0)
+.data b01073 = int32(73)
+.data bALIGN101073 = int32(0)
+.data b01074 = float32(74.0)
+.data bALIGN101074 = int32(0)
+.data b01075 = int64(75)
+.data b01076 = int8(76)
+.data bALIGN101076 = int32(0)
+.data bALIGN201076 = int16(0)
+.data bALIGN301076 = int8(0)
+.data b01077 = int8(77)
+.data bALIGN101077 = int32(0)
+.data bALIGN201077 = int16(0)
+.data bALIGN301077 = int8(0)
+.data b01078 = int8(78)
+.data bALIGN101078 = int32(0)
+.data bALIGN201078 = int16(0)
+.data bALIGN301078 = int8(0)
+.data b01079 = int32(79)
+.data bALIGN101079 = int32(0)
+.data b01080 = int16(80)
+.data bALIGN101080 = int16(0)
+.data bALIGN201080 = int32(0)
+.data b01081 = int32(81)
+.data bALIGN101081 = int32(0)
+.data b01082 = int8(82)
+.data bALIGN101082 = int32(0)
+.data bALIGN201082 = int16(0)
+.data bALIGN301082 = int8(0)
+.data b01083 = int32(83)
+.data bALIGN101083 = int32(0)
+.data b01084 = int8(84)
+.data bALIGN101084 = int32(0)
+.data bALIGN201084 = int16(0)
+.data bALIGN301084 = int8(0)
+.data b01085 = int32(85)
+.data bALIGN101085 = int32(0)
+.data b01086 = int8(86)
+.data bALIGN101086 = int32(0)
+.data bALIGN201086 = int16(0)
+.data bALIGN301086 = int8(0)
+.data b01087 = int64(87)
+.data b01088 = int8(88)
+.data bALIGN101088 = int32(0)
+.data bALIGN201088 = int16(0)
+.data bALIGN301088 = int8(0)
+.data b01089 = int16(89)
+.data bALIGN101089 = int16(0)
+.data bALIGN201089 = int32(0)
+.data b01090 = int64(90)
+.data b01091 = int8(91)
+.data bALIGN101091 = int32(0)
+.data bALIGN201091 = int16(0)
+.data bALIGN301091 = int8(0)
+.data b01092 = int64(92)
+.data b01093 = int16(93)
+.data bALIGN101093 = int16(0)
+.data bALIGN201093 = int32(0)
+.data b01094 = int8(94)
+.data bALIGN101094 = int32(0)
+.data bALIGN201094 = int16(0)
+.data bALIGN301094 = int8(0)
+.data b01095 = float32(95.0)
+.data bALIGN101095 = int32(0)
+.data b01096 = int16(96)
+.data bALIGN101096 = int16(0)
+.data bALIGN201096 = int32(0)
+.data b01097 = int64(97)
+.data b01098 = float32(98.0)
+.data bALIGN101098 = int32(0)
+.data b01099 = int32(99)
+.data bALIGN101099 = int32(0)
+.data b010100 = int32(100)
+.data bALIGN1010100 = int32(0)
+.data b010101 = int32(101)
+.data bALIGN1010101 = int32(0)
+.data b010102 = int8(102)
+.data bALIGN1010102 = int32(0)
+.data bALIGN2010102 = int16(0)
+.data bALIGN3010102 = int8(0)
+.data b010103 = int16(103)
+.data bALIGN1010103 = int16(0)
+.data bALIGN2010103 = int32(0)
+.data b010104 = int8(104)
+.data bALIGN1010104 = int32(0)
+.data bALIGN2010104 = int16(0)
+.data bALIGN3010104 = int8(0)
+.data b010105 = float32(105.0)
+.data bALIGN1010105 = int32(0)
+.data b010106 = float32(106.0)
+.data bALIGN1010106 = int32(0)
+.data b010107 = int8(107)
+.data bALIGN1010107 = int32(0)
+.data bALIGN2010107 = int16(0)
+.data bALIGN3010107 = int8(0)
+.data b010108 = float32(108.0)
+.data bALIGN1010108 = int32(0)
+.data b010109 = int16(109)
+.data bALIGN1010109 = int16(0)
+.data bALIGN2010109 = int32(0)
+.data b010110 = int8(110)
+.data bALIGN1010110 = int32(0)
+.data bALIGN2010110 = int16(0)
+.data bALIGN3010110 = int8(0)
+.data b010111 = int64(111)
+.data b010112 = int16(112)
+.data bALIGN1010112 = int16(0)
+.data bALIGN2010112 = int32(0)
+.data b010113 = int16(113)
+.data bALIGN1010113 = int16(0)
+.data bALIGN2010113 = int32(0)
+.data b010114 = int32(114)
+.data bALIGN1010114 = int32(0)
+.data b010115 = int32(115)
+.data bALIGN1010115 = int32(0)
+.data b010116 = int8(116)
+.data bALIGN1010116 = int32(0)
+.data bALIGN2010116 = int16(0)
+.data bALIGN3010116 = int8(0)
+.data b010117 = int16(117)
+.data bALIGN1010117 = int16(0)
+.data bALIGN2010117 = int32(0)
+.data b010118 = int64(118)
+.data b010119 = int8(119)
+.data bALIGN1010119 = int32(0)
+.data bALIGN2010119 = int16(0)
+.data bALIGN3010119 = int8(0)
+.data b010120 = int64(120)
+.data b010121 = int32(121)
+.data bALIGN1010121 = int32(0)
+.data b010122 = int8(2)
+.data bALIGN1010122 = int32(0)
+.data bALIGN2010122 = int16(0)
+.data bALIGN3010122 = int8(0)
+.data b010123 = int32(123)
+.data bALIGN1010123 = int32(0)
+.data b010124 = int8(4)
+.data bALIGN1010124 = int32(0)
+.data bALIGN2010124 = int16(0)
+.data bALIGN3010124 = int8(0)
+.data b010125 = int64(125)
+.data b010126 = float32(126.0)
+.data bALIGN1010126 = int32(0)
+.data b010127 = int64(127)
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj b/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj
new file mode 100644
index 0000000000..f2bb43bbd9
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rvastatic3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic4.il b/tests/src/JIT/Directed/rvastatics/rvastatic4.il
new file mode 100644
index 0000000000..ef0cdbdb18
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic4.il
@@ -0,0 +1,7675 @@
+.assembly extern mscorlib{}
+.assembly rvastatic4{}
+.class public A{
+ .method static native int Call1(int64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ conv.i
+ ret
+ }
+ .method static native int Call2(float64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ conv.i
+ ret
+ }
+ .method static void V1() {.maxstack 50
+ ldsfld int32 [rvastatic4]A::a0100
+ ldc.i4 0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld int64 [rvastatic4]A::a0101
+ ldc.i8 1
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld float32 [rvastatic4]A::a0102
+ ldc.r4 2.0
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int16 [rvastatic4]A::a0103
+ ldc.i4 3
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int16 [rvastatic4]A::a0104
+ ldc.i4 4
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int64 [rvastatic4]A::a0105
+ ldc.i8 5
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int16 [rvastatic4]A::a0106
+ ldc.i4 6
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld int8 [rvastatic4]A::a0107
+ ldc.i4 7
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int64 [rvastatic4]A::a0108
+ ldc.i8 8
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int32 [rvastatic4]A::a0109
+ ldc.i4 9
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int16 [rvastatic4]A::a01010
+ ldc.i4 10
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld float32 [rvastatic4]A::a01011
+ ldc.r4 11.0
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 12
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld float32 [rvastatic4]A::a01013
+ ldc.r4 13.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld float32 [rvastatic4]A::a01014
+ ldc.r4 14.0
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int8 [rvastatic4]A::a01015
+ ldc.i4 15
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld float32 [rvastatic4]A::a01016
+ ldc.r4 16.0
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int8 [rvastatic4]A::a01017
+ ldc.i4 17
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld float32 [rvastatic4]A::a01018
+ ldc.r4 18.0
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld float32 [rvastatic4]A::a01019
+ ldc.r4 19.0
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld int8 [rvastatic4]A::a01020
+ ldc.i4 20
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld float32 [rvastatic4]A::a01021
+ ldc.r4 21.0
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int64 [rvastatic4]A::a01022
+ ldc.i8 22
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int8 [rvastatic4]A::a01023
+ ldc.i4 23
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int32 [rvastatic4]A::a01024
+ ldc.i4 24
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int64 [rvastatic4]A::a01025
+ ldc.i8 25
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int16 [rvastatic4]A::a01026
+ ldc.i4 26
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int8 [rvastatic4]A::a01027
+ ldc.i4 27
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int16 [rvastatic4]A::a01028
+ ldc.i4 28
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int16 [rvastatic4]A::a01029
+ ldc.i4 29
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int8 [rvastatic4]A::a01030
+ ldc.i4 30
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int8 [rvastatic4]A::a01031
+ ldc.i4 31
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int64 [rvastatic4]A::a01032
+ ldc.i8 32
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld float32 [rvastatic4]A::a01033
+ ldc.r4 33.0
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int16 [rvastatic4]A::a01034
+ ldc.i4 34
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int8 [rvastatic4]A::a01035
+ ldc.i4 35
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int8 [rvastatic4]A::a01036
+ ldc.i4 36
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 37
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int16 [rvastatic4]A::a01038
+ ldc.i4 38
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int8 [rvastatic4]A::a01039
+ ldc.i4 39
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int8 [rvastatic4]A::a01040
+ ldc.i4 40
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int32 [rvastatic4]A::a01041
+ ldc.i4 41
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int64 [rvastatic4]A::a01042
+ ldc.i8 42
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int16 [rvastatic4]A::a01043
+ ldc.i4 43
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int64 [rvastatic4]A::a01044
+ ldc.i8 44
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int64 [rvastatic4]A::a01045
+ ldc.i8 45
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld float32 [rvastatic4]A::a01046
+ ldc.r4 46.0
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int16 [rvastatic4]A::a01047
+ ldc.i4 47
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int64 [rvastatic4]A::a01048
+ ldc.i8 48
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int16 [rvastatic4]A::a01049
+ ldc.i4 49
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int32 [rvastatic4]A::a01050
+ ldc.i4 50
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int16 [rvastatic4]A::a01051
+ ldc.i4 51
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int32 [rvastatic4]A::a01052
+ ldc.i4 52
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int16 [rvastatic4]A::a01053
+ ldc.i4 53
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld float32 [rvastatic4]A::a01054
+ ldc.r4 54.0
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int64 [rvastatic4]A::a01055
+ ldc.i8 55
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld float32 [rvastatic4]A::a01056
+ ldc.r4 56.0
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 57
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int64 [rvastatic4]A::a01058
+ ldc.i8 58
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int64 [rvastatic4]A::a01059
+ ldc.i8 59
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int16 [rvastatic4]A::a01060
+ ldc.i4 60
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 61
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 62
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int16 [rvastatic4]A::a01063
+ ldc.i4 63
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int32 [rvastatic4]A::a01064
+ ldc.i4 64
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int16 [rvastatic4]A::a01065
+ ldc.i4 65
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int8 [rvastatic4]A::a01066
+ ldc.i4 66
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int16 [rvastatic4]A::a01067
+ ldc.i4 67
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int32 [rvastatic4]A::a01068
+ ldc.i4 68
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld float32 [rvastatic4]A::a01069
+ ldc.r4 69.0
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld float32 [rvastatic4]A::a01070
+ ldc.r4 70.0
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int16 [rvastatic4]A::a01071
+ ldc.i4 71
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld float32 [rvastatic4]A::a01072
+ ldc.r4 72.0
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int64 [rvastatic4]A::a01073
+ ldc.i8 73
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int64 [rvastatic4]A::a01074
+ ldc.i8 74
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int32 [rvastatic4]A::a01075
+ ldc.i4 75
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int8 [rvastatic4]A::a01076
+ ldc.i4 76
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int32 [rvastatic4]A::a01077
+ ldc.i4 77
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int16 [rvastatic4]A::a01078
+ ldc.i4 78
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld float32 [rvastatic4]A::a01079
+ ldc.r4 79.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld float32 [rvastatic4]A::a01080
+ ldc.r4 80.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 81.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 82
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int8 [rvastatic4]A::a01083
+ ldc.i4 83
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int64 [rvastatic4]A::a01084
+ ldc.i8 84
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int64 [rvastatic4]A::a01085
+ ldc.i8 85
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int32 [rvastatic4]A::a01086
+ ldc.i4 86
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int32 [rvastatic4]A::a01087
+ ldc.i4 87
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int8 [rvastatic4]A::a01088
+ ldc.i4 88
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int64 [rvastatic4]A::a01089
+ ldc.i8 89
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int8 [rvastatic4]A::a01090
+ ldc.i4 90
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int16 [rvastatic4]A::a01091
+ ldc.i4 91
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld float32 [rvastatic4]A::a01092
+ ldc.r4 92.0
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int64 [rvastatic4]A::a01093
+ ldc.i8 93
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int64 [rvastatic4]A::a01094
+ ldc.i8 94
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int8 [rvastatic4]A::a01095
+ ldc.i4 95
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld float32 [rvastatic4]A::a01096
+ ldc.r4 96.0
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int16 [rvastatic4]A::a01097
+ ldc.i4 97
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld float32 [rvastatic4]A::a01098
+ ldc.r4 98.0
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int32 [rvastatic4]A::a01099
+ ldc.i4 99
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int64 [rvastatic4]A::a010100
+ ldc.i8 100
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int32 [rvastatic4]A::a010101
+ ldc.i4 101
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld float32 [rvastatic4]A::a010102
+ ldc.r4 102.0
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int64 [rvastatic4]A::a010103
+ ldc.i8 103
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int32 [rvastatic4]A::a010104
+ ldc.i4 104
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int16 [rvastatic4]A::a010105
+ ldc.i4 105
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int16 [rvastatic4]A::a010106
+ ldc.i4 106
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld float32 [rvastatic4]A::a010107
+ ldc.r4 107.0
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int32 [rvastatic4]A::a010108
+ ldc.i4 108
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int16 [rvastatic4]A::a010109
+ ldc.i4 109
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int32 [rvastatic4]A::a010110
+ ldc.i4 110
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int32 [rvastatic4]A::a010111
+ ldc.i4 111
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int32 [rvastatic4]A::a010112
+ ldc.i4 112
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int64 [rvastatic4]A::a010113
+ ldc.i8 113
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int64 [rvastatic4]A::a010114
+ ldc.i8 114
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 115
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int64 [rvastatic4]A::a010116
+ ldc.i8 116
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int64 [rvastatic4]A::a010117
+ ldc.i8 117
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int32 [rvastatic4]A::a010118
+ ldc.i4 118
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int64 [rvastatic4]A::a010119
+ ldc.i8 119
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int64 [rvastatic4]A::a010120
+ ldc.i8 120
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int64 [rvastatic4]A::a010121
+ ldc.i8 121
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int16 [rvastatic4]A::a010122
+ ldc.i4 122
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int64 [rvastatic4]A::a010123
+ ldc.i8 123
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 124
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int32 [rvastatic4]A::a010125
+ ldc.i4 125
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int16 [rvastatic4]A::a010126
+ ldc.i4 126
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ldsfld int16 [rvastatic4]A::a010127
+ ldc.i4 127
+ beq a010128
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010128:
+ ret}
+ .method static void V2() {.maxstack 50
+ ldsflda int32 [rvastatic4]A::a0100
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsflda int64 [rvastatic4]A::a0101
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsflda float32 [rvastatic4]A::a0102
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsflda int16 [rvastatic4]A::a0103
+ ldind.i2
+ ldc.i4 3
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsflda int16 [rvastatic4]A::a0104
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsflda int64 [rvastatic4]A::a0105
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsflda int16 [rvastatic4]A::a0106
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsflda int8 [rvastatic4]A::a0107
+ ldind.i1
+ ldc.i4 7
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsflda int64 [rvastatic4]A::a0108
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsflda int32 [rvastatic4]A::a0109
+ ldind.i4
+ ldc.i4 9
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsflda int16 [rvastatic4]A::a01010
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsflda float32 [rvastatic4]A::a01011
+ ldind.r4
+ ldc.r4 11.0
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsflda int16 [rvastatic4]A::a01012
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsflda float32 [rvastatic4]A::a01013
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsflda float32 [rvastatic4]A::a01014
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsflda int8 [rvastatic4]A::a01015
+ ldind.i1
+ ldc.i4 15
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsflda float32 [rvastatic4]A::a01016
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsflda int8 [rvastatic4]A::a01017
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsflda float32 [rvastatic4]A::a01018
+ ldind.r4
+ ldc.r4 18.0
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsflda float32 [rvastatic4]A::a01019
+ ldind.r4
+ ldc.r4 19.0
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsflda int8 [rvastatic4]A::a01020
+ ldind.i1
+ ldc.i4 20
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsflda float32 [rvastatic4]A::a01021
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsflda int64 [rvastatic4]A::a01022
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsflda int8 [rvastatic4]A::a01023
+ ldind.i1
+ ldc.i4 23
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsflda int32 [rvastatic4]A::a01024
+ ldind.i4
+ ldc.i4 24
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsflda int64 [rvastatic4]A::a01025
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsflda int16 [rvastatic4]A::a01026
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsflda int8 [rvastatic4]A::a01027
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsflda int16 [rvastatic4]A::a01028
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsflda int16 [rvastatic4]A::a01029
+ ldind.i2
+ ldc.i4 29
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsflda int8 [rvastatic4]A::a01030
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsflda int8 [rvastatic4]A::a01031
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsflda int64 [rvastatic4]A::a01032
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsflda float32 [rvastatic4]A::a01033
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsflda int16 [rvastatic4]A::a01034
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsflda int8 [rvastatic4]A::a01035
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsflda int8 [rvastatic4]A::a01036
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsflda int32 [rvastatic4]A::a01037
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsflda int16 [rvastatic4]A::a01038
+ ldind.i2
+ ldc.i4 38
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsflda int8 [rvastatic4]A::a01039
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsflda int8 [rvastatic4]A::a01040
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsflda int32 [rvastatic4]A::a01041
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsflda int64 [rvastatic4]A::a01042
+ ldind.i8
+ ldc.i8 42
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsflda int16 [rvastatic4]A::a01043
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsflda int64 [rvastatic4]A::a01044
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsflda int64 [rvastatic4]A::a01045
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsflda float32 [rvastatic4]A::a01046
+ ldind.r4
+ ldc.r4 46.0
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsflda int16 [rvastatic4]A::a01047
+ ldind.i2
+ ldc.i4 47
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsflda int64 [rvastatic4]A::a01048
+ ldind.i8
+ ldc.i8 48
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsflda int16 [rvastatic4]A::a01049
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsflda int32 [rvastatic4]A::a01050
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsflda int16 [rvastatic4]A::a01051
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsflda int32 [rvastatic4]A::a01052
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsflda int16 [rvastatic4]A::a01053
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsflda float32 [rvastatic4]A::a01054
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsflda int64 [rvastatic4]A::a01055
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsflda float32 [rvastatic4]A::a01056
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsflda int64 [rvastatic4]A::a01057
+ ldind.i8
+ ldc.i8 57
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsflda int64 [rvastatic4]A::a01058
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsflda int64 [rvastatic4]A::a01059
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsflda int16 [rvastatic4]A::a01060
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsflda int8 [rvastatic4]A::a01061
+ ldind.i1
+ ldc.i4 61
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsflda int64 [rvastatic4]A::a01062
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsflda int16 [rvastatic4]A::a01063
+ ldind.i2
+ ldc.i4 63
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsflda int32 [rvastatic4]A::a01064
+ ldind.i4
+ ldc.i4 64
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsflda int16 [rvastatic4]A::a01065
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsflda int8 [rvastatic4]A::a01066
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsflda int16 [rvastatic4]A::a01067
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsflda int32 [rvastatic4]A::a01068
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsflda float32 [rvastatic4]A::a01069
+ ldind.r4
+ ldc.r4 69.0
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsflda float32 [rvastatic4]A::a01070
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsflda int16 [rvastatic4]A::a01071
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsflda float32 [rvastatic4]A::a01072
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsflda int64 [rvastatic4]A::a01073
+ ldind.i8
+ ldc.i8 73
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsflda int64 [rvastatic4]A::a01074
+ ldind.i8
+ ldc.i8 74
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsflda int32 [rvastatic4]A::a01075
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsflda int8 [rvastatic4]A::a01076
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsflda int32 [rvastatic4]A::a01077
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsflda int16 [rvastatic4]A::a01078
+ ldind.i2
+ ldc.i4 78
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsflda float32 [rvastatic4]A::a01079
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsflda float32 [rvastatic4]A::a01080
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsflda float32 [rvastatic4]A::a01081
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsflda int32 [rvastatic4]A::a01082
+ ldind.i4
+ ldc.i4 82
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsflda int8 [rvastatic4]A::a01083
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsflda int64 [rvastatic4]A::a01084
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsflda int64 [rvastatic4]A::a01085
+ ldind.i8
+ ldc.i8 85
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsflda int32 [rvastatic4]A::a01086
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsflda int32 [rvastatic4]A::a01087
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsflda int8 [rvastatic4]A::a01088
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsflda int64 [rvastatic4]A::a01089
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsflda int8 [rvastatic4]A::a01090
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsflda int16 [rvastatic4]A::a01091
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsflda float32 [rvastatic4]A::a01092
+ ldind.r4
+ ldc.r4 92.0
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsflda int64 [rvastatic4]A::a01093
+ ldind.i8
+ ldc.i8 93
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsflda int64 [rvastatic4]A::a01094
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsflda int8 [rvastatic4]A::a01095
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsflda float32 [rvastatic4]A::a01096
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsflda int16 [rvastatic4]A::a01097
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsflda float32 [rvastatic4]A::a01098
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsflda int32 [rvastatic4]A::a01099
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsflda int64 [rvastatic4]A::a010100
+ ldind.i8
+ ldc.i8 100
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsflda int32 [rvastatic4]A::a010101
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsflda float32 [rvastatic4]A::a010102
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsflda int64 [rvastatic4]A::a010103
+ ldind.i8
+ ldc.i8 103
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsflda int32 [rvastatic4]A::a010104
+ ldind.i4
+ ldc.i4 104
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsflda int16 [rvastatic4]A::a010105
+ ldind.i2
+ ldc.i4 105
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsflda int16 [rvastatic4]A::a010106
+ ldind.i2
+ ldc.i4 106
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsflda float32 [rvastatic4]A::a010107
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsflda int32 [rvastatic4]A::a010108
+ ldind.i4
+ ldc.i4 108
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsflda int16 [rvastatic4]A::a010109
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsflda int32 [rvastatic4]A::a010110
+ ldind.i4
+ ldc.i4 110
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsflda int32 [rvastatic4]A::a010111
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsflda int32 [rvastatic4]A::a010112
+ ldind.i4
+ ldc.i4 112
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsflda int64 [rvastatic4]A::a010113
+ ldind.i8
+ ldc.i8 113
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsflda int64 [rvastatic4]A::a010114
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsflda int16 [rvastatic4]A::a010115
+ ldind.i2
+ ldc.i4 115
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsflda int64 [rvastatic4]A::a010116
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsflda int64 [rvastatic4]A::a010117
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsflda int32 [rvastatic4]A::a010118
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsflda int64 [rvastatic4]A::a010119
+ ldind.i8
+ ldc.i8 119
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsflda int64 [rvastatic4]A::a010120
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsflda int64 [rvastatic4]A::a010121
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsflda int16 [rvastatic4]A::a010122
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsflda int64 [rvastatic4]A::a010123
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsflda int64 [rvastatic4]A::a010124
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsflda int32 [rvastatic4]A::a010125
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsflda int16 [rvastatic4]A::a010126
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsflda int16 [rvastatic4]A::a010127
+ ldind.i2
+ ldc.i4 127
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static void V3() {.maxstack 50
+ ldsfld float32 [rvastatic4]A::a01079
+ ldc.r4 79.0
+ beq a010129
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010129:
+ ldsfld int32 [rvastatic4]A::a010111
+ ldc.i4 111
+ beq a010130
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010130:
+ ldsfld int16 [rvastatic4]A::a01034
+ ldc.i4 34
+ beq a010131
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010131:
+ ldsfld int8 [rvastatic4]A::a01040
+ ldc.i4 40
+ beq a010132
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010132:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 12
+ beq a010133
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010133:
+ ldsfld int64 [rvastatic4]A::a01089
+ ldc.i8 89
+ beq a010134
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010134:
+ ldsfld float32 [rvastatic4]A::a01070
+ ldc.r4 70.0
+ beq a010135
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010135:
+ ldsfld int8 [rvastatic4]A::a01066
+ ldc.i4 66
+ beq a010136
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010136:
+ ldsfld int64 [rvastatic4]A::a01048
+ ldc.i8 48
+ beq a010137
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010137:
+ ldsfld float32 [rvastatic4]A::a01080
+ ldc.r4 80.0
+ beq a010138
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010138:
+ ldsfld int32 [rvastatic4]A::a010104
+ ldc.i4 104
+ beq a010139
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010139:
+ ldsfld int16 [rvastatic4]A::a01091
+ ldc.i4 91
+ beq a010140
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010140:
+ ldsfld int32 [rvastatic4]A::a01024
+ ldc.i4 24
+ beq a010141
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010141:
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 81.0
+ beq a010142
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010142:
+ ldsfld int64 [rvastatic4]A::a010121
+ ldc.i8 121
+ beq a010143
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010143:
+ ldsfld int8 [rvastatic4]A::a01017
+ ldc.i4 17
+ beq a010144
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010144:
+ ldsfld float32 [rvastatic4]A::a010107
+ ldc.r4 107.0
+ beq a010145
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010145:
+ ldsfld int16 [rvastatic4]A::a01047
+ ldc.i4 47
+ beq a010146
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010146:
+ ldsfld int64 [rvastatic4]A::a01048
+ ldc.i8 48
+ beq a010147
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010147:
+ ldsfld int8 [rvastatic4]A::a01020
+ ldc.i4 20
+ beq a010148
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010148:
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 115
+ beq a010149
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010149:
+ ldsfld int32 [rvastatic4]A::a01024
+ ldc.i4 24
+ beq a010150
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010150:
+ ldsfld float32 [rvastatic4]A::a010102
+ ldc.r4 102.0
+ beq a010151
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010151:
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 124
+ beq a010152
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010152:
+ ldsfld int16 [rvastatic4]A::a01028
+ ldc.i4 28
+ beq a010153
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010153:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 12
+ beq a010154
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010154:
+ ldsfld int64 [rvastatic4]A::a0105
+ ldc.i8 5
+ beq a010155
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010155:
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 115
+ beq a010156
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010156:
+ ldsfld int64 [rvastatic4]A::a010113
+ ldc.i8 113
+ beq a010157
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010157:
+ ldsfld int64 [rvastatic4]A::a0101
+ ldc.i8 1
+ beq a010158
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010158:
+ ldsfld int16 [rvastatic4]A::a010122
+ ldc.i4 122
+ beq a010159
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010159:
+ ldsfld int32 [rvastatic4]A::a010108
+ ldc.i4 108
+ beq a010160
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010160:
+ ldsfld int8 [rvastatic4]A::a01090
+ ldc.i4 90
+ beq a010161
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010161:
+ ldsfld int8 [rvastatic4]A::a01090
+ ldc.i4 90
+ beq a010162
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010162:
+ ldsfld int32 [rvastatic4]A::a010112
+ ldc.i4 112
+ beq a010163
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010163:
+ ldsfld int16 [rvastatic4]A::a01067
+ ldc.i4 67
+ beq a010164
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010164:
+ ldsfld int32 [rvastatic4]A::a01064
+ ldc.i4 64
+ beq a010165
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010165:
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 57
+ beq a010166
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010166:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 37
+ beq a010167
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010167:
+ ldsfld int64 [rvastatic4]A::a010120
+ ldc.i8 120
+ beq a010168
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010168:
+ ldsfld float32 [rvastatic4]A::a01019
+ ldc.r4 19.0
+ beq a010169
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010169:
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 124
+ beq a010170
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010170:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 37
+ beq a010171
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010171:
+ ldsfld int8 [rvastatic4]A::a0107
+ ldc.i4 7
+ beq a010172
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010172:
+ ldsfld int16 [rvastatic4]A::a010106
+ ldc.i4 106
+ beq a010173
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010173:
+ ldsfld int64 [rvastatic4]A::a01073
+ ldc.i8 73
+ beq a010174
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010174:
+ ldsfld int64 [rvastatic4]A::a01074
+ ldc.i8 74
+ beq a010175
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010175:
+ ldsfld int8 [rvastatic4]A::a01015
+ ldc.i4 15
+ beq a010176
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010176:
+ ldsfld int32 [rvastatic4]A::a01077
+ ldc.i4 77
+ beq a010177
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010177:
+ ldsfld int8 [rvastatic4]A::a01031
+ ldc.i4 31
+ beq a010178
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010178:
+ ldsfld int16 [rvastatic4]A::a01067
+ ldc.i4 67
+ beq a010179
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010179:
+ ldsfld int16 [rvastatic4]A::a01071
+ ldc.i4 71
+ beq a010180
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010180:
+ ldsfld int16 [rvastatic4]A::a01047
+ ldc.i4 47
+ beq a010181
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010181:
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 61
+ beq a010182
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010182:
+ ldsfld int64 [rvastatic4]A::a010114
+ ldc.i8 114
+ beq a010183
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010183:
+ ldsfld float32 [rvastatic4]A::a01054
+ ldc.r4 54.0
+ beq a010184
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010184:
+ ldsfld int32 [rvastatic4]A::a0109
+ ldc.i4 9
+ beq a010185
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010185:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 37
+ beq a010186
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010186:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 12
+ beq a010187
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010187:
+ ldsfld int32 [rvastatic4]A::a0100
+ ldc.i4 0
+ beq a010188
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010188:
+ ldsfld int8 [rvastatic4]A::a01083
+ ldc.i4 83
+ beq a010189
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010189:
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 82
+ beq a010190
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010190:
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 81.0
+ beq a010191
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010191:
+ ldsfld float32 [rvastatic4]A::a01046
+ ldc.r4 46.0
+ beq a010192
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010192:
+ ldsfld int64 [rvastatic4]A::a01085
+ ldc.i8 85
+ beq a010193
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010193:
+ ldsfld int64 [rvastatic4]A::a010123
+ ldc.i8 123
+ beq a010194
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010194:
+ ldsfld int32 [rvastatic4]A::a0100
+ ldc.i4 0
+ beq a010195
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010195:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 62
+ beq a010196
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010196:
+ ldsfld float32 [rvastatic4]A::a01096
+ ldc.r4 96.0
+ beq a010197
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010197:
+ ldsfld int16 [rvastatic4]A::a01053
+ ldc.i4 53
+ beq a010198
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010198:
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 81.0
+ beq a010199
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010199:
+ ldsfld int16 [rvastatic4]A::a01049
+ ldc.i4 49
+ beq a010200
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010200:
+ ldsfld int32 [rvastatic4]A::a0109
+ ldc.i4 9
+ beq a010201
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010201:
+ ldsfld float32 [rvastatic4]A::a01056
+ ldc.r4 56.0
+ beq a010202
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010202:
+ ldsfld int64 [rvastatic4]A::a0101
+ ldc.i8 1
+ beq a010203
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010203:
+ ldsfld int64 [rvastatic4]A::a010119
+ ldc.i8 119
+ beq a010204
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010204:
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 115
+ beq a010205
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010205:
+ ldsfld int64 [rvastatic4]A::a01094
+ ldc.i8 94
+ beq a010206
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010206:
+ ldsfld int8 [rvastatic4]A::a01017
+ ldc.i4 17
+ beq a010207
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010207:
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 82
+ beq a010208
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010208:
+ ldsfld int16 [rvastatic4]A::a01065
+ ldc.i4 65
+ beq a010209
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010209:
+ ldsfld int64 [rvastatic4]A::a010117
+ ldc.i8 117
+ beq a010210
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010210:
+ ldsfld int16 [rvastatic4]A::a01038
+ ldc.i4 38
+ beq a010211
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010211:
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 82
+ beq a010212
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010212:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 62
+ beq a010213
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010213:
+ ldsfld int32 [rvastatic4]A::a01050
+ ldc.i4 50
+ beq a010214
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010214:
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 61
+ beq a010215
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010215:
+ ldsfld int16 [rvastatic4]A::a01029
+ ldc.i4 29
+ beq a010216
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010216:
+ ldsfld int32 [rvastatic4]A::a010104
+ ldc.i4 104
+ beq a010217
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010217:
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 57
+ beq a010218
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010218:
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 57
+ beq a010219
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010219:
+ ldsfld int16 [rvastatic4]A::a01026
+ ldc.i4 26
+ beq a010220
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010220:
+ ldsfld int64 [rvastatic4]A::a01045
+ ldc.i8 45
+ beq a010221
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010221:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 37
+ beq a010222
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010222:
+ ldsfld int8 [rvastatic4]A::a01036
+ ldc.i4 36
+ beq a010223
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010223:
+ ldsfld int32 [rvastatic4]A::a01064
+ ldc.i4 64
+ beq a010224
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010224:
+ ldsfld int16 [rvastatic4]A::a01043
+ ldc.i4 43
+ beq a010225
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010225:
+ ldsfld int32 [rvastatic4]A::a010118
+ ldc.i4 118
+ beq a010226
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010226:
+ ldsfld int32 [rvastatic4]A::a01050
+ ldc.i4 50
+ beq a010227
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010227:
+ ldsfld int32 [rvastatic4]A::a010111
+ ldc.i4 111
+ beq a010228
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010228:
+ ldsfld float32 [rvastatic4]A::a01072
+ ldc.r4 72.0
+ beq a010229
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010229:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 12
+ beq a010230
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010230:
+ ldsfld float32 [rvastatic4]A::a01046
+ ldc.r4 46.0
+ beq a010231
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010231:
+ ldsfld int8 [rvastatic4]A::a01023
+ ldc.i4 23
+ beq a010232
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010232:
+ ldsfld int32 [rvastatic4]A::a01077
+ ldc.i4 77
+ beq a010233
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010233:
+ ldsfld float32 [rvastatic4]A::a01018
+ ldc.r4 18.0
+ beq a010234
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010234:
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 61
+ beq a010235
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010235:
+ ldsfld int32 [rvastatic4]A::a010118
+ ldc.i4 118
+ beq a010236
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010236:
+ ldsfld int64 [rvastatic4]A::a01059
+ ldc.i8 59
+ beq a010237
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010237:
+ ldsfld int16 [rvastatic4]A::a010122
+ ldc.i4 122
+ beq a010238
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010238:
+ ldsfld int8 [rvastatic4]A::a01066
+ ldc.i4 66
+ beq a010239
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010239:
+ ldsfld int16 [rvastatic4]A::a01043
+ ldc.i4 43
+ beq a010240
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010240:
+ ldsfld int8 [rvastatic4]A::a01020
+ ldc.i4 20
+ beq a010241
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010241:
+ ldsfld int64 [rvastatic4]A::a01058
+ ldc.i8 58
+ beq a010242
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010242:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 62
+ beq a010243
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010243:
+ ldsfld int64 [rvastatic4]A::a01094
+ ldc.i8 94
+ beq a010244
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010244:
+ ldsfld int64 [rvastatic4]A::a01044
+ ldc.i8 44
+ beq a010245
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010245:
+ ldsfld int16 [rvastatic4]A::a010126
+ ldc.i4 126
+ beq a010246
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010246:
+ ldsfld int32 [rvastatic4]A::a010112
+ ldc.i4 112
+ beq a010247
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010247:
+ ldsfld int16 [rvastatic4]A::a01034
+ ldc.i4 34
+ beq a010248
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010248:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 62
+ beq a010249
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010249:
+ ldsfld int32 [rvastatic4]A::a01099
+ ldc.i4 99
+ beq a010250
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010250:
+ ldsfld int64 [rvastatic4]A::a01085
+ ldc.i8 85
+ beq a010251
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010251:
+ ldsfld int8 [rvastatic4]A::a01039
+ ldc.i4 39
+ beq a010252
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010252:
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 124
+ beq a010253
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010253:
+ ldsfld int64 [rvastatic4]A::a01055
+ ldc.i8 55
+ beq a010254
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010254:
+ ldsfld int16 [rvastatic4]A::a0104
+ ldc.i4 4
+ beq a010255
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010255:
+ ldsfld int64 [rvastatic4]A::a010100
+ ldc.i8 100
+ beq a010256
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010256:
+ ret}
+ .method static void V4() {.maxstack 50
+ ldsflda int32 [rvastatic4]A::a0100
+ conv.i8
+ ldc.i8 19349
+ add
+ conv.i8
+ ldc.i8 19349
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int64 [rvastatic4]A::a0101
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic4]A::a0102
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int16 [rvastatic4]A::a0103
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int16 [rvastatic4]A::a0104
+ conv.i8
+ ldc.i8 46081
+ add
+ conv.i8
+ ldc.i8 46081
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int64 [rvastatic4]A::a0105
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic4]A::a0106
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda int8 [rvastatic4]A::a0107
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 7
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int64 [rvastatic4]A::a0108
+ conv.i8
+ ldc.i8 3218
+ add
+ conv.i8
+ ldc.i8 3218
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int32 [rvastatic4]A::a0109
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int16 [rvastatic4]A::a01010
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda float32 [rvastatic4]A::a01011
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 11.0
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int16 [rvastatic4]A::a01012
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda float32 [rvastatic4]A::a01013
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda float32 [rvastatic4]A::a01014
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int8 [rvastatic4]A::a01015
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic4]A::a01016
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int8 [rvastatic4]A::a01017
+ conv.i8
+ ldc.i8 15229
+ add
+ conv.i8
+ ldc.i8 15229
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda float32 [rvastatic4]A::a01018
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 18.0
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda float32 [rvastatic4]A::a01019
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 19.0
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int8 [rvastatic4]A::a01020
+ conv.i8
+ ldc.i8 28655
+ add
+ conv.i8
+ ldc.i8 28655
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda float32 [rvastatic4]A::a01021
+ conv.i8
+ ldc.i8 33205
+ add
+ conv.i8
+ ldc.i8 33205
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic4]A::a01022
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int8 [rvastatic4]A::a01023
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int32 [rvastatic4]A::a01024
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic4]A::a01025
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic4]A::a01026
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic4]A::a01027
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int16 [rvastatic4]A::a01028
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int16 [rvastatic4]A::a01029
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int8 [rvastatic4]A::a01030
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int8 [rvastatic4]A::a01031
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int64 [rvastatic4]A::a01032
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda float32 [rvastatic4]A::a01033
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic4]A::a01034
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int8 [rvastatic4]A::a01035
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int8 [rvastatic4]A::a01036
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic4]A::a01037
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int16 [rvastatic4]A::a01038
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int8 [rvastatic4]A::a01039
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int8 [rvastatic4]A::a01040
+ conv.i8
+ ldc.i8 65464
+ add
+ conv.i8
+ ldc.i8 65464
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic4]A::a01041
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int64 [rvastatic4]A::a01042
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int16 [rvastatic4]A::a01043
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int64 [rvastatic4]A::a01044
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int64 [rvastatic4]A::a01045
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda float32 [rvastatic4]A::a01046
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 46.0
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int16 [rvastatic4]A::a01047
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int64 [rvastatic4]A::a01048
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int16 [rvastatic4]A::a01049
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic4]A::a01050
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int16 [rvastatic4]A::a01051
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic4]A::a01052
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int16 [rvastatic4]A::a01053
+ conv.i8
+ ldc.i8 26716
+ add
+ conv.i8
+ ldc.i8 26716
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda float32 [rvastatic4]A::a01054
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int64 [rvastatic4]A::a01055
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic4]A::a01056
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int64 [rvastatic4]A::a01057
+ conv.i8
+ ldc.i8 62605
+ add
+ conv.i8
+ ldc.i8 62605
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int64 [rvastatic4]A::a01058
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic4]A::a01059
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int16 [rvastatic4]A::a01060
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int8 [rvastatic4]A::a01061
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic4]A::a01062
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int16 [rvastatic4]A::a01063
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int32 [rvastatic4]A::a01064
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int16 [rvastatic4]A::a01065
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic4]A::a01066
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic4]A::a01067
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int32 [rvastatic4]A::a01068
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda float32 [rvastatic4]A::a01069
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 69.0
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda float32 [rvastatic4]A::a01070
+ conv.i8
+ ldc.i8 48606
+ add
+ conv.i8
+ ldc.i8 48606
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic4]A::a01071
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda float32 [rvastatic4]A::a01072
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int64 [rvastatic4]A::a01073
+ conv.i8
+ ldc.i8 5680
+ add
+ conv.i8
+ ldc.i8 5680
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int64 [rvastatic4]A::a01074
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int32 [rvastatic4]A::a01075
+ conv.i8
+ ldc.i8 32361
+ add
+ conv.i8
+ ldc.i8 32361
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic4]A::a01076
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int32 [rvastatic4]A::a01077
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int16 [rvastatic4]A::a01078
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda float32 [rvastatic4]A::a01079
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic4]A::a01080
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda float32 [rvastatic4]A::a01081
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int32 [rvastatic4]A::a01082
+ conv.i8
+ ldc.i8 30180
+ add
+ conv.i8
+ ldc.i8 30180
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int8 [rvastatic4]A::a01083
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int64 [rvastatic4]A::a01084
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int64 [rvastatic4]A::a01085
+ conv.i8
+ ldc.i8 18787
+ add
+ conv.i8
+ ldc.i8 18787
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int32 [rvastatic4]A::a01086
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int32 [rvastatic4]A::a01087
+ conv.i8
+ ldc.i8 16913
+ add
+ conv.i8
+ ldc.i8 16913
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int8 [rvastatic4]A::a01088
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int64 [rvastatic4]A::a01089
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic4]A::a01090
+ conv.i8
+ ldc.i8 42807
+ add
+ conv.i8
+ ldc.i8 42807
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int16 [rvastatic4]A::a01091
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda float32 [rvastatic4]A::a01092
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 92.0
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int64 [rvastatic4]A::a01093
+ conv.i8
+ ldc.i8 37525
+ add
+ conv.i8
+ ldc.i8 37525
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int64 [rvastatic4]A::a01094
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int8 [rvastatic4]A::a01095
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda float32 [rvastatic4]A::a01096
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int16 [rvastatic4]A::a01097
+ conv.i8
+ ldc.i8 41331
+ add
+ conv.i8
+ ldc.i8 41331
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda float32 [rvastatic4]A::a01098
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int32 [rvastatic4]A::a01099
+ conv.i8
+ ldc.i8 4072
+ add
+ conv.i8
+ ldc.i8 4072
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int64 [rvastatic4]A::a010100
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int32 [rvastatic4]A::a010101
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda float32 [rvastatic4]A::a010102
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int64 [rvastatic4]A::a010103
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int32 [rvastatic4]A::a010104
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int16 [rvastatic4]A::a010105
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int16 [rvastatic4]A::a010106
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda float32 [rvastatic4]A::a010107
+ conv.i8
+ ldc.i8 61555
+ add
+ conv.i8
+ ldc.i8 61555
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int32 [rvastatic4]A::a010108
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic4]A::a010109
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int32 [rvastatic4]A::a010110
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic4]A::a010111
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int32 [rvastatic4]A::a010112
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int64 [rvastatic4]A::a010113
+ conv.i8
+ ldc.i8 45274
+ add
+ conv.i8
+ ldc.i8 45274
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int64 [rvastatic4]A::a010114
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int16 [rvastatic4]A::a010115
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int64 [rvastatic4]A::a010116
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic4]A::a010117
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int32 [rvastatic4]A::a010118
+ conv.i8
+ ldc.i8 9701
+ add
+ conv.i8
+ ldc.i8 9701
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int64 [rvastatic4]A::a010119
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int64 [rvastatic4]A::a010120
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int64 [rvastatic4]A::a010121
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int16 [rvastatic4]A::a010122
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int64 [rvastatic4]A::a010123
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic4]A::a010124
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int32 [rvastatic4]A::a010125
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int16 [rvastatic4]A::a010126
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int16 [rvastatic4]A::a010127
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V5() {.maxstack 50
+ ldsflda int32 [rvastatic4]A::a0100
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda int64 [rvastatic4]A::a0101
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 1
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda float32 [rvastatic4]A::a0102
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 2.0
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int16 [rvastatic4]A::a0103
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int16 [rvastatic4]A::a0104
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda int64 [rvastatic4]A::a0105
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 5
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda int16 [rvastatic4]A::a0106
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 6
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda int8 [rvastatic4]A::a0107
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 7
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int64 [rvastatic4]A::a0108
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int32 [rvastatic4]A::a0109
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int16 [rvastatic4]A::a01010
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda float32 [rvastatic4]A::a01011
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 11.0
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int16 [rvastatic4]A::a01012
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda float32 [rvastatic4]A::a01013
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 13.0
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda float32 [rvastatic4]A::a01014
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.r4
+ ldc.r4 14.0
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int8 [rvastatic4]A::a01015
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda float32 [rvastatic4]A::a01016
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 16.0
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int8 [rvastatic4]A::a01017
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda float32 [rvastatic4]A::a01018
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.r4
+ ldc.r4 18.0
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda float32 [rvastatic4]A::a01019
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 19.0
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda int8 [rvastatic4]A::a01020
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 20
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda float32 [rvastatic4]A::a01021
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda int64 [rvastatic4]A::a01022
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 22
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int8 [rvastatic4]A::a01023
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda int32 [rvastatic4]A::a01024
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 24
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int64 [rvastatic4]A::a01025
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int16 [rvastatic4]A::a01026
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic4]A::a01027
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int16 [rvastatic4]A::a01028
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int16 [rvastatic4]A::a01029
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int8 [rvastatic4]A::a01030
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int8 [rvastatic4]A::a01031
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i1
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int64 [rvastatic4]A::a01032
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda float32 [rvastatic4]A::a01033
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic4]A::a01034
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int8 [rvastatic4]A::a01035
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int8 [rvastatic4]A::a01036
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic4]A::a01037
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int16 [rvastatic4]A::a01038
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int8 [rvastatic4]A::a01039
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda int8 [rvastatic4]A::a01040
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i1
+ ldc.i4 40
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic4]A::a01041
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int64 [rvastatic4]A::a01042
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int16 [rvastatic4]A::a01043
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int64 [rvastatic4]A::a01044
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int64 [rvastatic4]A::a01045
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda float32 [rvastatic4]A::a01046
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 46.0
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int16 [rvastatic4]A::a01047
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int64 [rvastatic4]A::a01048
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int16 [rvastatic4]A::a01049
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int32 [rvastatic4]A::a01050
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int16 [rvastatic4]A::a01051
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic4]A::a01052
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int16 [rvastatic4]A::a01053
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda float32 [rvastatic4]A::a01054
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 54.0
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int64 [rvastatic4]A::a01055
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic4]A::a01056
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda int64 [rvastatic4]A::a01057
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 57
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int64 [rvastatic4]A::a01058
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int64 [rvastatic4]A::a01059
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int16 [rvastatic4]A::a01060
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda int8 [rvastatic4]A::a01061
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 61
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int64 [rvastatic4]A::a01062
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda int16 [rvastatic4]A::a01063
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 63
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int32 [rvastatic4]A::a01064
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int16 [rvastatic4]A::a01065
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic4]A::a01066
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic4]A::a01067
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int32 [rvastatic4]A::a01068
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda float32 [rvastatic4]A::a01069
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 69.0
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda float32 [rvastatic4]A::a01070
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 70.0
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int16 [rvastatic4]A::a01071
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda float32 [rvastatic4]A::a01072
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 72.0
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda int64 [rvastatic4]A::a01073
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 73
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int64 [rvastatic4]A::a01074
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int32 [rvastatic4]A::a01075
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int8 [rvastatic4]A::a01076
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i1
+ ldc.i4 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int32 [rvastatic4]A::a01077
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int16 [rvastatic4]A::a01078
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda float32 [rvastatic4]A::a01079
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic4]A::a01080
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda float32 [rvastatic4]A::a01081
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda int32 [rvastatic4]A::a01082
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 82
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int8 [rvastatic4]A::a01083
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int64 [rvastatic4]A::a01084
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int64 [rvastatic4]A::a01085
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int32 [rvastatic4]A::a01086
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i4
+ ldc.i4 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int32 [rvastatic4]A::a01087
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int8 [rvastatic4]A::a01088
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int64 [rvastatic4]A::a01089
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int8 [rvastatic4]A::a01090
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i1
+ ldc.i4 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int16 [rvastatic4]A::a01091
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda float32 [rvastatic4]A::a01092
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 92.0
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int64 [rvastatic4]A::a01093
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int64 [rvastatic4]A::a01094
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int8 [rvastatic4]A::a01095
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda float32 [rvastatic4]A::a01096
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int16 [rvastatic4]A::a01097
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda float32 [rvastatic4]A::a01098
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 98.0
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int32 [rvastatic4]A::a01099
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda int64 [rvastatic4]A::a010100
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 100
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int32 [rvastatic4]A::a010101
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda float32 [rvastatic4]A::a010102
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 102.0
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int64 [rvastatic4]A::a010103
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda int32 [rvastatic4]A::a010104
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 104
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int16 [rvastatic4]A::a010105
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda int16 [rvastatic4]A::a010106
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 106
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda float32 [rvastatic4]A::a010107
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.r4
+ ldc.r4 107.0
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int32 [rvastatic4]A::a010108
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda int16 [rvastatic4]A::a010109
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 109
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda int32 [rvastatic4]A::a010110
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 110
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic4]A::a010111
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int32 [rvastatic4]A::a010112
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int64 [rvastatic4]A::a010113
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int64 [rvastatic4]A::a010114
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int16 [rvastatic4]A::a010115
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda int64 [rvastatic4]A::a010116
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 116
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int64 [rvastatic4]A::a010117
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int32 [rvastatic4]A::a010118
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int64 [rvastatic4]A::a010119
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int64 [rvastatic4]A::a010120
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int64 [rvastatic4]A::a010121
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int16 [rvastatic4]A::a010122
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i2
+ ldc.i4 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda int64 [rvastatic4]A::a010123
+ conv.i8
+ call native int [rvastatic4]A::Call1(int64)
+ ldind.i8
+ ldc.i8 123
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic4]A::a010124
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int32 [rvastatic4]A::a010125
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i4
+ ldc.i4 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int16 [rvastatic4]A::a010126
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int16 [rvastatic4]A::a010127
+ conv.r8
+ call native int [rvastatic4]A::Call2(float64)
+ ldind.i2
+ ldc.i4 127
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V6() {.maxstack 50
+ ldsfld int32 [rvastatic4]A::a0100
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a0100
+ ldsfld int32 [rvastatic4]A::a0100
+ ldc.i4 1
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsfld int64 [rvastatic4]A::a0101
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a0101
+ ldsfld int64 [rvastatic4]A::a0101
+ ldc.i8 2
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld float32 [rvastatic4]A::a0102
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a0102
+ ldsfld float32 [rvastatic4]A::a0102
+ ldc.r4 3.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int16 [rvastatic4]A::a0103
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a0103
+ ldsfld int16 [rvastatic4]A::a0103
+ ldc.i4 4
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int16 [rvastatic4]A::a0104
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a0104
+ ldsfld int16 [rvastatic4]A::a0104
+ ldc.i4 5
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int64 [rvastatic4]A::a0105
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a0105
+ ldsfld int64 [rvastatic4]A::a0105
+ ldc.i8 6
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld int16 [rvastatic4]A::a0106
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a0106
+ ldsfld int16 [rvastatic4]A::a0106
+ ldc.i4 7
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int8 [rvastatic4]A::a0107
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a0107
+ ldsfld int8 [rvastatic4]A::a0107
+ ldc.i4 8
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld int64 [rvastatic4]A::a0108
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a0108
+ ldsfld int64 [rvastatic4]A::a0108
+ ldc.i8 9
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int32 [rvastatic4]A::a0109
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a0109
+ ldsfld int32 [rvastatic4]A::a0109
+ ldc.i4 10
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int16 [rvastatic4]A::a01010
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01010
+ ldsfld int16 [rvastatic4]A::a01010
+ ldc.i4 11
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld float32 [rvastatic4]A::a01011
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01011
+ ldsfld float32 [rvastatic4]A::a01011
+ ldc.r4 12.0
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01012
+ ldsfld int16 [rvastatic4]A::a01012
+ ldc.i4 13
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld float32 [rvastatic4]A::a01013
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01013
+ ldsfld float32 [rvastatic4]A::a01013
+ ldc.r4 14.0
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld float32 [rvastatic4]A::a01014
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01014
+ ldsfld float32 [rvastatic4]A::a01014
+ ldc.r4 15.0
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int8 [rvastatic4]A::a01015
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01015
+ ldsfld int8 [rvastatic4]A::a01015
+ ldc.i4 16
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld float32 [rvastatic4]A::a01016
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01016
+ ldsfld float32 [rvastatic4]A::a01016
+ ldc.r4 17.0
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld int8 [rvastatic4]A::a01017
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01017
+ ldsfld int8 [rvastatic4]A::a01017
+ ldc.i4 18
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld float32 [rvastatic4]A::a01018
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01018
+ ldsfld float32 [rvastatic4]A::a01018
+ ldc.r4 19.0
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld float32 [rvastatic4]A::a01019
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01019
+ ldsfld float32 [rvastatic4]A::a01019
+ ldc.r4 20.0
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int8 [rvastatic4]A::a01020
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01020
+ ldsfld int8 [rvastatic4]A::a01020
+ ldc.i4 21
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld float32 [rvastatic4]A::a01021
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01021
+ ldsfld float32 [rvastatic4]A::a01021
+ ldc.r4 22.0
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld int64 [rvastatic4]A::a01022
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01022
+ ldsfld int64 [rvastatic4]A::a01022
+ ldc.i8 23
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int8 [rvastatic4]A::a01023
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01023
+ ldsfld int8 [rvastatic4]A::a01023
+ ldc.i4 24
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int32 [rvastatic4]A::a01024
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01024
+ ldsfld int32 [rvastatic4]A::a01024
+ ldc.i4 25
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int64 [rvastatic4]A::a01025
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01025
+ ldsfld int64 [rvastatic4]A::a01025
+ ldc.i8 26
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int16 [rvastatic4]A::a01026
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01026
+ ldsfld int16 [rvastatic4]A::a01026
+ ldc.i4 27
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int8 [rvastatic4]A::a01027
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01027
+ ldsfld int8 [rvastatic4]A::a01027
+ ldc.i4 28
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int16 [rvastatic4]A::a01028
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01028
+ ldsfld int16 [rvastatic4]A::a01028
+ ldc.i4 29
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int16 [rvastatic4]A::a01029
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01029
+ ldsfld int16 [rvastatic4]A::a01029
+ ldc.i4 30
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int8 [rvastatic4]A::a01030
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01030
+ ldsfld int8 [rvastatic4]A::a01030
+ ldc.i4 31
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int8 [rvastatic4]A::a01031
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01031
+ ldsfld int8 [rvastatic4]A::a01031
+ ldc.i4 32
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int64 [rvastatic4]A::a01032
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01032
+ ldsfld int64 [rvastatic4]A::a01032
+ ldc.i8 33
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld float32 [rvastatic4]A::a01033
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01033
+ ldsfld float32 [rvastatic4]A::a01033
+ ldc.r4 34.0
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int16 [rvastatic4]A::a01034
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01034
+ ldsfld int16 [rvastatic4]A::a01034
+ ldc.i4 35
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int8 [rvastatic4]A::a01035
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01035
+ ldsfld int8 [rvastatic4]A::a01035
+ ldc.i4 36
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int8 [rvastatic4]A::a01036
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01036
+ ldsfld int8 [rvastatic4]A::a01036
+ ldc.i4 37
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01037
+ ldsfld int32 [rvastatic4]A::a01037
+ ldc.i4 38
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int16 [rvastatic4]A::a01038
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01038
+ ldsfld int16 [rvastatic4]A::a01038
+ ldc.i4 39
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int8 [rvastatic4]A::a01039
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01039
+ ldsfld int8 [rvastatic4]A::a01039
+ ldc.i4 40
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int8 [rvastatic4]A::a01040
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01040
+ ldsfld int8 [rvastatic4]A::a01040
+ ldc.i4 41
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int32 [rvastatic4]A::a01041
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01041
+ ldsfld int32 [rvastatic4]A::a01041
+ ldc.i4 42
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int64 [rvastatic4]A::a01042
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01042
+ ldsfld int64 [rvastatic4]A::a01042
+ ldc.i8 43
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int16 [rvastatic4]A::a01043
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01043
+ ldsfld int16 [rvastatic4]A::a01043
+ ldc.i4 44
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int64 [rvastatic4]A::a01044
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01044
+ ldsfld int64 [rvastatic4]A::a01044
+ ldc.i8 45
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int64 [rvastatic4]A::a01045
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01045
+ ldsfld int64 [rvastatic4]A::a01045
+ ldc.i8 46
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld float32 [rvastatic4]A::a01046
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01046
+ ldsfld float32 [rvastatic4]A::a01046
+ ldc.r4 47.0
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int16 [rvastatic4]A::a01047
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01047
+ ldsfld int16 [rvastatic4]A::a01047
+ ldc.i4 48
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int64 [rvastatic4]A::a01048
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01048
+ ldsfld int64 [rvastatic4]A::a01048
+ ldc.i8 49
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int16 [rvastatic4]A::a01049
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01049
+ ldsfld int16 [rvastatic4]A::a01049
+ ldc.i4 50
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int32 [rvastatic4]A::a01050
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01050
+ ldsfld int32 [rvastatic4]A::a01050
+ ldc.i4 51
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int16 [rvastatic4]A::a01051
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01051
+ ldsfld int16 [rvastatic4]A::a01051
+ ldc.i4 52
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int32 [rvastatic4]A::a01052
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01052
+ ldsfld int32 [rvastatic4]A::a01052
+ ldc.i4 53
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int16 [rvastatic4]A::a01053
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01053
+ ldsfld int16 [rvastatic4]A::a01053
+ ldc.i4 54
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld float32 [rvastatic4]A::a01054
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01054
+ ldsfld float32 [rvastatic4]A::a01054
+ ldc.r4 55.0
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int64 [rvastatic4]A::a01055
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01055
+ ldsfld int64 [rvastatic4]A::a01055
+ ldc.i8 56
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld float32 [rvastatic4]A::a01056
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01056
+ ldsfld float32 [rvastatic4]A::a01056
+ ldc.r4 57.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01057
+ ldsfld int64 [rvastatic4]A::a01057
+ ldc.i8 58
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int64 [rvastatic4]A::a01058
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01058
+ ldsfld int64 [rvastatic4]A::a01058
+ ldc.i8 59
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int64 [rvastatic4]A::a01059
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01059
+ ldsfld int64 [rvastatic4]A::a01059
+ ldc.i8 60
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int16 [rvastatic4]A::a01060
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01060
+ ldsfld int16 [rvastatic4]A::a01060
+ ldc.i4 61
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01061
+ ldsfld int8 [rvastatic4]A::a01061
+ ldc.i4 62
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01062
+ ldsfld int64 [rvastatic4]A::a01062
+ ldc.i8 63
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int16 [rvastatic4]A::a01063
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01063
+ ldsfld int16 [rvastatic4]A::a01063
+ ldc.i4 64
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int32 [rvastatic4]A::a01064
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01064
+ ldsfld int32 [rvastatic4]A::a01064
+ ldc.i4 65
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int16 [rvastatic4]A::a01065
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01065
+ ldsfld int16 [rvastatic4]A::a01065
+ ldc.i4 66
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int8 [rvastatic4]A::a01066
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01066
+ ldsfld int8 [rvastatic4]A::a01066
+ ldc.i4 67
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int16 [rvastatic4]A::a01067
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01067
+ ldsfld int16 [rvastatic4]A::a01067
+ ldc.i4 68
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int32 [rvastatic4]A::a01068
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01068
+ ldsfld int32 [rvastatic4]A::a01068
+ ldc.i4 69
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld float32 [rvastatic4]A::a01069
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01069
+ ldsfld float32 [rvastatic4]A::a01069
+ ldc.r4 70.0
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld float32 [rvastatic4]A::a01070
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01070
+ ldsfld float32 [rvastatic4]A::a01070
+ ldc.r4 71.0
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int16 [rvastatic4]A::a01071
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01071
+ ldsfld int16 [rvastatic4]A::a01071
+ ldc.i4 72
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld float32 [rvastatic4]A::a01072
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01072
+ ldsfld float32 [rvastatic4]A::a01072
+ ldc.r4 73.0
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int64 [rvastatic4]A::a01073
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01073
+ ldsfld int64 [rvastatic4]A::a01073
+ ldc.i8 74
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int64 [rvastatic4]A::a01074
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01074
+ ldsfld int64 [rvastatic4]A::a01074
+ ldc.i8 75
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int32 [rvastatic4]A::a01075
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01075
+ ldsfld int32 [rvastatic4]A::a01075
+ ldc.i4 76
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int8 [rvastatic4]A::a01076
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01076
+ ldsfld int8 [rvastatic4]A::a01076
+ ldc.i4 77
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int32 [rvastatic4]A::a01077
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01077
+ ldsfld int32 [rvastatic4]A::a01077
+ ldc.i4 78
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int16 [rvastatic4]A::a01078
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01078
+ ldsfld int16 [rvastatic4]A::a01078
+ ldc.i4 79
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld float32 [rvastatic4]A::a01079
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01079
+ ldsfld float32 [rvastatic4]A::a01079
+ ldc.r4 80.0
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld float32 [rvastatic4]A::a01080
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01080
+ ldsfld float32 [rvastatic4]A::a01080
+ ldc.r4 81.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01081
+ ldsfld float32 [rvastatic4]A::a01081
+ ldc.r4 82.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01082
+ ldsfld int32 [rvastatic4]A::a01082
+ ldc.i4 83
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int8 [rvastatic4]A::a01083
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01083
+ ldsfld int8 [rvastatic4]A::a01083
+ ldc.i4 84
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int64 [rvastatic4]A::a01084
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01084
+ ldsfld int64 [rvastatic4]A::a01084
+ ldc.i8 85
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int64 [rvastatic4]A::a01085
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01085
+ ldsfld int64 [rvastatic4]A::a01085
+ ldc.i8 86
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int32 [rvastatic4]A::a01086
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01086
+ ldsfld int32 [rvastatic4]A::a01086
+ ldc.i4 87
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int32 [rvastatic4]A::a01087
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01087
+ ldsfld int32 [rvastatic4]A::a01087
+ ldc.i4 88
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int8 [rvastatic4]A::a01088
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01088
+ ldsfld int8 [rvastatic4]A::a01088
+ ldc.i4 89
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int64 [rvastatic4]A::a01089
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01089
+ ldsfld int64 [rvastatic4]A::a01089
+ ldc.i8 90
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int8 [rvastatic4]A::a01090
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01090
+ ldsfld int8 [rvastatic4]A::a01090
+ ldc.i4 91
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int16 [rvastatic4]A::a01091
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01091
+ ldsfld int16 [rvastatic4]A::a01091
+ ldc.i4 92
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld float32 [rvastatic4]A::a01092
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01092
+ ldsfld float32 [rvastatic4]A::a01092
+ ldc.r4 93.0
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int64 [rvastatic4]A::a01093
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01093
+ ldsfld int64 [rvastatic4]A::a01093
+ ldc.i8 94
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int64 [rvastatic4]A::a01094
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a01094
+ ldsfld int64 [rvastatic4]A::a01094
+ ldc.i8 95
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int8 [rvastatic4]A::a01095
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic4]A::a01095
+ ldsfld int8 [rvastatic4]A::a01095
+ ldc.i4 96
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld float32 [rvastatic4]A::a01096
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01096
+ ldsfld float32 [rvastatic4]A::a01096
+ ldc.r4 97.0
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int16 [rvastatic4]A::a01097
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a01097
+ ldsfld int16 [rvastatic4]A::a01097
+ ldc.i4 98
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld float32 [rvastatic4]A::a01098
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a01098
+ ldsfld float32 [rvastatic4]A::a01098
+ ldc.r4 99.0
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int32 [rvastatic4]A::a01099
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a01099
+ ldsfld int32 [rvastatic4]A::a01099
+ ldc.i4 100
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int64 [rvastatic4]A::a010100
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010100
+ ldsfld int64 [rvastatic4]A::a010100
+ ldc.i8 101
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int32 [rvastatic4]A::a010101
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010101
+ ldsfld int32 [rvastatic4]A::a010101
+ ldc.i4 102
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld float32 [rvastatic4]A::a010102
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a010102
+ ldsfld float32 [rvastatic4]A::a010102
+ ldc.r4 103.0
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int64 [rvastatic4]A::a010103
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010103
+ ldsfld int64 [rvastatic4]A::a010103
+ ldc.i8 104
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int32 [rvastatic4]A::a010104
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010104
+ ldsfld int32 [rvastatic4]A::a010104
+ ldc.i4 105
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int16 [rvastatic4]A::a010105
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010105
+ ldsfld int16 [rvastatic4]A::a010105
+ ldc.i4 106
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int16 [rvastatic4]A::a010106
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010106
+ ldsfld int16 [rvastatic4]A::a010106
+ ldc.i4 107
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld float32 [rvastatic4]A::a010107
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic4]A::a010107
+ ldsfld float32 [rvastatic4]A::a010107
+ ldc.r4 108.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int32 [rvastatic4]A::a010108
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010108
+ ldsfld int32 [rvastatic4]A::a010108
+ ldc.i4 109
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int16 [rvastatic4]A::a010109
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010109
+ ldsfld int16 [rvastatic4]A::a010109
+ ldc.i4 110
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld int32 [rvastatic4]A::a010110
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010110
+ ldsfld int32 [rvastatic4]A::a010110
+ ldc.i4 111
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int32 [rvastatic4]A::a010111
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010111
+ ldsfld int32 [rvastatic4]A::a010111
+ ldc.i4 112
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int32 [rvastatic4]A::a010112
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010112
+ ldsfld int32 [rvastatic4]A::a010112
+ ldc.i4 113
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int64 [rvastatic4]A::a010113
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010113
+ ldsfld int64 [rvastatic4]A::a010113
+ ldc.i8 114
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int64 [rvastatic4]A::a010114
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010114
+ ldsfld int64 [rvastatic4]A::a010114
+ ldc.i8 115
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010115
+ ldsfld int16 [rvastatic4]A::a010115
+ ldc.i4 116
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int64 [rvastatic4]A::a010116
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010116
+ ldsfld int64 [rvastatic4]A::a010116
+ ldc.i8 117
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int64 [rvastatic4]A::a010117
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010117
+ ldsfld int64 [rvastatic4]A::a010117
+ ldc.i8 118
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int32 [rvastatic4]A::a010118
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010118
+ ldsfld int32 [rvastatic4]A::a010118
+ ldc.i4 119
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int64 [rvastatic4]A::a010119
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010119
+ ldsfld int64 [rvastatic4]A::a010119
+ ldc.i8 120
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int64 [rvastatic4]A::a010120
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010120
+ ldsfld int64 [rvastatic4]A::a010120
+ ldc.i8 121
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int64 [rvastatic4]A::a010121
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010121
+ ldsfld int64 [rvastatic4]A::a010121
+ ldc.i8 122
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int16 [rvastatic4]A::a010122
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010122
+ ldsfld int16 [rvastatic4]A::a010122
+ ldc.i4 123
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int64 [rvastatic4]A::a010123
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010123
+ ldsfld int64 [rvastatic4]A::a010123
+ ldc.i8 124
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic4]A::a010124
+ ldsfld int64 [rvastatic4]A::a010124
+ ldc.i8 125
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int32 [rvastatic4]A::a010125
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic4]A::a010125
+ ldsfld int32 [rvastatic4]A::a010125
+ ldc.i4 126
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int16 [rvastatic4]A::a010126
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010126
+ ldsfld int16 [rvastatic4]A::a010126
+ ldc.i4 127
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int16 [rvastatic4]A::a010127
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic4]A::a010127
+ ldsfld int16 [rvastatic4]A::a010127
+ ldc.i4 128
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static int32 Main(string[] args){.entrypoint .maxstack 5
+ call void [rvastatic4]A::V1()
+ call void [rvastatic4]A::V2()
+ call void [rvastatic4]A::V3()
+ call void [rvastatic4]A::V4()
+ call void [rvastatic4]A::V5()
+ call void [rvastatic4]A::V6()
+ ldc.i4 100
+ ret}
+.field public static int32 a0100 at b0100
+.field private static int32 aALIGN10100 at bALIGN10100
+.field public static int64 a0101 at b0101
+.field public static float32 a0102 at b0102
+.field private static int32 aALIGN10102 at bALIGN10102
+.field public static int16 a0103 at b0103
+.field private static int16 aALIGN10103 at bALIGN10103
+.field private static int32 aALIGN20103 at bALIGN20103
+.field public static int16 a0104 at b0104
+.field private static int16 aALIGN10104 at bALIGN10104
+.field private static int32 aALIGN20104 at bALIGN20104
+.field public static int64 a0105 at b0105
+.field public static int16 a0106 at b0106
+.field private static int16 aALIGN10106 at bALIGN10106
+.field private static int32 aALIGN20106 at bALIGN20106
+.field public static int8 a0107 at b0107
+.field private static int32 aALIGN10107 at bALIGN10107
+.field private static int16 aALIGN20107 at bALIGN20107
+.field private static int8 aALIGN20107 at bALIGN30107
+.field public static int64 a0108 at b0108
+.field public static int32 a0109 at b0109
+.field private static int32 aALIGN10109 at bALIGN10109
+.field public static int16 a01010 at b01010
+.field private static int16 aALIGN101010 at bALIGN101010
+.field private static int32 aALIGN201010 at bALIGN201010
+.field public static float32 a01011 at b01011
+.field private static int32 aALIGN101011 at bALIGN101011
+.field public static int16 a01012 at b01012
+.field private static int16 aALIGN101012 at bALIGN101012
+.field private static int32 aALIGN201012 at bALIGN201012
+.field public static float32 a01013 at b01013
+.field private static int32 aALIGN101013 at bALIGN101013
+.field public static float32 a01014 at b01014
+.field private static int32 aALIGN101014 at bALIGN101014
+.field public static int8 a01015 at b01015
+.field private static int32 aALIGN101015 at bALIGN101015
+.field private static int16 aALIGN201015 at bALIGN201015
+.field private static int8 aALIGN201015 at bALIGN301015
+.field public static float32 a01016 at b01016
+.field private static int32 aALIGN101016 at bALIGN101016
+.field public static int8 a01017 at b01017
+.field private static int32 aALIGN101017 at bALIGN101017
+.field private static int16 aALIGN201017 at bALIGN201017
+.field private static int8 aALIGN201017 at bALIGN301017
+.field public static float32 a01018 at b01018
+.field private static int32 aALIGN101018 at bALIGN101018
+.field public static float32 a01019 at b01019
+.field private static int32 aALIGN101019 at bALIGN101019
+.field public static int8 a01020 at b01020
+.field private static int32 aALIGN101020 at bALIGN101020
+.field private static int16 aALIGN201020 at bALIGN201020
+.field private static int8 aALIGN201020 at bALIGN301020
+.field public static float32 a01021 at b01021
+.field private static int32 aALIGN101021 at bALIGN101021
+.field public static int64 a01022 at b01022
+.field public static int8 a01023 at b01023
+.field private static int32 aALIGN101023 at bALIGN101023
+.field private static int16 aALIGN201023 at bALIGN201023
+.field private static int8 aALIGN201023 at bALIGN301023
+.field public static int32 a01024 at b01024
+.field private static int32 aALIGN101024 at bALIGN101024
+.field public static int64 a01025 at b01025
+.field public static int16 a01026 at b01026
+.field private static int16 aALIGN101026 at bALIGN101026
+.field private static int32 aALIGN201026 at bALIGN201026
+.field public static int8 a01027 at b01027
+.field private static int32 aALIGN101027 at bALIGN101027
+.field private static int16 aALIGN201027 at bALIGN201027
+.field private static int8 aALIGN201027 at bALIGN301027
+.field public static int16 a01028 at b01028
+.field private static int16 aALIGN101028 at bALIGN101028
+.field private static int32 aALIGN201028 at bALIGN201028
+.field public static int16 a01029 at b01029
+.field private static int16 aALIGN101029 at bALIGN101029
+.field private static int32 aALIGN201029 at bALIGN201029
+.field public static int8 a01030 at b01030
+.field private static int32 aALIGN101030 at bALIGN101030
+.field private static int16 aALIGN201030 at bALIGN201030
+.field private static int8 aALIGN201030 at bALIGN301030
+.field public static int8 a01031 at b01031
+.field private static int32 aALIGN101031 at bALIGN101031
+.field private static int16 aALIGN201031 at bALIGN201031
+.field private static int8 aALIGN201031 at bALIGN301031
+.field public static int64 a01032 at b01032
+.field public static float32 a01033 at b01033
+.field private static int32 aALIGN101033 at bALIGN101033
+.field public static int16 a01034 at b01034
+.field private static int16 aALIGN101034 at bALIGN101034
+.field private static int32 aALIGN201034 at bALIGN201034
+.field public static int8 a01035 at b01035
+.field private static int32 aALIGN101035 at bALIGN101035
+.field private static int16 aALIGN201035 at bALIGN201035
+.field private static int8 aALIGN201035 at bALIGN301035
+.field public static int8 a01036 at b01036
+.field private static int32 aALIGN101036 at bALIGN101036
+.field private static int16 aALIGN201036 at bALIGN201036
+.field private static int8 aALIGN201036 at bALIGN301036
+.field public static int32 a01037 at b01037
+.field private static int32 aALIGN101037 at bALIGN101037
+.field public static int16 a01038 at b01038
+.field private static int16 aALIGN101038 at bALIGN101038
+.field private static int32 aALIGN201038 at bALIGN201038
+.field public static int8 a01039 at b01039
+.field private static int32 aALIGN101039 at bALIGN101039
+.field private static int16 aALIGN201039 at bALIGN201039
+.field private static int8 aALIGN201039 at bALIGN301039
+.field public static int8 a01040 at b01040
+.field private static int32 aALIGN101040 at bALIGN101040
+.field private static int16 aALIGN201040 at bALIGN201040
+.field private static int8 aALIGN201040 at bALIGN301040
+.field public static int32 a01041 at b01041
+.field private static int32 aALIGN101041 at bALIGN101041
+.field public static int64 a01042 at b01042
+.field public static int16 a01043 at b01043
+.field private static int16 aALIGN101043 at bALIGN101043
+.field private static int32 aALIGN201043 at bALIGN201043
+.field public static int64 a01044 at b01044
+.field public static int64 a01045 at b01045
+.field public static float32 a01046 at b01046
+.field private static int32 aALIGN101046 at bALIGN101046
+.field public static int16 a01047 at b01047
+.field private static int16 aALIGN101047 at bALIGN101047
+.field private static int32 aALIGN201047 at bALIGN201047
+.field public static int64 a01048 at b01048
+.field public static int16 a01049 at b01049
+.field private static int16 aALIGN101049 at bALIGN101049
+.field private static int32 aALIGN201049 at bALIGN201049
+.field public static int32 a01050 at b01050
+.field private static int32 aALIGN101050 at bALIGN101050
+.field public static int16 a01051 at b01051
+.field private static int16 aALIGN101051 at bALIGN101051
+.field private static int32 aALIGN201051 at bALIGN201051
+.field public static int32 a01052 at b01052
+.field private static int32 aALIGN101052 at bALIGN101052
+.field public static int16 a01053 at b01053
+.field private static int16 aALIGN101053 at bALIGN101053
+.field private static int32 aALIGN201053 at bALIGN201053
+.field public static float32 a01054 at b01054
+.field private static int32 aALIGN101054 at bALIGN101054
+.field public static int64 a01055 at b01055
+.field public static float32 a01056 at b01056
+.field private static int32 aALIGN101056 at bALIGN101056
+.field public static int64 a01057 at b01057
+.field public static int64 a01058 at b01058
+.field public static int64 a01059 at b01059
+.field public static int16 a01060 at b01060
+.field private static int16 aALIGN101060 at bALIGN101060
+.field private static int32 aALIGN201060 at bALIGN201060
+.field public static int8 a01061 at b01061
+.field private static int32 aALIGN101061 at bALIGN101061
+.field private static int16 aALIGN201061 at bALIGN201061
+.field private static int8 aALIGN201061 at bALIGN301061
+.field public static int64 a01062 at b01062
+.field public static int16 a01063 at b01063
+.field private static int16 aALIGN101063 at bALIGN101063
+.field private static int32 aALIGN201063 at bALIGN201063
+.field public static int32 a01064 at b01064
+.field private static int32 aALIGN101064 at bALIGN101064
+.field public static int16 a01065 at b01065
+.field private static int16 aALIGN101065 at bALIGN101065
+.field private static int32 aALIGN201065 at bALIGN201065
+.field public static int8 a01066 at b01066
+.field private static int32 aALIGN101066 at bALIGN101066
+.field private static int16 aALIGN201066 at bALIGN201066
+.field private static int8 aALIGN201066 at bALIGN301066
+.field public static int16 a01067 at b01067
+.field private static int16 aALIGN101067 at bALIGN101067
+.field private static int32 aALIGN201067 at bALIGN201067
+.field public static int32 a01068 at b01068
+.field private static int32 aALIGN101068 at bALIGN101068
+.field public static float32 a01069 at b01069
+.field private static int32 aALIGN101069 at bALIGN101069
+.field public static float32 a01070 at b01070
+.field private static int32 aALIGN101070 at bALIGN101070
+.field public static int16 a01071 at b01071
+.field private static int16 aALIGN101071 at bALIGN101071
+.field private static int32 aALIGN201071 at bALIGN201071
+.field public static float32 a01072 at b01072
+.field private static int32 aALIGN101072 at bALIGN101072
+.field public static int64 a01073 at b01073
+.field public static int64 a01074 at b01074
+.field public static int32 a01075 at b01075
+.field private static int32 aALIGN101075 at bALIGN101075
+.field public static int8 a01076 at b01076
+.field private static int32 aALIGN101076 at bALIGN101076
+.field private static int16 aALIGN201076 at bALIGN201076
+.field private static int8 aALIGN201076 at bALIGN301076
+.field public static int32 a01077 at b01077
+.field private static int32 aALIGN101077 at bALIGN101077
+.field public static int16 a01078 at b01078
+.field private static int16 aALIGN101078 at bALIGN101078
+.field private static int32 aALIGN201078 at bALIGN201078
+.field public static float32 a01079 at b01079
+.field private static int32 aALIGN101079 at bALIGN101079
+.field public static float32 a01080 at b01080
+.field private static int32 aALIGN101080 at bALIGN101080
+.field public static float32 a01081 at b01081
+.field private static int32 aALIGN101081 at bALIGN101081
+.field public static int32 a01082 at b01082
+.field private static int32 aALIGN101082 at bALIGN101082
+.field public static int8 a01083 at b01083
+.field private static int32 aALIGN101083 at bALIGN101083
+.field private static int16 aALIGN201083 at bALIGN201083
+.field private static int8 aALIGN201083 at bALIGN301083
+.field public static int64 a01084 at b01084
+.field public static int64 a01085 at b01085
+.field public static int32 a01086 at b01086
+.field private static int32 aALIGN101086 at bALIGN101086
+.field public static int32 a01087 at b01087
+.field private static int32 aALIGN101087 at bALIGN101087
+.field public static int8 a01088 at b01088
+.field private static int32 aALIGN101088 at bALIGN101088
+.field private static int16 aALIGN201088 at bALIGN201088
+.field private static int8 aALIGN201088 at bALIGN301088
+.field public static int64 a01089 at b01089
+.field public static int8 a01090 at b01090
+.field private static int32 aALIGN101090 at bALIGN101090
+.field private static int16 aALIGN201090 at bALIGN201090
+.field private static int8 aALIGN201090 at bALIGN301090
+.field public static int16 a01091 at b01091
+.field private static int16 aALIGN101091 at bALIGN101091
+.field private static int32 aALIGN201091 at bALIGN201091
+.field public static float32 a01092 at b01092
+.field private static int32 aALIGN101092 at bALIGN101092
+.field public static int64 a01093 at b01093
+.field public static int64 a01094 at b01094
+.field public static int8 a01095 at b01095
+.field private static int32 aALIGN101095 at bALIGN101095
+.field private static int16 aALIGN201095 at bALIGN201095
+.field private static int8 aALIGN201095 at bALIGN301095
+.field public static float32 a01096 at b01096
+.field private static int32 aALIGN101096 at bALIGN101096
+.field public static int16 a01097 at b01097
+.field private static int16 aALIGN101097 at bALIGN101097
+.field private static int32 aALIGN201097 at bALIGN201097
+.field public static float32 a01098 at b01098
+.field private static int32 aALIGN101098 at bALIGN101098
+.field public static int32 a01099 at b01099
+.field private static int32 aALIGN101099 at bALIGN101099
+.field public static int64 a010100 at b010100
+.field public static int32 a010101 at b010101
+.field private static int32 aALIGN1010101 at bALIGN1010101
+.field public static float32 a010102 at b010102
+.field private static int32 aALIGN1010102 at bALIGN1010102
+.field public static int64 a010103 at b010103
+.field public static int32 a010104 at b010104
+.field private static int32 aALIGN1010104 at bALIGN1010104
+.field public static int16 a010105 at b010105
+.field private static int16 aALIGN1010105 at bALIGN1010105
+.field private static int32 aALIGN2010105 at bALIGN2010105
+.field public static int16 a010106 at b010106
+.field private static int16 aALIGN1010106 at bALIGN1010106
+.field private static int32 aALIGN2010106 at bALIGN2010106
+.field public static float32 a010107 at b010107
+.field private static int32 aALIGN1010107 at bALIGN1010107
+.field public static int32 a010108 at b010108
+.field private static int32 aALIGN1010108 at bALIGN1010108
+.field public static int16 a010109 at b010109
+.field private static int16 aALIGN1010109 at bALIGN1010109
+.field private static int32 aALIGN2010109 at bALIGN2010109
+.field public static int32 a010110 at b010110
+.field private static int32 aALIGN1010110 at bALIGN1010110
+.field public static int32 a010111 at b010111
+.field private static int32 aALIGN1010111 at bALIGN1010111
+.field public static int32 a010112 at b010112
+.field private static int32 aALIGN1010112 at bALIGN1010112
+.field public static int64 a010113 at b010113
+.field public static int64 a010114 at b010114
+.field public static int16 a010115 at b010115
+.field private static int16 aALIGN1010115 at bALIGN1010115
+.field private static int32 aALIGN2010115 at bALIGN2010115
+.field public static int64 a010116 at b010116
+.field public static int64 a010117 at b010117
+.field public static int32 a010118 at b010118
+.field private static int32 aALIGN1010118 at bALIGN1010118
+.field public static int64 a010119 at b010119
+.field public static int64 a010120 at b010120
+.field public static int64 a010121 at b010121
+.field public static int16 a010122 at b010122
+.field private static int16 aALIGN1010122 at bALIGN1010122
+.field private static int32 aALIGN2010122 at bALIGN2010122
+.field public static int64 a010123 at b010123
+.field public static int64 a010124 at b010124
+.field public static int32 a010125 at b010125
+.field private static int32 aALIGN1010125 at bALIGN1010125
+.field public static int16 a010126 at b010126
+.field private static int16 aALIGN1010126 at bALIGN1010126
+.field private static int32 aALIGN2010126 at bALIGN2010126
+.field public static int16 a010127 at b010127
+.field private static int16 aALIGN1010127 at bALIGN1010127
+.field private static int32 aALIGN2010127 at bALIGN2010127
+ }
+.data b0100 = int32(0)
+.data bALIGN10100 = int32(0)
+.data b0101 = int64(1)
+.data b0102 = float32(2.0)
+.data bALIGN10102 = int32(0)
+.data b0103 = int16(3)
+.data bALIGN10103 = int16(0)
+.data bALIGN20103 = int32(0)
+.data b0104 = int16(4)
+.data bALIGN10104 = int16(0)
+.data bALIGN20104 = int32(0)
+.data b0105 = int64(5)
+.data b0106 = int16(6)
+.data bALIGN10106 = int16(0)
+.data bALIGN20106 = int32(0)
+.data b0107 = int8(7)
+.data bALIGN10107 = int32(0)
+.data bALIGN20107 = int16(0)
+.data bALIGN30107 = int8(0)
+.data b0108 = int64(8)
+.data b0109 = int32(9)
+.data bALIGN10109 = int32(0)
+.data b01010 = int16(10)
+.data bALIGN101010 = int16(0)
+.data bALIGN201010 = int32(0)
+.data b01011 = float32(11.0)
+.data bALIGN101011 = int32(0)
+.data b01012 = int16(12)
+.data bALIGN101012 = int16(0)
+.data bALIGN201012 = int32(0)
+.data b01013 = float32(13.0)
+.data bALIGN101013 = int32(0)
+.data b01014 = float32(14.0)
+.data bALIGN101014 = int32(0)
+.data b01015 = int8(15)
+.data bALIGN101015 = int32(0)
+.data bALIGN201015 = int16(0)
+.data bALIGN301015 = int8(0)
+.data b01016 = float32(16.0)
+.data bALIGN101016 = int32(0)
+.data b01017 = int8(17)
+.data bALIGN101017 = int32(0)
+.data bALIGN201017 = int16(0)
+.data bALIGN301017 = int8(0)
+.data b01018 = float32(18.0)
+.data bALIGN101018 = int32(0)
+.data b01019 = float32(19.0)
+.data bALIGN101019 = int32(0)
+.data b01020 = int8(20)
+.data bALIGN101020 = int32(0)
+.data bALIGN201020 = int16(0)
+.data bALIGN301020 = int8(0)
+.data b01021 = float32(21.0)
+.data bALIGN101021 = int32(0)
+.data b01022 = int64(22)
+.data b01023 = int8(23)
+.data bALIGN101023 = int32(0)
+.data bALIGN201023 = int16(0)
+.data bALIGN301023 = int8(0)
+.data b01024 = int32(24)
+.data bALIGN101024 = int32(0)
+.data b01025 = int64(25)
+.data b01026 = int16(26)
+.data bALIGN101026 = int16(0)
+.data bALIGN201026 = int32(0)
+.data b01027 = int8(27)
+.data bALIGN101027 = int32(0)
+.data bALIGN201027 = int16(0)
+.data bALIGN301027 = int8(0)
+.data b01028 = int16(28)
+.data bALIGN101028 = int16(0)
+.data bALIGN201028 = int32(0)
+.data b01029 = int16(29)
+.data bALIGN101029 = int16(0)
+.data bALIGN201029 = int32(0)
+.data b01030 = int8(30)
+.data bALIGN101030 = int32(0)
+.data bALIGN201030 = int16(0)
+.data bALIGN301030 = int8(0)
+.data b01031 = int8(31)
+.data bALIGN101031 = int32(0)
+.data bALIGN201031 = int16(0)
+.data bALIGN301031 = int8(0)
+.data b01032 = int64(32)
+.data b01033 = float32(33.0)
+.data bALIGN101033 = int32(0)
+.data b01034 = int16(34)
+.data bALIGN101034 = int16(0)
+.data bALIGN201034 = int32(0)
+.data b01035 = int8(35)
+.data bALIGN101035 = int32(0)
+.data bALIGN201035 = int16(0)
+.data bALIGN301035 = int8(0)
+.data b01036 = int8(36)
+.data bALIGN101036 = int32(0)
+.data bALIGN201036 = int16(0)
+.data bALIGN301036 = int8(0)
+.data b01037 = int32(37)
+.data bALIGN101037 = int32(0)
+.data b01038 = int16(38)
+.data bALIGN101038 = int16(0)
+.data bALIGN201038 = int32(0)
+.data b01039 = int8(39)
+.data bALIGN101039 = int32(0)
+.data bALIGN201039 = int16(0)
+.data bALIGN301039 = int8(0)
+.data b01040 = int8(40)
+.data bALIGN101040 = int32(0)
+.data bALIGN201040 = int16(0)
+.data bALIGN301040 = int8(0)
+.data b01041 = int32(41)
+.data bALIGN101041 = int32(0)
+.data b01042 = int64(42)
+.data b01043 = int16(43)
+.data bALIGN101043 = int16(0)
+.data bALIGN201043 = int32(0)
+.data b01044 = int64(44)
+.data b01045 = int64(45)
+.data b01046 = float32(46.0)
+.data bALIGN101046 = int32(0)
+.data b01047 = int16(47)
+.data bALIGN101047 = int16(0)
+.data bALIGN201047 = int32(0)
+.data b01048 = int64(48)
+.data b01049 = int16(49)
+.data bALIGN101049 = int16(0)
+.data bALIGN201049 = int32(0)
+.data b01050 = int32(50)
+.data bALIGN101050 = int32(0)
+.data b01051 = int16(51)
+.data bALIGN101051 = int16(0)
+.data bALIGN201051 = int32(0)
+.data b01052 = int32(52)
+.data bALIGN101052 = int32(0)
+.data b01053 = int16(53)
+.data bALIGN101053 = int16(0)
+.data bALIGN201053 = int32(0)
+.data b01054 = float32(54.0)
+.data bALIGN101054 = int32(0)
+.data b01055 = int64(55)
+.data b01056 = float32(56.0)
+.data bALIGN101056 = int32(0)
+.data b01057 = int64(57)
+.data b01058 = int64(58)
+.data b01059 = int64(59)
+.data b01060 = int16(60)
+.data bALIGN101060 = int16(0)
+.data bALIGN201060 = int32(0)
+.data b01061 = int8(61)
+.data bALIGN101061 = int32(0)
+.data bALIGN201061 = int16(0)
+.data bALIGN301061 = int8(0)
+.data b01062 = int64(62)
+.data b01063 = int16(63)
+.data bALIGN101063 = int16(0)
+.data bALIGN201063 = int32(0)
+.data b01064 = int32(64)
+.data bALIGN101064 = int32(0)
+.data b01065 = int16(65)
+.data bALIGN101065 = int16(0)
+.data bALIGN201065 = int32(0)
+.data b01066 = int8(66)
+.data bALIGN101066 = int32(0)
+.data bALIGN201066 = int16(0)
+.data bALIGN301066 = int8(0)
+.data b01067 = int16(67)
+.data bALIGN101067 = int16(0)
+.data bALIGN201067 = int32(0)
+.data b01068 = int32(68)
+.data bALIGN101068 = int32(0)
+.data b01069 = float32(69.0)
+.data bALIGN101069 = int32(0)
+.data b01070 = float32(70.0)
+.data bALIGN101070 = int32(0)
+.data b01071 = int16(71)
+.data bALIGN101071 = int16(0)
+.data bALIGN201071 = int32(0)
+.data b01072 = float32(72.0)
+.data bALIGN101072 = int32(0)
+.data b01073 = int64(73)
+.data b01074 = int64(74)
+.data b01075 = int32(75)
+.data bALIGN101075 = int32(0)
+.data b01076 = int8(76)
+.data bALIGN101076 = int32(0)
+.data bALIGN201076 = int16(0)
+.data bALIGN301076 = int8(0)
+.data b01077 = int32(77)
+.data bALIGN101077 = int32(0)
+.data b01078 = int16(78)
+.data bALIGN101078 = int16(0)
+.data bALIGN201078 = int32(0)
+.data b01079 = float32(79.0)
+.data bALIGN101079 = int32(0)
+.data b01080 = float32(80.0)
+.data bALIGN101080 = int32(0)
+.data b01081 = float32(81.0)
+.data bALIGN101081 = int32(0)
+.data b01082 = int32(82)
+.data bALIGN101082 = int32(0)
+.data b01083 = int8(83)
+.data bALIGN101083 = int32(0)
+.data bALIGN201083 = int16(0)
+.data bALIGN301083 = int8(0)
+.data b01084 = int64(84)
+.data b01085 = int64(85)
+.data b01086 = int32(86)
+.data bALIGN101086 = int32(0)
+.data b01087 = int32(87)
+.data bALIGN101087 = int32(0)
+.data b01088 = int8(88)
+.data bALIGN101088 = int32(0)
+.data bALIGN201088 = int16(0)
+.data bALIGN301088 = int8(0)
+.data b01089 = int64(89)
+.data b01090 = int8(90)
+.data bALIGN101090 = int32(0)
+.data bALIGN201090 = int16(0)
+.data bALIGN301090 = int8(0)
+.data b01091 = int16(91)
+.data bALIGN101091 = int16(0)
+.data bALIGN201091 = int32(0)
+.data b01092 = float32(92.0)
+.data bALIGN101092 = int32(0)
+.data b01093 = int64(93)
+.data b01094 = int64(94)
+.data b01095 = int8(95)
+.data bALIGN101095 = int32(0)
+.data bALIGN201095 = int16(0)
+.data bALIGN301095 = int8(0)
+.data b01096 = float32(96.0)
+.data bALIGN101096 = int32(0)
+.data b01097 = int16(97)
+.data bALIGN101097 = int16(0)
+.data bALIGN201097 = int32(0)
+.data b01098 = float32(98.0)
+.data bALIGN101098 = int32(0)
+.data b01099 = int32(99)
+.data bALIGN101099 = int32(0)
+.data b010100 = int64(100)
+.data b010101 = int32(101)
+.data bALIGN1010101 = int32(0)
+.data b010102 = float32(102.0)
+.data bALIGN1010102 = int32(0)
+.data b010103 = int64(103)
+.data b010104 = int32(104)
+.data bALIGN1010104 = int32(0)
+.data b010105 = int16(105)
+.data bALIGN1010105 = int16(0)
+.data bALIGN2010105 = int32(0)
+.data b010106 = int16(106)
+.data bALIGN1010106 = int16(0)
+.data bALIGN2010106 = int32(0)
+.data b010107 = float32(107.0)
+.data bALIGN1010107 = int32(0)
+.data b010108 = int32(108)
+.data bALIGN1010108 = int32(0)
+.data b010109 = int16(109)
+.data bALIGN1010109 = int16(0)
+.data bALIGN2010109 = int32(0)
+.data b010110 = int32(110)
+.data bALIGN1010110 = int32(0)
+.data b010111 = int32(111)
+.data bALIGN1010111 = int32(0)
+.data b010112 = int32(112)
+.data bALIGN1010112 = int32(0)
+.data b010113 = int64(113)
+.data b010114 = int64(114)
+.data b010115 = int16(115)
+.data bALIGN1010115 = int16(0)
+.data bALIGN2010115 = int32(0)
+.data b010116 = int64(116)
+.data b010117 = int64(117)
+.data b010118 = int32(118)
+.data bALIGN1010118 = int32(0)
+.data b010119 = int64(119)
+.data b010120 = int64(120)
+.data b010121 = int64(121)
+.data b010122 = int16(122)
+.data bALIGN1010122 = int16(0)
+.data bALIGN2010122 = int32(0)
+.data b010123 = int64(123)
+.data b010124 = int64(124)
+.data b010125 = int32(125)
+.data bALIGN1010125 = int32(0)
+.data b010126 = int16(126)
+.data bALIGN1010126 = int16(0)
+.data bALIGN2010126 = int32(0)
+.data b010127 = int16(127)
+.data bALIGN1010127 = int16(0)
+.data bALIGN2010127 = int32(0)
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj b/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj
new file mode 100644
index 0000000000..6df43411b2
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rvastatic4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic5.il b/tests/src/JIT/Directed/rvastatics/rvastatic5.il
new file mode 100644
index 0000000000..b4cd0b65a8
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic5.il
@@ -0,0 +1,7675 @@
+.assembly extern mscorlib{}
+.assembly rvastatic5{}
+.class public A{
+ .method static native int Call1(int64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ conv.i
+ ret
+ }
+ .method static native int Call2(float64) {.maxstack 50
+ ldarg.0
+ conv.i8
+ ldc.i8 8091
+ add
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ conv.i8
+ ldc.i8 8091
+ sub
+ conv.i
+ conv.i
+ ret
+ }
+ .method static void V1() {.maxstack 50
+ ldsfld int32 [rvastatic5]A::a0100
+ ldc.i4 0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld float32 [rvastatic5]A::a0101
+ ldc.r4 1.0
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int16 [rvastatic5]A::a0102
+ ldc.i4 2
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int8 [rvastatic5]A::a0103
+ ldc.i4 3
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld int32 [rvastatic5]A::a0104
+ ldc.i4 4
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld float32 [rvastatic5]A::a0105
+ ldc.r4 5.0
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld float32 [rvastatic5]A::a0106
+ ldc.r4 6.0
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld int16 [rvastatic5]A::a0107
+ ldc.i4 7
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int64 [rvastatic5]A::a0108
+ ldc.i8 8
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int64 [rvastatic5]A::a0109
+ ldc.i8 9
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int32 [rvastatic5]A::a01010
+ ldc.i4 10
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int32 [rvastatic5]A::a01011
+ ldc.i4 11
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int8 [rvastatic5]A::a01012
+ ldc.i4 12
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int64 [rvastatic5]A::a01013
+ ldc.i8 13
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int16 [rvastatic5]A::a01014
+ ldc.i4 14
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 15
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld int8 [rvastatic5]A::a01016
+ ldc.i4 16
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 17
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int32 [rvastatic5]A::a01018
+ ldc.i4 18
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld int16 [rvastatic5]A::a01019
+ ldc.i4 19
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld float32 [rvastatic5]A::a01020
+ ldc.r4 20.0
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld float32 [rvastatic5]A::a01021
+ ldc.r4 21.0
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld float32 [rvastatic5]A::a01022
+ ldc.r4 22.0
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld int16 [rvastatic5]A::a01023
+ ldc.i4 23
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 24.0
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int16 [rvastatic5]A::a01025
+ ldc.i4 25
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int64 [rvastatic5]A::a01026
+ ldc.i8 26
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int8 [rvastatic5]A::a01027
+ ldc.i4 27
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int64 [rvastatic5]A::a01028
+ ldc.i8 28
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int64 [rvastatic5]A::a01029
+ ldc.i8 29
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int32 [rvastatic5]A::a01030
+ ldc.i4 30
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 31
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 32
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld float32 [rvastatic5]A::a01033
+ ldc.r4 33.0
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int16 [rvastatic5]A::a01034
+ ldc.i4 34
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int64 [rvastatic5]A::a01035
+ ldc.i8 35
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic5]A::a01036
+ ldc.i4 36
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int32 [rvastatic5]A::a01037
+ ldc.i4 37
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int64 [rvastatic5]A::a01038
+ ldc.i8 38
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld int32 [rvastatic5]A::a01039
+ ldc.i4 39
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld float32 [rvastatic5]A::a01040
+ ldc.r4 40.0
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 41
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int16 [rvastatic5]A::a01042
+ ldc.i4 42
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int32 [rvastatic5]A::a01043
+ ldc.i4 43
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int16 [rvastatic5]A::a01044
+ ldc.i4 44
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 45
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int16 [rvastatic5]A::a01046
+ ldc.i4 46
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int64 [rvastatic5]A::a01047
+ ldc.i8 47
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int8 [rvastatic5]A::a01048
+ ldc.i4 48
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int16 [rvastatic5]A::a01049
+ ldc.i4 49
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int16 [rvastatic5]A::a01050
+ ldc.i4 50
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 51
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 52
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 53
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int16 [rvastatic5]A::a01054
+ ldc.i4 54
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld int32 [rvastatic5]A::a01055
+ ldc.i4 55
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld float32 [rvastatic5]A::a01056
+ ldc.r4 56.0
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld float32 [rvastatic5]A::a01057
+ ldc.r4 57.0
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int16 [rvastatic5]A::a01058
+ ldc.i4 58
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int16 [rvastatic5]A::a01059
+ ldc.i4 59
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld int16 [rvastatic5]A::a01060
+ ldc.i4 60
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld float32 [rvastatic5]A::a01061
+ ldc.r4 61.0
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld int32 [rvastatic5]A::a01062
+ ldc.i4 62
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld float32 [rvastatic5]A::a01063
+ ldc.r4 63.0
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int16 [rvastatic5]A::a01064
+ ldc.i4 64
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int16 [rvastatic5]A::a01065
+ ldc.i4 65
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int8 [rvastatic5]A::a01066
+ ldc.i4 66
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int16 [rvastatic5]A::a01067
+ ldc.i4 67
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int32 [rvastatic5]A::a01068
+ ldc.i4 68
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int32 [rvastatic5]A::a01069
+ ldc.i4 69
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int16 [rvastatic5]A::a01070
+ ldc.i4 70
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int32 [rvastatic5]A::a01071
+ ldc.i4 71
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld int32 [rvastatic5]A::a01072
+ ldc.i4 72
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld float32 [rvastatic5]A::a01073
+ ldc.r4 73.0
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int16 [rvastatic5]A::a01074
+ ldc.i4 74
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int32 [rvastatic5]A::a01075
+ ldc.i4 75
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int64 [rvastatic5]A::a01076
+ ldc.i8 76
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int32 [rvastatic5]A::a01077
+ ldc.i4 77
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld int8 [rvastatic5]A::a01078
+ ldc.i4 78
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld float32 [rvastatic5]A::a01079
+ ldc.r4 79.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld float32 [rvastatic5]A::a01080
+ ldc.r4 80.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld float32 [rvastatic5]A::a01081
+ ldc.r4 81.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld float32 [rvastatic5]A::a01082
+ ldc.r4 82.0
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int32 [rvastatic5]A::a01083
+ ldc.i4 83
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int32 [rvastatic5]A::a01084
+ ldc.i4 84
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int8 [rvastatic5]A::a01085
+ ldc.i4 85
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int64 [rvastatic5]A::a01086
+ ldc.i8 86
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int64 [rvastatic5]A::a01087
+ ldc.i8 87
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int32 [rvastatic5]A::a01088
+ ldc.i4 88
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int64 [rvastatic5]A::a01089
+ ldc.i8 89
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 90
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int64 [rvastatic5]A::a01091
+ ldc.i8 91
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int16 [rvastatic5]A::a01092
+ ldc.i4 92
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int16 [rvastatic5]A::a01093
+ ldc.i4 93
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int8 [rvastatic5]A::a01094
+ ldc.i4 94
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld int8 [rvastatic5]A::a01095
+ ldc.i4 95
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld float32 [rvastatic5]A::a01096
+ ldc.r4 96.0
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int16 [rvastatic5]A::a01097
+ ldc.i4 97
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int16 [rvastatic5]A::a01098
+ ldc.i4 98
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld int8 [rvastatic5]A::a01099
+ ldc.i4 99
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld float32 [rvastatic5]A::a010100
+ ldc.r4 100.0
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int8 [rvastatic5]A::a010101
+ ldc.i4 101
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int16 [rvastatic5]A::a010102
+ ldc.i4 102
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld int32 [rvastatic5]A::a010103
+ ldc.i4 103
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 104.0
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld int64 [rvastatic5]A::a010105
+ ldc.i8 105
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld float32 [rvastatic5]A::a010106
+ ldc.r4 106.0
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int64 [rvastatic5]A::a010107
+ ldc.i8 107
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld int16 [rvastatic5]A::a010108
+ ldc.i4 108
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld float32 [rvastatic5]A::a010109
+ ldc.r4 109.0
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld float32 [rvastatic5]A::a010110
+ ldc.r4 110.0
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int32 [rvastatic5]A::a010111
+ ldc.i4 111
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int64 [rvastatic5]A::a010112
+ ldc.i8 112
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int32 [rvastatic5]A::a010113
+ ldc.i4 113
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int16 [rvastatic5]A::a010114
+ ldc.i4 114
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld int32 [rvastatic5]A::a010115
+ ldc.i4 115
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld float32 [rvastatic5]A::a010116
+ ldc.r4 116.0
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int8 [rvastatic5]A::a010117
+ ldc.i4 117
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int32 [rvastatic5]A::a010118
+ ldc.i4 118
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 119
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int32 [rvastatic5]A::a010120
+ ldc.i4 120
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int32 [rvastatic5]A::a010121
+ ldc.i4 121
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld int64 [rvastatic5]A::a010122
+ ldc.i8 122
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld float32 [rvastatic5]A::a010123
+ ldc.r4 123.0
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic5]A::a010124
+ ldc.i8 124
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int64 [rvastatic5]A::a010125
+ ldc.i8 125
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int16 [rvastatic5]A::a010126
+ ldc.i4 126
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ldsfld int8 [rvastatic5]A::a010127
+ ldc.i4 7
+ beq a010128
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010128:
+ ret}
+ .method static void V2() {.maxstack 50
+ ldsflda int32 [rvastatic5]A::a0100
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsflda float32 [rvastatic5]A::a0101
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsflda int16 [rvastatic5]A::a0102
+ ldind.i2
+ ldc.i4 2
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsflda int8 [rvastatic5]A::a0103
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsflda int32 [rvastatic5]A::a0104
+ ldind.i4
+ ldc.i4 4
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsflda float32 [rvastatic5]A::a0105
+ ldind.r4
+ ldc.r4 5.0
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsflda float32 [rvastatic5]A::a0106
+ ldind.r4
+ ldc.r4 6.0
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsflda int16 [rvastatic5]A::a0107
+ ldind.i2
+ ldc.i4 7
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsflda int64 [rvastatic5]A::a0108
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsflda int64 [rvastatic5]A::a0109
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsflda int32 [rvastatic5]A::a01010
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsflda int32 [rvastatic5]A::a01011
+ ldind.i4
+ ldc.i4 11
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsflda int8 [rvastatic5]A::a01012
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsflda int64 [rvastatic5]A::a01013
+ ldind.i8
+ ldc.i8 13
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsflda int16 [rvastatic5]A::a01014
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsflda int64 [rvastatic5]A::a01015
+ ldind.i8
+ ldc.i8 15
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsflda int8 [rvastatic5]A::a01016
+ ldind.i1
+ ldc.i4 16
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsflda int8 [rvastatic5]A::a01017
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsflda int32 [rvastatic5]A::a01018
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsflda int16 [rvastatic5]A::a01019
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsflda float32 [rvastatic5]A::a01020
+ ldind.r4
+ ldc.r4 20.0
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsflda float32 [rvastatic5]A::a01021
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsflda float32 [rvastatic5]A::a01022
+ ldind.r4
+ ldc.r4 22.0
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsflda int16 [rvastatic5]A::a01023
+ ldind.i2
+ ldc.i4 23
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsflda float32 [rvastatic5]A::a01024
+ ldind.r4
+ ldc.r4 24.0
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsflda int16 [rvastatic5]A::a01025
+ ldind.i2
+ ldc.i4 25
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsflda int64 [rvastatic5]A::a01026
+ ldind.i8
+ ldc.i8 26
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsflda int8 [rvastatic5]A::a01027
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsflda int64 [rvastatic5]A::a01028
+ ldind.i8
+ ldc.i8 28
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsflda int64 [rvastatic5]A::a01029
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsflda int32 [rvastatic5]A::a01030
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsflda int16 [rvastatic5]A::a01031
+ ldind.i2
+ ldc.i4 31
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsflda int16 [rvastatic5]A::a01032
+ ldind.i2
+ ldc.i4 32
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsflda float32 [rvastatic5]A::a01033
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsflda int16 [rvastatic5]A::a01034
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsflda int64 [rvastatic5]A::a01035
+ ldind.i8
+ ldc.i8 35
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsflda int32 [rvastatic5]A::a01036
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsflda int32 [rvastatic5]A::a01037
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsflda int64 [rvastatic5]A::a01038
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsflda int32 [rvastatic5]A::a01039
+ ldind.i4
+ ldc.i4 39
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsflda float32 [rvastatic5]A::a01040
+ ldind.r4
+ ldc.r4 40.0
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsflda int32 [rvastatic5]A::a01041
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsflda int16 [rvastatic5]A::a01042
+ ldind.i2
+ ldc.i4 42
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsflda int32 [rvastatic5]A::a01043
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsflda int16 [rvastatic5]A::a01044
+ ldind.i2
+ ldc.i4 44
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsflda int8 [rvastatic5]A::a01045
+ ldind.i1
+ ldc.i4 45
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsflda int16 [rvastatic5]A::a01046
+ ldind.i2
+ ldc.i4 46
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsflda int64 [rvastatic5]A::a01047
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsflda int8 [rvastatic5]A::a01048
+ ldind.i1
+ ldc.i4 48
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsflda int16 [rvastatic5]A::a01049
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsflda int16 [rvastatic5]A::a01050
+ ldind.i2
+ ldc.i4 50
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsflda int16 [rvastatic5]A::a01051
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsflda int32 [rvastatic5]A::a01052
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsflda int64 [rvastatic5]A::a01053
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsflda int16 [rvastatic5]A::a01054
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsflda int32 [rvastatic5]A::a01055
+ ldind.i4
+ ldc.i4 55
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsflda float32 [rvastatic5]A::a01056
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsflda float32 [rvastatic5]A::a01057
+ ldind.r4
+ ldc.r4 57.0
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsflda int16 [rvastatic5]A::a01058
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsflda int16 [rvastatic5]A::a01059
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsflda int16 [rvastatic5]A::a01060
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsflda float32 [rvastatic5]A::a01061
+ ldind.r4
+ ldc.r4 61.0
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsflda int32 [rvastatic5]A::a01062
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsflda float32 [rvastatic5]A::a01063
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsflda int16 [rvastatic5]A::a01064
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsflda int16 [rvastatic5]A::a01065
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsflda int8 [rvastatic5]A::a01066
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsflda int16 [rvastatic5]A::a01067
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsflda int32 [rvastatic5]A::a01068
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsflda int32 [rvastatic5]A::a01069
+ ldind.i4
+ ldc.i4 69
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsflda int16 [rvastatic5]A::a01070
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsflda int32 [rvastatic5]A::a01071
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsflda int32 [rvastatic5]A::a01072
+ ldind.i4
+ ldc.i4 72
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsflda float32 [rvastatic5]A::a01073
+ ldind.r4
+ ldc.r4 73.0
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsflda int16 [rvastatic5]A::a01074
+ ldind.i2
+ ldc.i4 74
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsflda int32 [rvastatic5]A::a01075
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsflda int64 [rvastatic5]A::a01076
+ ldind.i8
+ ldc.i8 76
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsflda int32 [rvastatic5]A::a01077
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsflda int8 [rvastatic5]A::a01078
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsflda float32 [rvastatic5]A::a01079
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsflda float32 [rvastatic5]A::a01080
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsflda float32 [rvastatic5]A::a01081
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsflda float32 [rvastatic5]A::a01082
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsflda int32 [rvastatic5]A::a01083
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsflda int32 [rvastatic5]A::a01084
+ ldind.i4
+ ldc.i4 84
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsflda int8 [rvastatic5]A::a01085
+ ldind.i1
+ ldc.i4 85
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsflda int64 [rvastatic5]A::a01086
+ ldind.i8
+ ldc.i8 86
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsflda int64 [rvastatic5]A::a01087
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsflda int32 [rvastatic5]A::a01088
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsflda int64 [rvastatic5]A::a01089
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsflda int64 [rvastatic5]A::a01090
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsflda int64 [rvastatic5]A::a01091
+ ldind.i8
+ ldc.i8 91
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsflda int16 [rvastatic5]A::a01092
+ ldind.i2
+ ldc.i4 92
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsflda int16 [rvastatic5]A::a01093
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsflda int8 [rvastatic5]A::a01094
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsflda int8 [rvastatic5]A::a01095
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsflda float32 [rvastatic5]A::a01096
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsflda int16 [rvastatic5]A::a01097
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsflda int16 [rvastatic5]A::a01098
+ ldind.i2
+ ldc.i4 98
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsflda int8 [rvastatic5]A::a01099
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsflda float32 [rvastatic5]A::a010100
+ ldind.r4
+ ldc.r4 100.0
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsflda int8 [rvastatic5]A::a010101
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsflda int16 [rvastatic5]A::a010102
+ ldind.i2
+ ldc.i4 102
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsflda int32 [rvastatic5]A::a010103
+ ldind.i4
+ ldc.i4 103
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsflda float32 [rvastatic5]A::a010104
+ ldind.r4
+ ldc.r4 104.0
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsflda int64 [rvastatic5]A::a010105
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsflda float32 [rvastatic5]A::a010106
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsflda int64 [rvastatic5]A::a010107
+ ldind.i8
+ ldc.i8 107
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsflda int16 [rvastatic5]A::a010108
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsflda float32 [rvastatic5]A::a010109
+ ldind.r4
+ ldc.r4 109.0
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsflda float32 [rvastatic5]A::a010110
+ ldind.r4
+ ldc.r4 110.0
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsflda int32 [rvastatic5]A::a010111
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsflda int64 [rvastatic5]A::a010112
+ ldind.i8
+ ldc.i8 112
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsflda int32 [rvastatic5]A::a010113
+ ldind.i4
+ ldc.i4 113
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsflda int16 [rvastatic5]A::a010114
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsflda int32 [rvastatic5]A::a010115
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsflda float32 [rvastatic5]A::a010116
+ ldind.r4
+ ldc.r4 116.0
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsflda int8 [rvastatic5]A::a010117
+ ldind.i1
+ ldc.i4 117
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsflda int32 [rvastatic5]A::a010118
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsflda int8 [rvastatic5]A::a010119
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsflda int32 [rvastatic5]A::a010120
+ ldind.i4
+ ldc.i4 120
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsflda int32 [rvastatic5]A::a010121
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsflda int64 [rvastatic5]A::a010122
+ ldind.i8
+ ldc.i8 122
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsflda float32 [rvastatic5]A::a010123
+ ldind.r4
+ ldc.r4 123.0
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsflda int64 [rvastatic5]A::a010124
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsflda int64 [rvastatic5]A::a010125
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsflda int16 [rvastatic5]A::a010126
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsflda int8 [rvastatic5]A::a010127
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static void V3() {.maxstack 50
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 31
+ beq a010129
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010129:
+ ldsfld int64 [rvastatic5]A::a01013
+ ldc.i8 13
+ beq a010130
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010130:
+ ldsfld int32 [rvastatic5]A::a010115
+ ldc.i4 115
+ beq a010131
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010131:
+ ldsfld float32 [rvastatic5]A::a010100
+ ldc.r4 100.0
+ beq a010132
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010132:
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 90
+ beq a010133
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010133:
+ ldsfld int32 [rvastatic5]A::a01055
+ ldc.i4 55
+ beq a010134
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010134:
+ ldsfld int16 [rvastatic5]A::a01065
+ ldc.i4 65
+ beq a010135
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010135:
+ ldsfld int8 [rvastatic5]A::a01099
+ ldc.i4 99
+ beq a010136
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010136:
+ ldsfld int64 [rvastatic5]A::a01028
+ ldc.i8 28
+ beq a010137
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010137:
+ ldsfld int64 [rvastatic5]A::a0109
+ ldc.i8 9
+ beq a010138
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010138:
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 41
+ beq a010139
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010139:
+ ldsfld int8 [rvastatic5]A::a01085
+ ldc.i4 85
+ beq a010140
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010140:
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 90
+ beq a010141
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010141:
+ ldsfld int64 [rvastatic5]A::a01035
+ ldc.i8 35
+ beq a010142
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010142:
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 104.0
+ beq a010143
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010143:
+ ldsfld int64 [rvastatic5]A::a010112
+ ldc.i8 112
+ beq a010144
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010144:
+ ldsfld float32 [rvastatic5]A::a0101
+ ldc.r4 1.0
+ beq a010145
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010145:
+ ldsfld int64 [rvastatic5]A::a01087
+ ldc.i8 87
+ beq a010146
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010146:
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 41
+ beq a010147
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010147:
+ ldsfld float32 [rvastatic5]A::a010116
+ ldc.r4 116.0
+ beq a010148
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010148:
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 119
+ beq a010149
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010149:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 15
+ beq a010150
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010150:
+ ldsfld int16 [rvastatic5]A::a01059
+ ldc.i4 59
+ beq a010151
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010151:
+ ldsfld int16 [rvastatic5]A::a01064
+ ldc.i4 64
+ beq a010152
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010152:
+ ldsfld int32 [rvastatic5]A::a01055
+ ldc.i4 55
+ beq a010153
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010153:
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 51
+ beq a010154
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010154:
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 104.0
+ beq a010155
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010155:
+ ldsfld int16 [rvastatic5]A::a01042
+ ldc.i4 42
+ beq a010156
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010156:
+ ldsfld float32 [rvastatic5]A::a01061
+ ldc.r4 61.0
+ beq a010157
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010157:
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 104.0
+ beq a010158
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010158:
+ ldsfld float32 [rvastatic5]A::a01096
+ ldc.r4 96.0
+ beq a010159
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010159:
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 17
+ beq a010160
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010160:
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 52
+ beq a010161
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010161:
+ ldsfld int32 [rvastatic5]A::a01083
+ ldc.i4 83
+ beq a010162
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010162:
+ ldsfld int32 [rvastatic5]A::a01030
+ ldc.i4 30
+ beq a010163
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010163:
+ ldsfld int64 [rvastatic5]A::a01087
+ ldc.i8 87
+ beq a010164
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010164:
+ ldsfld int16 [rvastatic5]A::a01065
+ ldc.i4 65
+ beq a010165
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010165:
+ ldsfld int64 [rvastatic5]A::a01076
+ ldc.i8 76
+ beq a010166
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010166:
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 90
+ beq a010167
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010167:
+ ldsfld int16 [rvastatic5]A::a01049
+ ldc.i4 49
+ beq a010168
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010168:
+ ldsfld int16 [rvastatic5]A::a01070
+ ldc.i4 70
+ beq a010169
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010169:
+ ldsfld int32 [rvastatic5]A::a01083
+ ldc.i4 83
+ beq a010170
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010170:
+ ldsfld float32 [rvastatic5]A::a010110
+ ldc.r4 110.0
+ beq a010171
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010171:
+ ldsfld int16 [rvastatic5]A::a01059
+ ldc.i4 59
+ beq a010172
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010172:
+ ldsfld int32 [rvastatic5]A::a01011
+ ldc.i4 11
+ beq a010173
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010173:
+ ldsfld int16 [rvastatic5]A::a0102
+ ldc.i4 2
+ beq a010174
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010174:
+ ldsfld int64 [rvastatic5]A::a01013
+ ldc.i8 13
+ beq a010175
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010175:
+ ldsfld int16 [rvastatic5]A::a01058
+ ldc.i4 58
+ beq a010176
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010176:
+ ldsfld int64 [rvastatic5]A::a010107
+ ldc.i8 107
+ beq a010177
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010177:
+ ldsfld int16 [rvastatic5]A::a01044
+ ldc.i4 44
+ beq a010178
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010178:
+ ldsfld int32 [rvastatic5]A::a01010
+ ldc.i4 10
+ beq a010179
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010179:
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 24.0
+ beq a010180
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010180:
+ ldsfld int32 [rvastatic5]A::a010113
+ ldc.i4 113
+ beq a010181
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010181:
+ ldsfld int16 [rvastatic5]A::a01070
+ ldc.i4 70
+ beq a010182
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010182:
+ ldsfld int16 [rvastatic5]A::a01044
+ ldc.i4 44
+ beq a010183
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010183:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 15
+ beq a010184
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010184:
+ ldsfld float32 [rvastatic5]A::a01082
+ ldc.r4 82.0
+ beq a010185
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010185:
+ ldsfld int16 [rvastatic5]A::a01050
+ ldc.i4 50
+ beq a010186
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010186:
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 45
+ beq a010187
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010187:
+ ldsfld int32 [rvastatic5]A::a01039
+ ldc.i4 39
+ beq a010188
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010188:
+ ldsfld int8 [rvastatic5]A::a01078
+ ldc.i4 78
+ beq a010189
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010189:
+ ldsfld float32 [rvastatic5]A::a01022
+ ldc.r4 22.0
+ beq a010190
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010190:
+ ldsfld int64 [rvastatic5]A::a01038
+ ldc.i8 38
+ beq a010191
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010191:
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 52
+ beq a010192
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010192:
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 41
+ beq a010193
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010193:
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 24.0
+ beq a010194
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010194:
+ ldsfld float32 [rvastatic5]A::a01033
+ ldc.r4 33.0
+ beq a010195
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010195:
+ ldsfld float32 [rvastatic5]A::a0106
+ ldc.r4 6.0
+ beq a010196
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010196:
+ ldsfld int32 [rvastatic5]A::a0104
+ ldc.i4 4
+ beq a010197
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010197:
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 17
+ beq a010198
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010198:
+ ldsfld int64 [rvastatic5]A::a01047
+ ldc.i8 47
+ beq a010199
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010199:
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 53
+ beq a010200
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010200:
+ ldsfld int64 [rvastatic5]A::a010124
+ ldc.i8 124
+ beq a010201
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010201:
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 119
+ beq a010202
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010202:
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 45
+ beq a010203
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010203:
+ ldsfld int64 [rvastatic5]A::a01035
+ ldc.i8 35
+ beq a010204
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010204:
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 32
+ beq a010205
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010205:
+ ldsfld int32 [rvastatic5]A::a0100
+ ldc.i4 0
+ beq a010206
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010206:
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 53
+ beq a010207
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010207:
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 52
+ beq a010208
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010208:
+ ldsfld int64 [rvastatic5]A::a01038
+ ldc.i8 38
+ beq a010209
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010209:
+ ldsfld int16 [rvastatic5]A::a01046
+ ldc.i4 46
+ beq a010210
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010210:
+ ldsfld float32 [rvastatic5]A::a01063
+ ldc.r4 63.0
+ beq a010211
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010211:
+ ldsfld int8 [rvastatic5]A::a01016
+ ldc.i4 16
+ beq a010212
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010212:
+ ldsfld int8 [rvastatic5]A::a01094
+ ldc.i4 94
+ beq a010213
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010213:
+ ldsfld int32 [rvastatic5]A::a01072
+ ldc.i4 72
+ beq a010214
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010214:
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 32
+ beq a010215
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010215:
+ ldsfld float32 [rvastatic5]A::a010109
+ ldc.r4 109.0
+ beq a010216
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010216:
+ ldsfld int32 [rvastatic5]A::a01039
+ ldc.i4 39
+ beq a010217
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010217:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 15
+ beq a010218
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010218:
+ ldsfld float32 [rvastatic5]A::a0105
+ ldc.r4 5.0
+ beq a010219
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010219:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 15
+ beq a010220
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010220:
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 31
+ beq a010221
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010221:
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 51
+ beq a010222
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010222:
+ ldsfld int8 [rvastatic5]A::a01099
+ ldc.i4 99
+ beq a010223
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010223:
+ ldsfld int64 [rvastatic5]A::a01047
+ ldc.i8 47
+ beq a010224
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010224:
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 45
+ beq a010225
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010225:
+ ldsfld int16 [rvastatic5]A::a01058
+ ldc.i4 58
+ beq a010226
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010226:
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 17
+ beq a010227
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010227:
+ ldsfld int32 [rvastatic5]A::a010115
+ ldc.i4 115
+ beq a010228
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010228:
+ ldsfld int16 [rvastatic5]A::a01097
+ ldc.i4 97
+ beq a010229
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010229:
+ ldsfld float32 [rvastatic5]A::a0106
+ ldc.r4 6.0
+ beq a010230
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010230:
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 53
+ beq a010231
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010231:
+ ldsfld int64 [rvastatic5]A::a01089
+ ldc.i8 89
+ beq a010232
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010232:
+ ldsfld int64 [rvastatic5]A::a010125
+ ldc.i8 125
+ beq a010233
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010233:
+ ldsfld int32 [rvastatic5]A::a01084
+ ldc.i4 84
+ beq a010234
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010234:
+ ldsfld int8 [rvastatic5]A::a01027
+ ldc.i4 27
+ beq a010235
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010235:
+ ldsfld int32 [rvastatic5]A::a010121
+ ldc.i4 121
+ beq a010236
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010236:
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 24.0
+ beq a010237
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010237:
+ ldsfld int64 [rvastatic5]A::a0109
+ ldc.i8 9
+ beq a010238
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010238:
+ ldsfld int32 [rvastatic5]A::a010111
+ ldc.i4 111
+ beq a010239
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010239:
+ ldsfld float32 [rvastatic5]A::a01081
+ ldc.r4 81.0
+ beq a010240
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010240:
+ ldsfld int64 [rvastatic5]A::a010125
+ ldc.i8 125
+ beq a010241
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010241:
+ ldsfld int32 [rvastatic5]A::a010120
+ ldc.i4 120
+ beq a010242
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010242:
+ ldsfld int32 [rvastatic5]A::a0100
+ ldc.i4 0
+ beq a010243
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010243:
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 32
+ beq a010244
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010244:
+ ldsfld int64 [rvastatic5]A::a01086
+ ldc.i8 86
+ beq a010245
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010245:
+ ldsfld float32 [rvastatic5]A::a01021
+ ldc.r4 21.0
+ beq a010246
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010246:
+ ldsfld int64 [rvastatic5]A::a01086
+ ldc.i8 86
+ beq a010247
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010247:
+ ldsfld float32 [rvastatic5]A::a01096
+ ldc.r4 96.0
+ beq a010248
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010248:
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 119
+ beq a010249
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010249:
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 51
+ beq a010250
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010250:
+ ldsfld int8 [rvastatic5]A::a01095
+ ldc.i4 95
+ beq a010251
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010251:
+ ldsfld int8 [rvastatic5]A::a010117
+ ldc.i4 117
+ beq a010252
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010252:
+ ldsfld int8 [rvastatic5]A::a01012
+ ldc.i4 12
+ beq a010253
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010253:
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 31
+ beq a010254
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010254:
+ ldsfld float32 [rvastatic5]A::a01022
+ ldc.r4 22.0
+ beq a010255
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010255:
+ ldsfld int32 [rvastatic5]A::a01072
+ ldc.i4 72
+ beq a010256
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010256:
+ ret}
+ .method static void V4() {.maxstack 50
+ ldsflda int32 [rvastatic5]A::a0100
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda float32 [rvastatic5]A::a0101
+ conv.i8
+ ldc.i8 10790
+ add
+ conv.i8
+ ldc.i8 10790
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda int16 [rvastatic5]A::a0102
+ conv.i8
+ ldc.i8 13078
+ add
+ conv.i8
+ ldc.i8 13078
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 2
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int8 [rvastatic5]A::a0103
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int32 [rvastatic5]A::a0104
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda float32 [rvastatic5]A::a0105
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 5.0
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda float32 [rvastatic5]A::a0106
+ conv.i8
+ ldc.i8 12672
+ add
+ conv.i8
+ ldc.i8 12672
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 6.0
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda int16 [rvastatic5]A::a0107
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 7
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int64 [rvastatic5]A::a0108
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int64 [rvastatic5]A::a0109
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int32 [rvastatic5]A::a01010
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int32 [rvastatic5]A::a01011
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int8 [rvastatic5]A::a01012
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int64 [rvastatic5]A::a01013
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int16 [rvastatic5]A::a01014
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int64 [rvastatic5]A::a01015
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda int8 [rvastatic5]A::a01016
+ conv.i8
+ ldc.i8 59925
+ add
+ conv.i8
+ ldc.i8 59925
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 16
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int8 [rvastatic5]A::a01017
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic5]A::a01018
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int16 [rvastatic5]A::a01019
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda float32 [rvastatic5]A::a01020
+ conv.i8
+ ldc.i8 56614
+ add
+ conv.i8
+ ldc.i8 56614
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 20.0
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda float32 [rvastatic5]A::a01021
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda float32 [rvastatic5]A::a01022
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 22.0
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int16 [rvastatic5]A::a01023
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda float32 [rvastatic5]A::a01024
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 24.0
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int16 [rvastatic5]A::a01025
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int64 [rvastatic5]A::a01026
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic5]A::a01027
+ conv.i8
+ ldc.i8 17214
+ add
+ conv.i8
+ ldc.i8 17214
+ sub
+ conv.i
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int64 [rvastatic5]A::a01028
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int64 [rvastatic5]A::a01029
+ conv.i8
+ ldc.i8 45202
+ add
+ conv.i8
+ ldc.i8 45202
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int32 [rvastatic5]A::a01030
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int16 [rvastatic5]A::a01031
+ conv.i8
+ ldc.i8 24533
+ add
+ conv.i8
+ ldc.i8 24533
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int16 [rvastatic5]A::a01032
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda float32 [rvastatic5]A::a01033
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic5]A::a01034
+ conv.i8
+ ldc.i8 5098
+ add
+ conv.i8
+ ldc.i8 5098
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int64 [rvastatic5]A::a01035
+ conv.i8
+ ldc.i8 39852
+ add
+ conv.i8
+ ldc.i8 39852
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic5]A::a01036
+ conv.i8
+ ldc.i8 45322
+ add
+ conv.i8
+ ldc.i8 45322
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic5]A::a01037
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int64 [rvastatic5]A::a01038
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int32 [rvastatic5]A::a01039
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda float32 [rvastatic5]A::a01040
+ conv.i8
+ ldc.i8 48614
+ add
+ conv.i8
+ ldc.i8 48614
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 40.0
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic5]A::a01041
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int16 [rvastatic5]A::a01042
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int32 [rvastatic5]A::a01043
+ conv.i8
+ ldc.i8 30293
+ add
+ conv.i8
+ ldc.i8 30293
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int16 [rvastatic5]A::a01044
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int8 [rvastatic5]A::a01045
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int16 [rvastatic5]A::a01046
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic5]A::a01047
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int8 [rvastatic5]A::a01048
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int16 [rvastatic5]A::a01049
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int16 [rvastatic5]A::a01050
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int16 [rvastatic5]A::a01051
+ conv.i8
+ ldc.i8 59977
+ add
+ conv.i8
+ ldc.i8 59977
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic5]A::a01052
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int64 [rvastatic5]A::a01053
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int16 [rvastatic5]A::a01054
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int32 [rvastatic5]A::a01055
+ conv.i8
+ ldc.i8 45375
+ add
+ conv.i8
+ ldc.i8 45375
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic5]A::a01056
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda float32 [rvastatic5]A::a01057
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 57.0
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int16 [rvastatic5]A::a01058
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int16 [rvastatic5]A::a01059
+ conv.i8
+ ldc.i8 14891
+ add
+ conv.i8
+ ldc.i8 14891
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int16 [rvastatic5]A::a01060
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda float32 [rvastatic5]A::a01061
+ conv.i8
+ ldc.i8 6708
+ add
+ conv.i8
+ ldc.i8 6708
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 61.0
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int32 [rvastatic5]A::a01062
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda float32 [rvastatic5]A::a01063
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int16 [rvastatic5]A::a01064
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int16 [rvastatic5]A::a01065
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic5]A::a01066
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic5]A::a01067
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int32 [rvastatic5]A::a01068
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int32 [rvastatic5]A::a01069
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int16 [rvastatic5]A::a01070
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int32 [rvastatic5]A::a01071
+ conv.i8
+ ldc.i8 25631
+ add
+ conv.i8
+ ldc.i8 25631
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int32 [rvastatic5]A::a01072
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda float32 [rvastatic5]A::a01073
+ conv.i8
+ ldc.i8 60043
+ add
+ conv.i8
+ ldc.i8 60043
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 73.0
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int16 [rvastatic5]A::a01074
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int32 [rvastatic5]A::a01075
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int64 [rvastatic5]A::a01076
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int32 [rvastatic5]A::a01077
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int8 [rvastatic5]A::a01078
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda float32 [rvastatic5]A::a01079
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic5]A::a01080
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda float32 [rvastatic5]A::a01081
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda float32 [rvastatic5]A::a01082
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int32 [rvastatic5]A::a01083
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int32 [rvastatic5]A::a01084
+ conv.i8
+ ldc.i8 29705
+ add
+ conv.i8
+ ldc.i8 29705
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int8 [rvastatic5]A::a01085
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i1
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int64 [rvastatic5]A::a01086
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic5]A::a01087
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int32 [rvastatic5]A::a01088
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int64 [rvastatic5]A::a01089
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int64 [rvastatic5]A::a01090
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int64 [rvastatic5]A::a01091
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int16 [rvastatic5]A::a01092
+ conv.i8
+ ldc.i8 60889
+ add
+ conv.i8
+ ldc.i8 60889
+ sub
+ conv.i
+ ldind.i2
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int16 [rvastatic5]A::a01093
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int8 [rvastatic5]A::a01094
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int8 [rvastatic5]A::a01095
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda float32 [rvastatic5]A::a01096
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int16 [rvastatic5]A::a01097
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int16 [rvastatic5]A::a01098
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int8 [rvastatic5]A::a01099
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda float32 [rvastatic5]A::a010100
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 100.0
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int8 [rvastatic5]A::a010101
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int16 [rvastatic5]A::a010102
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i2
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int32 [rvastatic5]A::a010103
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i4
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda float32 [rvastatic5]A::a010104
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 104.0
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int64 [rvastatic5]A::a010105
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda float32 [rvastatic5]A::a010106
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int64 [rvastatic5]A::a010107
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i8
+ ldc.i8 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int16 [rvastatic5]A::a010108
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda float32 [rvastatic5]A::a010109
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.r4
+ ldc.r4 109.0
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda float32 [rvastatic5]A::a010110
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.r4
+ ldc.r4 110.0
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic5]A::a010111
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int64 [rvastatic5]A::a010112
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i8
+ ldc.i8 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int32 [rvastatic5]A::a010113
+ conv.i8
+ ldc.i8 51156
+ add
+ conv.i8
+ ldc.i8 51156
+ sub
+ conv.i
+ ldind.i4
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int16 [rvastatic5]A::a010114
+ conv.i8
+ dup
+ ldc.i8 0x0000000000ffffff
+ and
+ ldc.i4 32
+ shl
+ conv.i8
+ ldc.i4 32
+ shr.un
+ or
+ conv.i
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int32 [rvastatic5]A::a010115
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda float32 [rvastatic5]A::a010116
+ conv.i8
+ ldc.i8 47532
+ add
+ conv.i8
+ ldc.i8 47532
+ sub
+ conv.i
+ ldind.r4
+ ldc.r4 116.0
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int8 [rvastatic5]A::a010117
+ conv.i8
+ ldc.i8 2
+ mul
+ ldc.i4 1
+ shr.un
+ conv.i
+ ldind.i1
+ ldc.i4 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int32 [rvastatic5]A::a010118
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int8 [rvastatic5]A::a010119
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int32 [rvastatic5]A::a010120
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int32 [rvastatic5]A::a010121
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int64 [rvastatic5]A::a010122
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ conv.i8
+ conv.r8
+ conv.u8
+ conv.i
+ ldind.i8
+ ldc.i8 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda float32 [rvastatic5]A::a010123
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.r4
+ ldc.r4 123.0
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic5]A::a010124
+ conv.i8
+ ldc.i8 612
+ add
+ conv.i8
+ ldc.i8 612
+ sub
+ conv.i
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic5]A::a010125
+ conv.r8
+ ldc.r8 234.098
+ add
+ conv.r8
+ ldc.r8 -234.098
+ add
+ conv.i
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int16 [rvastatic5]A::a010126
+ conv.i8
+ dup
+ dup
+ xor
+ xor
+ conv.i
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int8 [rvastatic5]A::a010127
+ conv.i8
+ dup
+ ldc.i8 0xffffffff00000000
+ and
+ ldc.i4 32
+ shr.un
+ conv.i8
+ ldc.i4 32
+ shl
+ or
+ conv.i
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V5() {.maxstack 50
+ ldsflda int32 [rvastatic5]A::a0100
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 0
+ beq a0100
+ ldstr "a0100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0100:
+ ldsflda float32 [rvastatic5]A::a0101
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 1.0
+ beq a0101
+ ldstr "a0101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0101:
+ ldsflda int16 [rvastatic5]A::a0102
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 2
+ beq a0102
+ ldstr "a0102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0102:
+ ldsflda int8 [rvastatic5]A::a0103
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 3
+ beq a0103
+ ldstr "a0103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0103:
+ ldsflda int32 [rvastatic5]A::a0104
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 4
+ beq a0104
+ ldstr "a0104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0104:
+ ldsflda float32 [rvastatic5]A::a0105
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 5.0
+ beq a0105
+ ldstr "a0105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0105:
+ ldsflda float32 [rvastatic5]A::a0106
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 6.0
+ beq a0106
+ ldstr "a0106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0106:
+ ldsflda int16 [rvastatic5]A::a0107
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 7
+ beq a0107
+ ldstr "a0107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0107:
+ ldsflda int64 [rvastatic5]A::a0108
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 8
+ beq a0108
+ ldstr "a0108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0108:
+ ldsflda int64 [rvastatic5]A::a0109
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 9
+ beq a0109
+ ldstr "a0109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a0109:
+ ldsflda int32 [rvastatic5]A::a01010
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 10
+ beq a01010
+ ldstr "a01010"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01010:
+ ldsflda int32 [rvastatic5]A::a01011
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 11
+ beq a01011
+ ldstr "a01011"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01011:
+ ldsflda int8 [rvastatic5]A::a01012
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 12
+ beq a01012
+ ldstr "a01012"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01012:
+ ldsflda int64 [rvastatic5]A::a01013
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 13
+ beq a01013
+ ldstr "a01013"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01013:
+ ldsflda int16 [rvastatic5]A::a01014
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 14
+ beq a01014
+ ldstr "a01014"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01014:
+ ldsflda int64 [rvastatic5]A::a01015
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 15
+ beq a01015
+ ldstr "a01015"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01015:
+ ldsflda int8 [rvastatic5]A::a01016
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 16
+ beq a01016
+ ldstr "a01016"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01016:
+ ldsflda int8 [rvastatic5]A::a01017
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i1
+ ldc.i4 17
+ beq a01017
+ ldstr "a01017"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01017:
+ ldsflda int32 [rvastatic5]A::a01018
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 18
+ beq a01018
+ ldstr "a01018"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01018:
+ ldsflda int16 [rvastatic5]A::a01019
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 19
+ beq a01019
+ ldstr "a01019"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01019:
+ ldsflda float32 [rvastatic5]A::a01020
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 20.0
+ beq a01020
+ ldstr "a01020"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01020:
+ ldsflda float32 [rvastatic5]A::a01021
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 21.0
+ beq a01021
+ ldstr "a01021"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01021:
+ ldsflda float32 [rvastatic5]A::a01022
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 22.0
+ beq a01022
+ ldstr "a01022"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01022:
+ ldsflda int16 [rvastatic5]A::a01023
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 23
+ beq a01023
+ ldstr "a01023"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01023:
+ ldsflda float32 [rvastatic5]A::a01024
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 24.0
+ beq a01024
+ ldstr "a01024"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01024:
+ ldsflda int16 [rvastatic5]A::a01025
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 25
+ beq a01025
+ ldstr "a01025"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01025:
+ ldsflda int64 [rvastatic5]A::a01026
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 26
+ beq a01026
+ ldstr "a01026"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01026:
+ ldsflda int8 [rvastatic5]A::a01027
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 27
+ beq a01027
+ ldstr "a01027"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01027:
+ ldsflda int64 [rvastatic5]A::a01028
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 28
+ beq a01028
+ ldstr "a01028"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01028:
+ ldsflda int64 [rvastatic5]A::a01029
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 29
+ beq a01029
+ ldstr "a01029"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01029:
+ ldsflda int32 [rvastatic5]A::a01030
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 30
+ beq a01030
+ ldstr "a01030"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01030:
+ ldsflda int16 [rvastatic5]A::a01031
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 31
+ beq a01031
+ ldstr "a01031"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01031:
+ ldsflda int16 [rvastatic5]A::a01032
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 32
+ beq a01032
+ ldstr "a01032"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01032:
+ ldsflda float32 [rvastatic5]A::a01033
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 33.0
+ beq a01033
+ ldstr "a01033"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01033:
+ ldsflda int16 [rvastatic5]A::a01034
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 34
+ beq a01034
+ ldstr "a01034"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01034:
+ ldsflda int64 [rvastatic5]A::a01035
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 35
+ beq a01035
+ ldstr "a01035"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01035:
+ ldsflda int32 [rvastatic5]A::a01036
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 36
+ beq a01036
+ ldstr "a01036"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01036:
+ ldsflda int32 [rvastatic5]A::a01037
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 37
+ beq a01037
+ ldstr "a01037"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01037:
+ ldsflda int64 [rvastatic5]A::a01038
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 38
+ beq a01038
+ ldstr "a01038"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01038:
+ ldsflda int32 [rvastatic5]A::a01039
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 39
+ beq a01039
+ ldstr "a01039"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01039:
+ ldsflda float32 [rvastatic5]A::a01040
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 40.0
+ beq a01040
+ ldstr "a01040"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01040:
+ ldsflda int32 [rvastatic5]A::a01041
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 41
+ beq a01041
+ ldstr "a01041"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01041:
+ ldsflda int16 [rvastatic5]A::a01042
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 42
+ beq a01042
+ ldstr "a01042"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01042:
+ ldsflda int32 [rvastatic5]A::a01043
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 43
+ beq a01043
+ ldstr "a01043"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01043:
+ ldsflda int16 [rvastatic5]A::a01044
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 44
+ beq a01044
+ ldstr "a01044"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01044:
+ ldsflda int8 [rvastatic5]A::a01045
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 45
+ beq a01045
+ ldstr "a01045"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01045:
+ ldsflda int16 [rvastatic5]A::a01046
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 46
+ beq a01046
+ ldstr "a01046"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01046:
+ ldsflda int64 [rvastatic5]A::a01047
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 47
+ beq a01047
+ ldstr "a01047"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01047:
+ ldsflda int8 [rvastatic5]A::a01048
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 48
+ beq a01048
+ ldstr "a01048"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01048:
+ ldsflda int16 [rvastatic5]A::a01049
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 49
+ beq a01049
+ ldstr "a01049"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01049:
+ ldsflda int16 [rvastatic5]A::a01050
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 50
+ beq a01050
+ ldstr "a01050"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01050:
+ ldsflda int16 [rvastatic5]A::a01051
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 51
+ beq a01051
+ ldstr "a01051"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01051:
+ ldsflda int32 [rvastatic5]A::a01052
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 52
+ beq a01052
+ ldstr "a01052"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01052:
+ ldsflda int64 [rvastatic5]A::a01053
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 53
+ beq a01053
+ ldstr "a01053"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01053:
+ ldsflda int16 [rvastatic5]A::a01054
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 54
+ beq a01054
+ ldstr "a01054"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01054:
+ ldsflda int32 [rvastatic5]A::a01055
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 55
+ beq a01055
+ ldstr "a01055"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01055:
+ ldsflda float32 [rvastatic5]A::a01056
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 56.0
+ beq a01056
+ ldstr "a01056"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01056:
+ ldsflda float32 [rvastatic5]A::a01057
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 57.0
+ beq a01057
+ ldstr "a01057"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01057:
+ ldsflda int16 [rvastatic5]A::a01058
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 58
+ beq a01058
+ ldstr "a01058"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01058:
+ ldsflda int16 [rvastatic5]A::a01059
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 59
+ beq a01059
+ ldstr "a01059"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01059:
+ ldsflda int16 [rvastatic5]A::a01060
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 60
+ beq a01060
+ ldstr "a01060"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01060:
+ ldsflda float32 [rvastatic5]A::a01061
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 61.0
+ beq a01061
+ ldstr "a01061"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01061:
+ ldsflda int32 [rvastatic5]A::a01062
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 62
+ beq a01062
+ ldstr "a01062"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01062:
+ ldsflda float32 [rvastatic5]A::a01063
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 63.0
+ beq a01063
+ ldstr "a01063"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01063:
+ ldsflda int16 [rvastatic5]A::a01064
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 64
+ beq a01064
+ ldstr "a01064"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01064:
+ ldsflda int16 [rvastatic5]A::a01065
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 65
+ beq a01065
+ ldstr "a01065"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01065:
+ ldsflda int8 [rvastatic5]A::a01066
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i1
+ ldc.i4 66
+ beq a01066
+ ldstr "a01066"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01066:
+ ldsflda int16 [rvastatic5]A::a01067
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 67
+ beq a01067
+ ldstr "a01067"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01067:
+ ldsflda int32 [rvastatic5]A::a01068
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 68
+ beq a01068
+ ldstr "a01068"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01068:
+ ldsflda int32 [rvastatic5]A::a01069
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 69
+ beq a01069
+ ldstr "a01069"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01069:
+ ldsflda int16 [rvastatic5]A::a01070
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 70
+ beq a01070
+ ldstr "a01070"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01070:
+ ldsflda int32 [rvastatic5]A::a01071
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 71
+ beq a01071
+ ldstr "a01071"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01071:
+ ldsflda int32 [rvastatic5]A::a01072
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 72
+ beq a01072
+ ldstr "a01072"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01072:
+ ldsflda float32 [rvastatic5]A::a01073
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 73.0
+ beq a01073
+ ldstr "a01073"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01073:
+ ldsflda int16 [rvastatic5]A::a01074
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 74
+ beq a01074
+ ldstr "a01074"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01074:
+ ldsflda int32 [rvastatic5]A::a01075
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 75
+ beq a01075
+ ldstr "a01075"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01075:
+ ldsflda int64 [rvastatic5]A::a01076
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 76
+ beq a01076
+ ldstr "a01076"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01076:
+ ldsflda int32 [rvastatic5]A::a01077
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 77
+ beq a01077
+ ldstr "a01077"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01077:
+ ldsflda int8 [rvastatic5]A::a01078
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 78
+ beq a01078
+ ldstr "a01078"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01078:
+ ldsflda float32 [rvastatic5]A::a01079
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 79.0
+ beq a01079
+ ldstr "a01079"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01079:
+ ldsflda float32 [rvastatic5]A::a01080
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 80.0
+ beq a01080
+ ldstr "a01080"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01080:
+ ldsflda float32 [rvastatic5]A::a01081
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 81.0
+ beq a01081
+ ldstr "a01081"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01081:
+ ldsflda float32 [rvastatic5]A::a01082
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 82.0
+ beq a01082
+ ldstr "a01082"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01082:
+ ldsflda int32 [rvastatic5]A::a01083
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 83
+ beq a01083
+ ldstr "a01083"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01083:
+ ldsflda int32 [rvastatic5]A::a01084
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 84
+ beq a01084
+ ldstr "a01084"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01084:
+ ldsflda int8 [rvastatic5]A::a01085
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 85
+ beq a01085
+ ldstr "a01085"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01085:
+ ldsflda int64 [rvastatic5]A::a01086
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 86
+ beq a01086
+ ldstr "a01086"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01086:
+ ldsflda int64 [rvastatic5]A::a01087
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 87
+ beq a01087
+ ldstr "a01087"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01087:
+ ldsflda int32 [rvastatic5]A::a01088
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 88
+ beq a01088
+ ldstr "a01088"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01088:
+ ldsflda int64 [rvastatic5]A::a01089
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i8
+ ldc.i8 89
+ beq a01089
+ ldstr "a01089"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01089:
+ ldsflda int64 [rvastatic5]A::a01090
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 90
+ beq a01090
+ ldstr "a01090"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01090:
+ ldsflda int64 [rvastatic5]A::a01091
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 91
+ beq a01091
+ ldstr "a01091"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01091:
+ ldsflda int16 [rvastatic5]A::a01092
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 92
+ beq a01092
+ ldstr "a01092"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01092:
+ ldsflda int16 [rvastatic5]A::a01093
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 93
+ beq a01093
+ ldstr "a01093"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01093:
+ ldsflda int8 [rvastatic5]A::a01094
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 94
+ beq a01094
+ ldstr "a01094"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01094:
+ ldsflda int8 [rvastatic5]A::a01095
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 95
+ beq a01095
+ ldstr "a01095"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01095:
+ ldsflda float32 [rvastatic5]A::a01096
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 96.0
+ beq a01096
+ ldstr "a01096"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01096:
+ ldsflda int16 [rvastatic5]A::a01097
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 97
+ beq a01097
+ ldstr "a01097"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01097:
+ ldsflda int16 [rvastatic5]A::a01098
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i2
+ ldc.i4 98
+ beq a01098
+ ldstr "a01098"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01098:
+ ldsflda int8 [rvastatic5]A::a01099
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i1
+ ldc.i4 99
+ beq a01099
+ ldstr "a01099"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a01099:
+ ldsflda float32 [rvastatic5]A::a010100
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 100.0
+ beq a010100
+ ldstr "a010100"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010100:
+ ldsflda int8 [rvastatic5]A::a010101
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 101
+ beq a010101
+ ldstr "a010101"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010101:
+ ldsflda int16 [rvastatic5]A::a010102
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 102
+ beq a010102
+ ldstr "a010102"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010102:
+ ldsflda int32 [rvastatic5]A::a010103
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 103
+ beq a010103
+ ldstr "a010103"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010103:
+ ldsflda float32 [rvastatic5]A::a010104
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 104.0
+ beq a010104
+ ldstr "a010104"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010104:
+ ldsflda int64 [rvastatic5]A::a010105
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i8
+ ldc.i8 105
+ beq a010105
+ ldstr "a010105"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010105:
+ ldsflda float32 [rvastatic5]A::a010106
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 106.0
+ beq a010106
+ ldstr "a010106"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010106:
+ ldsflda int64 [rvastatic5]A::a010107
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i8
+ ldc.i8 107
+ beq a010107
+ ldstr "a010107"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010107:
+ ldsflda int16 [rvastatic5]A::a010108
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 108
+ beq a010108
+ ldstr "a010108"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010108:
+ ldsflda float32 [rvastatic5]A::a010109
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 109.0
+ beq a010109
+ ldstr "a010109"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010109:
+ ldsflda float32 [rvastatic5]A::a010110
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 110.0
+ beq a010110
+ ldstr "a010110"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010110:
+ ldsflda int32 [rvastatic5]A::a010111
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 111
+ beq a010111
+ ldstr "a010111"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010111:
+ ldsflda int64 [rvastatic5]A::a010112
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 112
+ beq a010112
+ ldstr "a010112"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010112:
+ ldsflda int32 [rvastatic5]A::a010113
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 113
+ beq a010113
+ ldstr "a010113"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010113:
+ ldsflda int16 [rvastatic5]A::a010114
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 114
+ beq a010114
+ ldstr "a010114"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010114:
+ ldsflda int32 [rvastatic5]A::a010115
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 115
+ beq a010115
+ ldstr "a010115"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010115:
+ ldsflda float32 [rvastatic5]A::a010116
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.r4
+ ldc.r4 116.0
+ beq a010116
+ ldstr "a010116"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010116:
+ ldsflda int8 [rvastatic5]A::a010117
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 117
+ beq a010117
+ ldstr "a010117"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010117:
+ ldsflda int32 [rvastatic5]A::a010118
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i4
+ ldc.i4 118
+ beq a010118
+ ldstr "a010118"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010118:
+ ldsflda int8 [rvastatic5]A::a010119
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i1
+ ldc.i4 119
+ beq a010119
+ ldstr "a010119"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010119:
+ ldsflda int32 [rvastatic5]A::a010120
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 120
+ beq a010120
+ ldstr "a010120"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010120:
+ ldsflda int32 [rvastatic5]A::a010121
+ conv.i8
+ call native int [rvastatic5]A::Call1(int64)
+ ldind.i4
+ ldc.i4 121
+ beq a010121
+ ldstr "a010121"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010121:
+ ldsflda int64 [rvastatic5]A::a010122
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 122
+ beq a010122
+ ldstr "a010122"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010122:
+ ldsflda float32 [rvastatic5]A::a010123
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.r4
+ ldc.r4 123.0
+ beq a010123
+ ldstr "a010123"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010123:
+ ldsflda int64 [rvastatic5]A::a010124
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 124
+ beq a010124
+ ldstr "a010124"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010124:
+ ldsflda int64 [rvastatic5]A::a010125
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i8
+ ldc.i8 125
+ beq a010125
+ ldstr "a010125"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010125:
+ ldsflda int16 [rvastatic5]A::a010126
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i2
+ ldc.i4 126
+ beq a010126
+ ldstr "a010126"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010126:
+ ldsflda int8 [rvastatic5]A::a010127
+ conv.r8
+ call native int [rvastatic5]A::Call2(float64)
+ ldind.i1
+ ldc.i4 7
+ beq a010127
+ ldstr "a010127"
+ newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+ throw
+a010127:
+ ret}
+ .method static void V6() {.maxstack 50
+ ldsfld int32 [rvastatic5]A::a0100
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a0100
+ ldsfld int32 [rvastatic5]A::a0100
+ ldc.i4 1
+ beq a0100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0100:
+ ldsfld float32 [rvastatic5]A::a0101
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a0101
+ ldsfld float32 [rvastatic5]A::a0101
+ ldc.r4 2.0
+ beq a0101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0101:
+ ldsfld int16 [rvastatic5]A::a0102
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a0102
+ ldsfld int16 [rvastatic5]A::a0102
+ ldc.i4 3
+ beq a0102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0102:
+ ldsfld int8 [rvastatic5]A::a0103
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a0103
+ ldsfld int8 [rvastatic5]A::a0103
+ ldc.i4 4
+ beq a0103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0103:
+ ldsfld int32 [rvastatic5]A::a0104
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a0104
+ ldsfld int32 [rvastatic5]A::a0104
+ ldc.i4 5
+ beq a0104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0104:
+ ldsfld float32 [rvastatic5]A::a0105
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a0105
+ ldsfld float32 [rvastatic5]A::a0105
+ ldc.r4 6.0
+ beq a0105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0105:
+ ldsfld float32 [rvastatic5]A::a0106
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a0106
+ ldsfld float32 [rvastatic5]A::a0106
+ ldc.r4 7.0
+ beq a0106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0106:
+ ldsfld int16 [rvastatic5]A::a0107
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a0107
+ ldsfld int16 [rvastatic5]A::a0107
+ ldc.i4 8
+ beq a0107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0107:
+ ldsfld int64 [rvastatic5]A::a0108
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a0108
+ ldsfld int64 [rvastatic5]A::a0108
+ ldc.i8 9
+ beq a0108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0108:
+ ldsfld int64 [rvastatic5]A::a0109
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a0109
+ ldsfld int64 [rvastatic5]A::a0109
+ ldc.i8 10
+ beq a0109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a0109:
+ ldsfld int32 [rvastatic5]A::a01010
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01010
+ ldsfld int32 [rvastatic5]A::a01010
+ ldc.i4 11
+ beq a01010
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01010:
+ ldsfld int32 [rvastatic5]A::a01011
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01011
+ ldsfld int32 [rvastatic5]A::a01011
+ ldc.i4 12
+ beq a01011
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01011:
+ ldsfld int8 [rvastatic5]A::a01012
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01012
+ ldsfld int8 [rvastatic5]A::a01012
+ ldc.i4 13
+ beq a01012
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01012:
+ ldsfld int64 [rvastatic5]A::a01013
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01013
+ ldsfld int64 [rvastatic5]A::a01013
+ ldc.i8 14
+ beq a01013
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01013:
+ ldsfld int16 [rvastatic5]A::a01014
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01014
+ ldsfld int16 [rvastatic5]A::a01014
+ ldc.i4 15
+ beq a01014
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01014:
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01015
+ ldsfld int64 [rvastatic5]A::a01015
+ ldc.i8 16
+ beq a01015
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01015:
+ ldsfld int8 [rvastatic5]A::a01016
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01016
+ ldsfld int8 [rvastatic5]A::a01016
+ ldc.i4 17
+ beq a01016
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01016:
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01017
+ ldsfld int8 [rvastatic5]A::a01017
+ ldc.i4 18
+ beq a01017
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01017:
+ ldsfld int32 [rvastatic5]A::a01018
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01018
+ ldsfld int32 [rvastatic5]A::a01018
+ ldc.i4 19
+ beq a01018
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01018:
+ ldsfld int16 [rvastatic5]A::a01019
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01019
+ ldsfld int16 [rvastatic5]A::a01019
+ ldc.i4 20
+ beq a01019
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01019:
+ ldsfld float32 [rvastatic5]A::a01020
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01020
+ ldsfld float32 [rvastatic5]A::a01020
+ ldc.r4 21.0
+ beq a01020
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01020:
+ ldsfld float32 [rvastatic5]A::a01021
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01021
+ ldsfld float32 [rvastatic5]A::a01021
+ ldc.r4 22.0
+ beq a01021
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01021:
+ ldsfld float32 [rvastatic5]A::a01022
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01022
+ ldsfld float32 [rvastatic5]A::a01022
+ ldc.r4 23.0
+ beq a01022
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01022:
+ ldsfld int16 [rvastatic5]A::a01023
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01023
+ ldsfld int16 [rvastatic5]A::a01023
+ ldc.i4 24
+ beq a01023
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01023:
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01024
+ ldsfld float32 [rvastatic5]A::a01024
+ ldc.r4 25.0
+ beq a01024
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01024:
+ ldsfld int16 [rvastatic5]A::a01025
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01025
+ ldsfld int16 [rvastatic5]A::a01025
+ ldc.i4 26
+ beq a01025
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01025:
+ ldsfld int64 [rvastatic5]A::a01026
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01026
+ ldsfld int64 [rvastatic5]A::a01026
+ ldc.i8 27
+ beq a01026
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01026:
+ ldsfld int8 [rvastatic5]A::a01027
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01027
+ ldsfld int8 [rvastatic5]A::a01027
+ ldc.i4 28
+ beq a01027
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01027:
+ ldsfld int64 [rvastatic5]A::a01028
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01028
+ ldsfld int64 [rvastatic5]A::a01028
+ ldc.i8 29
+ beq a01028
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01028:
+ ldsfld int64 [rvastatic5]A::a01029
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01029
+ ldsfld int64 [rvastatic5]A::a01029
+ ldc.i8 30
+ beq a01029
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01029:
+ ldsfld int32 [rvastatic5]A::a01030
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01030
+ ldsfld int32 [rvastatic5]A::a01030
+ ldc.i4 31
+ beq a01030
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01030:
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01031
+ ldsfld int16 [rvastatic5]A::a01031
+ ldc.i4 32
+ beq a01031
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01031:
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01032
+ ldsfld int16 [rvastatic5]A::a01032
+ ldc.i4 33
+ beq a01032
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01032:
+ ldsfld float32 [rvastatic5]A::a01033
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01033
+ ldsfld float32 [rvastatic5]A::a01033
+ ldc.r4 34.0
+ beq a01033
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01033:
+ ldsfld int16 [rvastatic5]A::a01034
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01034
+ ldsfld int16 [rvastatic5]A::a01034
+ ldc.i4 35
+ beq a01034
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01034:
+ ldsfld int64 [rvastatic5]A::a01035
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01035
+ ldsfld int64 [rvastatic5]A::a01035
+ ldc.i8 36
+ beq a01035
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01035:
+ ldsfld int32 [rvastatic5]A::a01036
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01036
+ ldsfld int32 [rvastatic5]A::a01036
+ ldc.i4 37
+ beq a01036
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01036:
+ ldsfld int32 [rvastatic5]A::a01037
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01037
+ ldsfld int32 [rvastatic5]A::a01037
+ ldc.i4 38
+ beq a01037
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01037:
+ ldsfld int64 [rvastatic5]A::a01038
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01038
+ ldsfld int64 [rvastatic5]A::a01038
+ ldc.i8 39
+ beq a01038
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01038:
+ ldsfld int32 [rvastatic5]A::a01039
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01039
+ ldsfld int32 [rvastatic5]A::a01039
+ ldc.i4 40
+ beq a01039
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01039:
+ ldsfld float32 [rvastatic5]A::a01040
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01040
+ ldsfld float32 [rvastatic5]A::a01040
+ ldc.r4 41.0
+ beq a01040
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01040:
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01041
+ ldsfld int32 [rvastatic5]A::a01041
+ ldc.i4 42
+ beq a01041
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01041:
+ ldsfld int16 [rvastatic5]A::a01042
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01042
+ ldsfld int16 [rvastatic5]A::a01042
+ ldc.i4 43
+ beq a01042
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01042:
+ ldsfld int32 [rvastatic5]A::a01043
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01043
+ ldsfld int32 [rvastatic5]A::a01043
+ ldc.i4 44
+ beq a01043
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01043:
+ ldsfld int16 [rvastatic5]A::a01044
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01044
+ ldsfld int16 [rvastatic5]A::a01044
+ ldc.i4 45
+ beq a01044
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01044:
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01045
+ ldsfld int8 [rvastatic5]A::a01045
+ ldc.i4 46
+ beq a01045
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01045:
+ ldsfld int16 [rvastatic5]A::a01046
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01046
+ ldsfld int16 [rvastatic5]A::a01046
+ ldc.i4 47
+ beq a01046
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01046:
+ ldsfld int64 [rvastatic5]A::a01047
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01047
+ ldsfld int64 [rvastatic5]A::a01047
+ ldc.i8 48
+ beq a01047
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01047:
+ ldsfld int8 [rvastatic5]A::a01048
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01048
+ ldsfld int8 [rvastatic5]A::a01048
+ ldc.i4 49
+ beq a01048
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01048:
+ ldsfld int16 [rvastatic5]A::a01049
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01049
+ ldsfld int16 [rvastatic5]A::a01049
+ ldc.i4 50
+ beq a01049
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01049:
+ ldsfld int16 [rvastatic5]A::a01050
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01050
+ ldsfld int16 [rvastatic5]A::a01050
+ ldc.i4 51
+ beq a01050
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01050:
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01051
+ ldsfld int16 [rvastatic5]A::a01051
+ ldc.i4 52
+ beq a01051
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01051:
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01052
+ ldsfld int32 [rvastatic5]A::a01052
+ ldc.i4 53
+ beq a01052
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01052:
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01053
+ ldsfld int64 [rvastatic5]A::a01053
+ ldc.i8 54
+ beq a01053
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01053:
+ ldsfld int16 [rvastatic5]A::a01054
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01054
+ ldsfld int16 [rvastatic5]A::a01054
+ ldc.i4 55
+ beq a01054
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01054:
+ ldsfld int32 [rvastatic5]A::a01055
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01055
+ ldsfld int32 [rvastatic5]A::a01055
+ ldc.i4 56
+ beq a01055
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01055:
+ ldsfld float32 [rvastatic5]A::a01056
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01056
+ ldsfld float32 [rvastatic5]A::a01056
+ ldc.r4 57.0
+ beq a01056
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01056:
+ ldsfld float32 [rvastatic5]A::a01057
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01057
+ ldsfld float32 [rvastatic5]A::a01057
+ ldc.r4 58.0
+ beq a01057
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01057:
+ ldsfld int16 [rvastatic5]A::a01058
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01058
+ ldsfld int16 [rvastatic5]A::a01058
+ ldc.i4 59
+ beq a01058
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01058:
+ ldsfld int16 [rvastatic5]A::a01059
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01059
+ ldsfld int16 [rvastatic5]A::a01059
+ ldc.i4 60
+ beq a01059
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01059:
+ ldsfld int16 [rvastatic5]A::a01060
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01060
+ ldsfld int16 [rvastatic5]A::a01060
+ ldc.i4 61
+ beq a01060
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01060:
+ ldsfld float32 [rvastatic5]A::a01061
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01061
+ ldsfld float32 [rvastatic5]A::a01061
+ ldc.r4 62.0
+ beq a01061
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01061:
+ ldsfld int32 [rvastatic5]A::a01062
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01062
+ ldsfld int32 [rvastatic5]A::a01062
+ ldc.i4 63
+ beq a01062
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01062:
+ ldsfld float32 [rvastatic5]A::a01063
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01063
+ ldsfld float32 [rvastatic5]A::a01063
+ ldc.r4 64.0
+ beq a01063
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01063:
+ ldsfld int16 [rvastatic5]A::a01064
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01064
+ ldsfld int16 [rvastatic5]A::a01064
+ ldc.i4 65
+ beq a01064
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01064:
+ ldsfld int16 [rvastatic5]A::a01065
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01065
+ ldsfld int16 [rvastatic5]A::a01065
+ ldc.i4 66
+ beq a01065
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01065:
+ ldsfld int8 [rvastatic5]A::a01066
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01066
+ ldsfld int8 [rvastatic5]A::a01066
+ ldc.i4 67
+ beq a01066
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01066:
+ ldsfld int16 [rvastatic5]A::a01067
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01067
+ ldsfld int16 [rvastatic5]A::a01067
+ ldc.i4 68
+ beq a01067
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01067:
+ ldsfld int32 [rvastatic5]A::a01068
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01068
+ ldsfld int32 [rvastatic5]A::a01068
+ ldc.i4 69
+ beq a01068
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01068:
+ ldsfld int32 [rvastatic5]A::a01069
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01069
+ ldsfld int32 [rvastatic5]A::a01069
+ ldc.i4 70
+ beq a01069
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01069:
+ ldsfld int16 [rvastatic5]A::a01070
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01070
+ ldsfld int16 [rvastatic5]A::a01070
+ ldc.i4 71
+ beq a01070
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01070:
+ ldsfld int32 [rvastatic5]A::a01071
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01071
+ ldsfld int32 [rvastatic5]A::a01071
+ ldc.i4 72
+ beq a01071
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01071:
+ ldsfld int32 [rvastatic5]A::a01072
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01072
+ ldsfld int32 [rvastatic5]A::a01072
+ ldc.i4 73
+ beq a01072
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01072:
+ ldsfld float32 [rvastatic5]A::a01073
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01073
+ ldsfld float32 [rvastatic5]A::a01073
+ ldc.r4 74.0
+ beq a01073
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01073:
+ ldsfld int16 [rvastatic5]A::a01074
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01074
+ ldsfld int16 [rvastatic5]A::a01074
+ ldc.i4 75
+ beq a01074
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01074:
+ ldsfld int32 [rvastatic5]A::a01075
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01075
+ ldsfld int32 [rvastatic5]A::a01075
+ ldc.i4 76
+ beq a01075
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01075:
+ ldsfld int64 [rvastatic5]A::a01076
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01076
+ ldsfld int64 [rvastatic5]A::a01076
+ ldc.i8 77
+ beq a01076
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01076:
+ ldsfld int32 [rvastatic5]A::a01077
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01077
+ ldsfld int32 [rvastatic5]A::a01077
+ ldc.i4 78
+ beq a01077
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01077:
+ ldsfld int8 [rvastatic5]A::a01078
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01078
+ ldsfld int8 [rvastatic5]A::a01078
+ ldc.i4 79
+ beq a01078
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01078:
+ ldsfld float32 [rvastatic5]A::a01079
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01079
+ ldsfld float32 [rvastatic5]A::a01079
+ ldc.r4 80.0
+ beq a01079
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01079:
+ ldsfld float32 [rvastatic5]A::a01080
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01080
+ ldsfld float32 [rvastatic5]A::a01080
+ ldc.r4 81.0
+ beq a01080
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01080:
+ ldsfld float32 [rvastatic5]A::a01081
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01081
+ ldsfld float32 [rvastatic5]A::a01081
+ ldc.r4 82.0
+ beq a01081
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01081:
+ ldsfld float32 [rvastatic5]A::a01082
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01082
+ ldsfld float32 [rvastatic5]A::a01082
+ ldc.r4 83.0
+ beq a01082
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01082:
+ ldsfld int32 [rvastatic5]A::a01083
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01083
+ ldsfld int32 [rvastatic5]A::a01083
+ ldc.i4 84
+ beq a01083
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01083:
+ ldsfld int32 [rvastatic5]A::a01084
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01084
+ ldsfld int32 [rvastatic5]A::a01084
+ ldc.i4 85
+ beq a01084
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01084:
+ ldsfld int8 [rvastatic5]A::a01085
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01085
+ ldsfld int8 [rvastatic5]A::a01085
+ ldc.i4 86
+ beq a01085
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01085:
+ ldsfld int64 [rvastatic5]A::a01086
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01086
+ ldsfld int64 [rvastatic5]A::a01086
+ ldc.i8 87
+ beq a01086
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01086:
+ ldsfld int64 [rvastatic5]A::a01087
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01087
+ ldsfld int64 [rvastatic5]A::a01087
+ ldc.i8 88
+ beq a01087
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01087:
+ ldsfld int32 [rvastatic5]A::a01088
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a01088
+ ldsfld int32 [rvastatic5]A::a01088
+ ldc.i4 89
+ beq a01088
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01088:
+ ldsfld int64 [rvastatic5]A::a01089
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01089
+ ldsfld int64 [rvastatic5]A::a01089
+ ldc.i8 90
+ beq a01089
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01089:
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01090
+ ldsfld int64 [rvastatic5]A::a01090
+ ldc.i8 91
+ beq a01090
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01090:
+ ldsfld int64 [rvastatic5]A::a01091
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a01091
+ ldsfld int64 [rvastatic5]A::a01091
+ ldc.i8 92
+ beq a01091
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01091:
+ ldsfld int16 [rvastatic5]A::a01092
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01092
+ ldsfld int16 [rvastatic5]A::a01092
+ ldc.i4 93
+ beq a01092
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01092:
+ ldsfld int16 [rvastatic5]A::a01093
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01093
+ ldsfld int16 [rvastatic5]A::a01093
+ ldc.i4 94
+ beq a01093
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01093:
+ ldsfld int8 [rvastatic5]A::a01094
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01094
+ ldsfld int8 [rvastatic5]A::a01094
+ ldc.i4 95
+ beq a01094
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01094:
+ ldsfld int8 [rvastatic5]A::a01095
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01095
+ ldsfld int8 [rvastatic5]A::a01095
+ ldc.i4 96
+ beq a01095
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01095:
+ ldsfld float32 [rvastatic5]A::a01096
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a01096
+ ldsfld float32 [rvastatic5]A::a01096
+ ldc.r4 97.0
+ beq a01096
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01096:
+ ldsfld int16 [rvastatic5]A::a01097
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01097
+ ldsfld int16 [rvastatic5]A::a01097
+ ldc.i4 98
+ beq a01097
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01097:
+ ldsfld int16 [rvastatic5]A::a01098
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a01098
+ ldsfld int16 [rvastatic5]A::a01098
+ ldc.i4 99
+ beq a01098
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01098:
+ ldsfld int8 [rvastatic5]A::a01099
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a01099
+ ldsfld int8 [rvastatic5]A::a01099
+ ldc.i4 100
+ beq a01099
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a01099:
+ ldsfld float32 [rvastatic5]A::a010100
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010100
+ ldsfld float32 [rvastatic5]A::a010100
+ ldc.r4 101.0
+ beq a010100
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010100:
+ ldsfld int8 [rvastatic5]A::a010101
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a010101
+ ldsfld int8 [rvastatic5]A::a010101
+ ldc.i4 102
+ beq a010101
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010101:
+ ldsfld int16 [rvastatic5]A::a010102
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a010102
+ ldsfld int16 [rvastatic5]A::a010102
+ ldc.i4 103
+ beq a010102
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010102:
+ ldsfld int32 [rvastatic5]A::a010103
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010103
+ ldsfld int32 [rvastatic5]A::a010103
+ ldc.i4 104
+ beq a010103
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010103:
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010104
+ ldsfld float32 [rvastatic5]A::a010104
+ ldc.r4 105.0
+ beq a010104
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010104:
+ ldsfld int64 [rvastatic5]A::a010105
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010105
+ ldsfld int64 [rvastatic5]A::a010105
+ ldc.i8 106
+ beq a010105
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010105:
+ ldsfld float32 [rvastatic5]A::a010106
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010106
+ ldsfld float32 [rvastatic5]A::a010106
+ ldc.r4 107.0
+ beq a010106
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010106:
+ ldsfld int64 [rvastatic5]A::a010107
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010107
+ ldsfld int64 [rvastatic5]A::a010107
+ ldc.i8 108
+ beq a010107
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010107:
+ ldsfld int16 [rvastatic5]A::a010108
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a010108
+ ldsfld int16 [rvastatic5]A::a010108
+ ldc.i4 109
+ beq a010108
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010108:
+ ldsfld float32 [rvastatic5]A::a010109
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010109
+ ldsfld float32 [rvastatic5]A::a010109
+ ldc.r4 110.0
+ beq a010109
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010109:
+ ldsfld float32 [rvastatic5]A::a010110
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010110
+ ldsfld float32 [rvastatic5]A::a010110
+ ldc.r4 111.0
+ beq a010110
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010110:
+ ldsfld int32 [rvastatic5]A::a010111
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010111
+ ldsfld int32 [rvastatic5]A::a010111
+ ldc.i4 112
+ beq a010111
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010111:
+ ldsfld int64 [rvastatic5]A::a010112
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010112
+ ldsfld int64 [rvastatic5]A::a010112
+ ldc.i8 113
+ beq a010112
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010112:
+ ldsfld int32 [rvastatic5]A::a010113
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010113
+ ldsfld int32 [rvastatic5]A::a010113
+ ldc.i4 114
+ beq a010113
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010113:
+ ldsfld int16 [rvastatic5]A::a010114
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a010114
+ ldsfld int16 [rvastatic5]A::a010114
+ ldc.i4 115
+ beq a010114
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010114:
+ ldsfld int32 [rvastatic5]A::a010115
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010115
+ ldsfld int32 [rvastatic5]A::a010115
+ ldc.i4 116
+ beq a010115
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010115:
+ ldsfld float32 [rvastatic5]A::a010116
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010116
+ ldsfld float32 [rvastatic5]A::a010116
+ ldc.r4 117.0
+ beq a010116
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010116:
+ ldsfld int8 [rvastatic5]A::a010117
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a010117
+ ldsfld int8 [rvastatic5]A::a010117
+ ldc.i4 118
+ beq a010117
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010117:
+ ldsfld int32 [rvastatic5]A::a010118
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010118
+ ldsfld int32 [rvastatic5]A::a010118
+ ldc.i4 119
+ beq a010118
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010118:
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a010119
+ ldsfld int8 [rvastatic5]A::a010119
+ ldc.i4 120
+ beq a010119
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010119:
+ ldsfld int32 [rvastatic5]A::a010120
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010120
+ ldsfld int32 [rvastatic5]A::a010120
+ ldc.i4 121
+ beq a010120
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010120:
+ ldsfld int32 [rvastatic5]A::a010121
+ ldc.i4 1
+ add
+ stsfld int32 [rvastatic5]A::a010121
+ ldsfld int32 [rvastatic5]A::a010121
+ ldc.i4 122
+ beq a010121
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010121:
+ ldsfld int64 [rvastatic5]A::a010122
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010122
+ ldsfld int64 [rvastatic5]A::a010122
+ ldc.i8 123
+ beq a010122
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010122:
+ ldsfld float32 [rvastatic5]A::a010123
+ ldc.r4 1
+ add
+ stsfld float32 [rvastatic5]A::a010123
+ ldsfld float32 [rvastatic5]A::a010123
+ ldc.r4 124.0
+ beq a010123
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010123:
+ ldsfld int64 [rvastatic5]A::a010124
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010124
+ ldsfld int64 [rvastatic5]A::a010124
+ ldc.i8 125
+ beq a010124
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010124:
+ ldsfld int64 [rvastatic5]A::a010125
+ ldc.i8 1
+ add
+ stsfld int64 [rvastatic5]A::a010125
+ ldsfld int64 [rvastatic5]A::a010125
+ ldc.i8 126
+ beq a010125
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010125:
+ ldsfld int16 [rvastatic5]A::a010126
+ ldc.i4 1
+ add
+ stsfld int16 [rvastatic5]A::a010126
+ ldsfld int16 [rvastatic5]A::a010126
+ ldc.i4 127
+ beq a010126
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010126:
+ ldsfld int8 [rvastatic5]A::a010127
+ ldc.i4 1
+ add
+ stsfld int8 [rvastatic5]A::a010127
+ ldsfld int8 [rvastatic5]A::a010127
+ ldc.i4 8
+ beq a010127
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+a010127:
+ ret}
+ .method static int32 Main(string[] args){.entrypoint .maxstack 5
+ call void [rvastatic5]A::V1()
+ call void [rvastatic5]A::V2()
+ call void [rvastatic5]A::V3()
+ call void [rvastatic5]A::V4()
+ call void [rvastatic5]A::V5()
+ call void [rvastatic5]A::V6()
+ ldc.i4 100
+ ret}
+.field public static int32 a0100 at b0100
+.field private static int32 aALIGN10100 at bALIGN10100
+.field public static float32 a0101 at b0101
+.field private static int32 aALIGN10101 at bALIGN10101
+.field public static int16 a0102 at b0102
+.field private static int16 aALIGN10102 at bALIGN10102
+.field private static int32 aALIGN20102 at bALIGN20102
+.field public static int8 a0103 at b0103
+.field private static int32 aALIGN10103 at bALIGN10103
+.field private static int16 aALIGN20103 at bALIGN20103
+.field private static int8 aALIGN20103 at bALIGN30103
+.field public static int32 a0104 at b0104
+.field private static int32 aALIGN10104 at bALIGN10104
+.field public static float32 a0105 at b0105
+.field private static int32 aALIGN10105 at bALIGN10105
+.field public static float32 a0106 at b0106
+.field private static int32 aALIGN10106 at bALIGN10106
+.field public static int16 a0107 at b0107
+.field private static int16 aALIGN10107 at bALIGN10107
+.field private static int32 aALIGN20107 at bALIGN20107
+.field public static int64 a0108 at b0108
+.field public static int64 a0109 at b0109
+.field public static int32 a01010 at b01010
+.field private static int32 aALIGN101010 at bALIGN101010
+.field public static int32 a01011 at b01011
+.field private static int32 aALIGN101011 at bALIGN101011
+.field public static int8 a01012 at b01012
+.field private static int32 aALIGN101012 at bALIGN101012
+.field private static int16 aALIGN201012 at bALIGN201012
+.field private static int8 aALIGN201012 at bALIGN301012
+.field public static int64 a01013 at b01013
+.field public static int16 a01014 at b01014
+.field private static int16 aALIGN101014 at bALIGN101014
+.field private static int32 aALIGN201014 at bALIGN201014
+.field public static int64 a01015 at b01015
+.field public static int8 a01016 at b01016
+.field private static int32 aALIGN101016 at bALIGN101016
+.field private static int16 aALIGN201016 at bALIGN201016
+.field private static int8 aALIGN201016 at bALIGN301016
+.field public static int8 a01017 at b01017
+.field private static int32 aALIGN101017 at bALIGN101017
+.field private static int16 aALIGN201017 at bALIGN201017
+.field private static int8 aALIGN201017 at bALIGN301017
+.field public static int32 a01018 at b01018
+.field private static int32 aALIGN101018 at bALIGN101018
+.field public static int16 a01019 at b01019
+.field private static int16 aALIGN101019 at bALIGN101019
+.field private static int32 aALIGN201019 at bALIGN201019
+.field public static float32 a01020 at b01020
+.field private static int32 aALIGN101020 at bALIGN101020
+.field public static float32 a01021 at b01021
+.field private static int32 aALIGN101021 at bALIGN101021
+.field public static float32 a01022 at b01022
+.field private static int32 aALIGN101022 at bALIGN101022
+.field public static int16 a01023 at b01023
+.field private static int16 aALIGN101023 at bALIGN101023
+.field private static int32 aALIGN201023 at bALIGN201023
+.field public static float32 a01024 at b01024
+.field private static int32 aALIGN101024 at bALIGN101024
+.field public static int16 a01025 at b01025
+.field private static int16 aALIGN101025 at bALIGN101025
+.field private static int32 aALIGN201025 at bALIGN201025
+.field public static int64 a01026 at b01026
+.field public static int8 a01027 at b01027
+.field private static int32 aALIGN101027 at bALIGN101027
+.field private static int16 aALIGN201027 at bALIGN201027
+.field private static int8 aALIGN201027 at bALIGN301027
+.field public static int64 a01028 at b01028
+.field public static int64 a01029 at b01029
+.field public static int32 a01030 at b01030
+.field private static int32 aALIGN101030 at bALIGN101030
+.field public static int16 a01031 at b01031
+.field private static int16 aALIGN101031 at bALIGN101031
+.field private static int32 aALIGN201031 at bALIGN201031
+.field public static int16 a01032 at b01032
+.field private static int16 aALIGN101032 at bALIGN101032
+.field private static int32 aALIGN201032 at bALIGN201032
+.field public static float32 a01033 at b01033
+.field private static int32 aALIGN101033 at bALIGN101033
+.field public static int16 a01034 at b01034
+.field private static int16 aALIGN101034 at bALIGN101034
+.field private static int32 aALIGN201034 at bALIGN201034
+.field public static int64 a01035 at b01035
+.field public static int32 a01036 at b01036
+.field private static int32 aALIGN101036 at bALIGN101036
+.field public static int32 a01037 at b01037
+.field private static int32 aALIGN101037 at bALIGN101037
+.field public static int64 a01038 at b01038
+.field public static int32 a01039 at b01039
+.field private static int32 aALIGN101039 at bALIGN101039
+.field public static float32 a01040 at b01040
+.field private static int32 aALIGN101040 at bALIGN101040
+.field public static int32 a01041 at b01041
+.field private static int32 aALIGN101041 at bALIGN101041
+.field public static int16 a01042 at b01042
+.field private static int16 aALIGN101042 at bALIGN101042
+.field private static int32 aALIGN201042 at bALIGN201042
+.field public static int32 a01043 at b01043
+.field private static int32 aALIGN101043 at bALIGN101043
+.field public static int16 a01044 at b01044
+.field private static int16 aALIGN101044 at bALIGN101044
+.field private static int32 aALIGN201044 at bALIGN201044
+.field public static int8 a01045 at b01045
+.field private static int32 aALIGN101045 at bALIGN101045
+.field private static int16 aALIGN201045 at bALIGN201045
+.field private static int8 aALIGN201045 at bALIGN301045
+.field public static int16 a01046 at b01046
+.field private static int16 aALIGN101046 at bALIGN101046
+.field private static int32 aALIGN201046 at bALIGN201046
+.field public static int64 a01047 at b01047
+.field public static int8 a01048 at b01048
+.field private static int32 aALIGN101048 at bALIGN101048
+.field private static int16 aALIGN201048 at bALIGN201048
+.field private static int8 aALIGN201048 at bALIGN301048
+.field public static int16 a01049 at b01049
+.field private static int16 aALIGN101049 at bALIGN101049
+.field private static int32 aALIGN201049 at bALIGN201049
+.field public static int16 a01050 at b01050
+.field private static int16 aALIGN101050 at bALIGN101050
+.field private static int32 aALIGN201050 at bALIGN201050
+.field public static int16 a01051 at b01051
+.field private static int16 aALIGN101051 at bALIGN101051
+.field private static int32 aALIGN201051 at bALIGN201051
+.field public static int32 a01052 at b01052
+.field private static int32 aALIGN101052 at bALIGN101052
+.field public static int64 a01053 at b01053
+.field public static int16 a01054 at b01054
+.field private static int16 aALIGN101054 at bALIGN101054
+.field private static int32 aALIGN201054 at bALIGN201054
+.field public static int32 a01055 at b01055
+.field private static int32 aALIGN101055 at bALIGN101055
+.field public static float32 a01056 at b01056
+.field private static int32 aALIGN101056 at bALIGN101056
+.field public static float32 a01057 at b01057
+.field private static int32 aALIGN101057 at bALIGN101057
+.field public static int16 a01058 at b01058
+.field private static int16 aALIGN101058 at bALIGN101058
+.field private static int32 aALIGN201058 at bALIGN201058
+.field public static int16 a01059 at b01059
+.field private static int16 aALIGN101059 at bALIGN101059
+.field private static int32 aALIGN201059 at bALIGN201059
+.field public static int16 a01060 at b01060
+.field private static int16 aALIGN101060 at bALIGN101060
+.field private static int32 aALIGN201060 at bALIGN201060
+.field public static float32 a01061 at b01061
+.field private static int32 aALIGN101061 at bALIGN101061
+.field public static int32 a01062 at b01062
+.field private static int32 aALIGN101062 at bALIGN101062
+.field public static float32 a01063 at b01063
+.field private static int32 aALIGN101063 at bALIGN101063
+.field public static int16 a01064 at b01064
+.field private static int16 aALIGN101064 at bALIGN101064
+.field private static int32 aALIGN201064 at bALIGN201064
+.field public static int16 a01065 at b01065
+.field private static int16 aALIGN101065 at bALIGN101065
+.field private static int32 aALIGN201065 at bALIGN201065
+.field public static int8 a01066 at b01066
+.field private static int32 aALIGN101066 at bALIGN101066
+.field private static int16 aALIGN201066 at bALIGN201066
+.field private static int8 aALIGN201066 at bALIGN301066
+.field public static int16 a01067 at b01067
+.field private static int16 aALIGN101067 at bALIGN101067
+.field private static int32 aALIGN201067 at bALIGN201067
+.field public static int32 a01068 at b01068
+.field private static int32 aALIGN101068 at bALIGN101068
+.field public static int32 a01069 at b01069
+.field private static int32 aALIGN101069 at bALIGN101069
+.field public static int16 a01070 at b01070
+.field private static int16 aALIGN101070 at bALIGN101070
+.field private static int32 aALIGN201070 at bALIGN201070
+.field public static int32 a01071 at b01071
+.field private static int32 aALIGN101071 at bALIGN101071
+.field public static int32 a01072 at b01072
+.field private static int32 aALIGN101072 at bALIGN101072
+.field public static float32 a01073 at b01073
+.field private static int32 aALIGN101073 at bALIGN101073
+.field public static int16 a01074 at b01074
+.field private static int16 aALIGN101074 at bALIGN101074
+.field private static int32 aALIGN201074 at bALIGN201074
+.field public static int32 a01075 at b01075
+.field private static int32 aALIGN101075 at bALIGN101075
+.field public static int64 a01076 at b01076
+.field public static int32 a01077 at b01077
+.field private static int32 aALIGN101077 at bALIGN101077
+.field public static int8 a01078 at b01078
+.field private static int32 aALIGN101078 at bALIGN101078
+.field private static int16 aALIGN201078 at bALIGN201078
+.field private static int8 aALIGN201078 at bALIGN301078
+.field public static float32 a01079 at b01079
+.field private static int32 aALIGN101079 at bALIGN101079
+.field public static float32 a01080 at b01080
+.field private static int32 aALIGN101080 at bALIGN101080
+.field public static float32 a01081 at b01081
+.field private static int32 aALIGN101081 at bALIGN101081
+.field public static float32 a01082 at b01082
+.field private static int32 aALIGN101082 at bALIGN101082
+.field public static int32 a01083 at b01083
+.field private static int32 aALIGN101083 at bALIGN101083
+.field public static int32 a01084 at b01084
+.field private static int32 aALIGN101084 at bALIGN101084
+.field public static int8 a01085 at b01085
+.field private static int32 aALIGN101085 at bALIGN101085
+.field private static int16 aALIGN201085 at bALIGN201085
+.field private static int8 aALIGN201085 at bALIGN301085
+.field public static int64 a01086 at b01086
+.field public static int64 a01087 at b01087
+.field public static int32 a01088 at b01088
+.field private static int32 aALIGN101088 at bALIGN101088
+.field public static int64 a01089 at b01089
+.field public static int64 a01090 at b01090
+.field public static int64 a01091 at b01091
+.field public static int16 a01092 at b01092
+.field private static int16 aALIGN101092 at bALIGN101092
+.field private static int32 aALIGN201092 at bALIGN201092
+.field public static int16 a01093 at b01093
+.field private static int16 aALIGN101093 at bALIGN101093
+.field private static int32 aALIGN201093 at bALIGN201093
+.field public static int8 a01094 at b01094
+.field private static int32 aALIGN101094 at bALIGN101094
+.field private static int16 aALIGN201094 at bALIGN201094
+.field private static int8 aALIGN201094 at bALIGN301094
+.field public static int8 a01095 at b01095
+.field private static int32 aALIGN101095 at bALIGN101095
+.field private static int16 aALIGN201095 at bALIGN201095
+.field private static int8 aALIGN201095 at bALIGN301095
+.field public static float32 a01096 at b01096
+.field private static int32 aALIGN101096 at bALIGN101096
+.field public static int16 a01097 at b01097
+.field private static int16 aALIGN101097 at bALIGN101097
+.field private static int32 aALIGN201097 at bALIGN201097
+.field public static int16 a01098 at b01098
+.field private static int16 aALIGN101098 at bALIGN101098
+.field private static int32 aALIGN201098 at bALIGN201098
+.field public static int8 a01099 at b01099
+.field private static int32 aALIGN101099 at bALIGN101099
+.field private static int16 aALIGN201099 at bALIGN201099
+.field private static int8 aALIGN201099 at bALIGN301099
+.field public static float32 a010100 at b010100
+.field private static int32 aALIGN1010100 at bALIGN1010100
+.field public static int8 a010101 at b010101
+.field private static int32 aALIGN1010101 at bALIGN1010101
+.field private static int16 aALIGN2010101 at bALIGN2010101
+.field private static int8 aALIGN2010101 at bALIGN3010101
+.field public static int16 a010102 at b010102
+.field private static int16 aALIGN1010102 at bALIGN1010102
+.field private static int32 aALIGN2010102 at bALIGN2010102
+.field public static int32 a010103 at b010103
+.field private static int32 aALIGN1010103 at bALIGN1010103
+.field public static float32 a010104 at b010104
+.field private static int32 aALIGN1010104 at bALIGN1010104
+.field public static int64 a010105 at b010105
+.field public static float32 a010106 at b010106
+.field private static int32 aALIGN1010106 at bALIGN1010106
+.field public static int64 a010107 at b010107
+.field public static int16 a010108 at b010108
+.field private static int16 aALIGN1010108 at bALIGN1010108
+.field private static int32 aALIGN2010108 at bALIGN2010108
+.field public static float32 a010109 at b010109
+.field private static int32 aALIGN1010109 at bALIGN1010109
+.field public static float32 a010110 at b010110
+.field private static int32 aALIGN1010110 at bALIGN1010110
+.field public static int32 a010111 at b010111
+.field private static int32 aALIGN1010111 at bALIGN1010111
+.field public static int64 a010112 at b010112
+.field public static int32 a010113 at b010113
+.field private static int32 aALIGN1010113 at bALIGN1010113
+.field public static int16 a010114 at b010114
+.field private static int16 aALIGN1010114 at bALIGN1010114
+.field private static int32 aALIGN2010114 at bALIGN2010114
+.field public static int32 a010115 at b010115
+.field private static int32 aALIGN1010115 at bALIGN1010115
+.field public static float32 a010116 at b010116
+.field private static int32 aALIGN1010116 at bALIGN1010116
+.field public static int8 a010117 at b010117
+.field private static int32 aALIGN1010117 at bALIGN1010117
+.field private static int16 aALIGN2010117 at bALIGN2010117
+.field private static int8 aALIGN2010117 at bALIGN3010117
+.field public static int32 a010118 at b010118
+.field private static int32 aALIGN1010118 at bALIGN1010118
+.field public static int8 a010119 at b010119
+.field private static int32 aALIGN1010119 at bALIGN1010119
+.field private static int16 aALIGN2010119 at bALIGN2010119
+.field private static int8 aALIGN2010119 at bALIGN3010119
+.field public static int32 a010120 at b010120
+.field private static int32 aALIGN1010120 at bALIGN1010120
+.field public static int32 a010121 at b010121
+.field private static int32 aALIGN1010121 at bALIGN1010121
+.field public static int64 a010122 at b010122
+.field public static float32 a010123 at b010123
+.field private static int32 aALIGN1010123 at bALIGN1010123
+.field public static int64 a010124 at b010124
+.field public static int64 a010125 at b010125
+.field public static int16 a010126 at b010126
+.field private static int16 aALIGN1010126 at bALIGN1010126
+.field private static int32 aALIGN2010126 at bALIGN2010126
+.field public static int8 a010127 at b010127
+.field private static int32 aALIGN1010127 at bALIGN1010127
+.field private static int16 aALIGN2010127 at bALIGN2010127
+.field private static int8 aALIGN2010127 at bALIGN3010127
+ }
+.data b0100 = int32(0)
+.data bALIGN10100 = int32(0)
+.data b0101 = float32(1.0)
+.data bALIGN10101 = int32(0)
+.data b0102 = int16(2)
+.data bALIGN10102 = int16(0)
+.data bALIGN20102 = int32(0)
+.data b0103 = int8(3)
+.data bALIGN10103 = int32(0)
+.data bALIGN20103 = int16(0)
+.data bALIGN30103 = int8(0)
+.data b0104 = int32(4)
+.data bALIGN10104 = int32(0)
+.data b0105 = float32(5.0)
+.data bALIGN10105 = int32(0)
+.data b0106 = float32(6.0)
+.data bALIGN10106 = int32(0)
+.data b0107 = int16(7)
+.data bALIGN10107 = int16(0)
+.data bALIGN20107 = int32(0)
+.data b0108 = int64(8)
+.data b0109 = int64(9)
+.data b01010 = int32(10)
+.data bALIGN101010 = int32(0)
+.data b01011 = int32(11)
+.data bALIGN101011 = int32(0)
+.data b01012 = int8(12)
+.data bALIGN101012 = int32(0)
+.data bALIGN201012 = int16(0)
+.data bALIGN301012 = int8(0)
+.data b01013 = int64(13)
+.data b01014 = int16(14)
+.data bALIGN101014 = int16(0)
+.data bALIGN201014 = int32(0)
+.data b01015 = int64(15)
+.data b01016 = int8(16)
+.data bALIGN101016 = int32(0)
+.data bALIGN201016 = int16(0)
+.data bALIGN301016 = int8(0)
+.data b01017 = int8(17)
+.data bALIGN101017 = int32(0)
+.data bALIGN201017 = int16(0)
+.data bALIGN301017 = int8(0)
+.data b01018 = int32(18)
+.data bALIGN101018 = int32(0)
+.data b01019 = int16(19)
+.data bALIGN101019 = int16(0)
+.data bALIGN201019 = int32(0)
+.data b01020 = float32(20.0)
+.data bALIGN101020 = int32(0)
+.data b01021 = float32(21.0)
+.data bALIGN101021 = int32(0)
+.data b01022 = float32(22.0)
+.data bALIGN101022 = int32(0)
+.data b01023 = int16(23)
+.data bALIGN101023 = int16(0)
+.data bALIGN201023 = int32(0)
+.data b01024 = float32(24.0)
+.data bALIGN101024 = int32(0)
+.data b01025 = int16(25)
+.data bALIGN101025 = int16(0)
+.data bALIGN201025 = int32(0)
+.data b01026 = int64(26)
+.data b01027 = int8(27)
+.data bALIGN101027 = int32(0)
+.data bALIGN201027 = int16(0)
+.data bALIGN301027 = int8(0)
+.data b01028 = int64(28)
+.data b01029 = int64(29)
+.data b01030 = int32(30)
+.data bALIGN101030 = int32(0)
+.data b01031 = int16(31)
+.data bALIGN101031 = int16(0)
+.data bALIGN201031 = int32(0)
+.data b01032 = int16(32)
+.data bALIGN101032 = int16(0)
+.data bALIGN201032 = int32(0)
+.data b01033 = float32(33.0)
+.data bALIGN101033 = int32(0)
+.data b01034 = int16(34)
+.data bALIGN101034 = int16(0)
+.data bALIGN201034 = int32(0)
+.data b01035 = int64(35)
+.data b01036 = int32(36)
+.data bALIGN101036 = int32(0)
+.data b01037 = int32(37)
+.data bALIGN101037 = int32(0)
+.data b01038 = int64(38)
+.data b01039 = int32(39)
+.data bALIGN101039 = int32(0)
+.data b01040 = float32(40.0)
+.data bALIGN101040 = int32(0)
+.data b01041 = int32(41)
+.data bALIGN101041 = int32(0)
+.data b01042 = int16(42)
+.data bALIGN101042 = int16(0)
+.data bALIGN201042 = int32(0)
+.data b01043 = int32(43)
+.data bALIGN101043 = int32(0)
+.data b01044 = int16(44)
+.data bALIGN101044 = int16(0)
+.data bALIGN201044 = int32(0)
+.data b01045 = int8(45)
+.data bALIGN101045 = int32(0)
+.data bALIGN201045 = int16(0)
+.data bALIGN301045 = int8(0)
+.data b01046 = int16(46)
+.data bALIGN101046 = int16(0)
+.data bALIGN201046 = int32(0)
+.data b01047 = int64(47)
+.data b01048 = int8(48)
+.data bALIGN101048 = int32(0)
+.data bALIGN201048 = int16(0)
+.data bALIGN301048 = int8(0)
+.data b01049 = int16(49)
+.data bALIGN101049 = int16(0)
+.data bALIGN201049 = int32(0)
+.data b01050 = int16(50)
+.data bALIGN101050 = int16(0)
+.data bALIGN201050 = int32(0)
+.data b01051 = int16(51)
+.data bALIGN101051 = int16(0)
+.data bALIGN201051 = int32(0)
+.data b01052 = int32(52)
+.data bALIGN101052 = int32(0)
+.data b01053 = int64(53)
+.data b01054 = int16(54)
+.data bALIGN101054 = int16(0)
+.data bALIGN201054 = int32(0)
+.data b01055 = int32(55)
+.data bALIGN101055 = int32(0)
+.data b01056 = float32(56.0)
+.data bALIGN101056 = int32(0)
+.data b01057 = float32(57.0)
+.data bALIGN101057 = int32(0)
+.data b01058 = int16(58)
+.data bALIGN101058 = int16(0)
+.data bALIGN201058 = int32(0)
+.data b01059 = int16(59)
+.data bALIGN101059 = int16(0)
+.data bALIGN201059 = int32(0)
+.data b01060 = int16(60)
+.data bALIGN101060 = int16(0)
+.data bALIGN201060 = int32(0)
+.data b01061 = float32(61.0)
+.data bALIGN101061 = int32(0)
+.data b01062 = int32(62)
+.data bALIGN101062 = int32(0)
+.data b01063 = float32(63.0)
+.data bALIGN101063 = int32(0)
+.data b01064 = int16(64)
+.data bALIGN101064 = int16(0)
+.data bALIGN201064 = int32(0)
+.data b01065 = int16(65)
+.data bALIGN101065 = int16(0)
+.data bALIGN201065 = int32(0)
+.data b01066 = int8(66)
+.data bALIGN101066 = int32(0)
+.data bALIGN201066 = int16(0)
+.data bALIGN301066 = int8(0)
+.data b01067 = int16(67)
+.data bALIGN101067 = int16(0)
+.data bALIGN201067 = int32(0)
+.data b01068 = int32(68)
+.data bALIGN101068 = int32(0)
+.data b01069 = int32(69)
+.data bALIGN101069 = int32(0)
+.data b01070 = int16(70)
+.data bALIGN101070 = int16(0)
+.data bALIGN201070 = int32(0)
+.data b01071 = int32(71)
+.data bALIGN101071 = int32(0)
+.data b01072 = int32(72)
+.data bALIGN101072 = int32(0)
+.data b01073 = float32(73.0)
+.data bALIGN101073 = int32(0)
+.data b01074 = int16(74)
+.data bALIGN101074 = int16(0)
+.data bALIGN201074 = int32(0)
+.data b01075 = int32(75)
+.data bALIGN101075 = int32(0)
+.data b01076 = int64(76)
+.data b01077 = int32(77)
+.data bALIGN101077 = int32(0)
+.data b01078 = int8(78)
+.data bALIGN101078 = int32(0)
+.data bALIGN201078 = int16(0)
+.data bALIGN301078 = int8(0)
+.data b01079 = float32(79.0)
+.data bALIGN101079 = int32(0)
+.data b01080 = float32(80.0)
+.data bALIGN101080 = int32(0)
+.data b01081 = float32(81.0)
+.data bALIGN101081 = int32(0)
+.data b01082 = float32(82.0)
+.data bALIGN101082 = int32(0)
+.data b01083 = int32(83)
+.data bALIGN101083 = int32(0)
+.data b01084 = int32(84)
+.data bALIGN101084 = int32(0)
+.data b01085 = int8(85)
+.data bALIGN101085 = int32(0)
+.data bALIGN201085 = int16(0)
+.data bALIGN301085 = int8(0)
+.data b01086 = int64(86)
+.data b01087 = int64(87)
+.data b01088 = int32(88)
+.data bALIGN101088 = int32(0)
+.data b01089 = int64(89)
+.data b01090 = int64(90)
+.data b01091 = int64(91)
+.data b01092 = int16(92)
+.data bALIGN101092 = int16(0)
+.data bALIGN201092 = int32(0)
+.data b01093 = int16(93)
+.data bALIGN101093 = int16(0)
+.data bALIGN201093 = int32(0)
+.data b01094 = int8(94)
+.data bALIGN101094 = int32(0)
+.data bALIGN201094 = int16(0)
+.data bALIGN301094 = int8(0)
+.data b01095 = int8(95)
+.data bALIGN101095 = int32(0)
+.data bALIGN201095 = int16(0)
+.data bALIGN301095 = int8(0)
+.data b01096 = float32(96.0)
+.data bALIGN101096 = int32(0)
+.data b01097 = int16(97)
+.data bALIGN101097 = int16(0)
+.data bALIGN201097 = int32(0)
+.data b01098 = int16(98)
+.data bALIGN101098 = int16(0)
+.data bALIGN201098 = int32(0)
+.data b01099 = int8(99)
+.data bALIGN101099 = int32(0)
+.data bALIGN201099 = int16(0)
+.data bALIGN301099 = int8(0)
+.data b010100 = float32(100.0)
+.data bALIGN1010100 = int32(0)
+.data b010101 = int8(101)
+.data bALIGN1010101 = int32(0)
+.data bALIGN2010101 = int16(0)
+.data bALIGN3010101 = int8(0)
+.data b010102 = int16(102)
+.data bALIGN1010102 = int16(0)
+.data bALIGN2010102 = int32(0)
+.data b010103 = int32(103)
+.data bALIGN1010103 = int32(0)
+.data b010104 = float32(104.0)
+.data bALIGN1010104 = int32(0)
+.data b010105 = int64(105)
+.data b010106 = float32(106.0)
+.data bALIGN1010106 = int32(0)
+.data b010107 = int64(107)
+.data b010108 = int16(108)
+.data bALIGN1010108 = int16(0)
+.data bALIGN2010108 = int32(0)
+.data b010109 = float32(109.0)
+.data bALIGN1010109 = int32(0)
+.data b010110 = float32(110.0)
+.data bALIGN1010110 = int32(0)
+.data b010111 = int32(111)
+.data bALIGN1010111 = int32(0)
+.data b010112 = int64(112)
+.data b010113 = int32(113)
+.data bALIGN1010113 = int32(0)
+.data b010114 = int16(114)
+.data bALIGN1010114 = int16(0)
+.data bALIGN2010114 = int32(0)
+.data b010115 = int32(115)
+.data bALIGN1010115 = int32(0)
+.data b010116 = float32(116.0)
+.data bALIGN1010116 = int32(0)
+.data b010117 = int8(117)
+.data bALIGN1010117 = int32(0)
+.data bALIGN2010117 = int16(0)
+.data bALIGN3010117 = int8(0)
+.data b010118 = int32(118)
+.data bALIGN1010118 = int32(0)
+.data b010119 = int8(119)
+.data bALIGN1010119 = int32(0)
+.data bALIGN2010119 = int16(0)
+.data bALIGN3010119 = int8(0)
+.data b010120 = int32(120)
+.data bALIGN1010120 = int32(0)
+.data b010121 = int32(121)
+.data bALIGN1010121 = int32(0)
+.data b010122 = int64(122)
+.data b010123 = float32(123.0)
+.data bALIGN1010123 = int32(0)
+.data b010124 = int64(124)
+.data b010125 = int64(125)
+.data b010126 = int16(126)
+.data bALIGN1010126 = int16(0)
+.data bALIGN2010126 = int32(0)
+.data b010127 = int8(7)
+.data bALIGN1010127 = int32(0)
+.data bALIGN2010127 = int16(0)
+.data bALIGN3010127 = int8(0)
diff --git a/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj b/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj
new file mode 100644
index 0000000000..6b7b06b32b
--- /dev/null
+++ b/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rvastatic5.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/tailcall/app.config b/tests/src/JIT/Directed/tailcall/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Directed/tailcall/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Directed/tailcall/tailcall.il b/tests/src/JIT/Directed/tailcall/tailcall.il
new file mode 100644
index 0000000000..a8e31ce4c9
--- /dev/null
+++ b/tests/src/JIT/Directed/tailcall/tailcall.il
@@ -0,0 +1,340 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly tailcall
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module tailcall.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class interface private abstract auto ansi IFace1
+{
+ .method public hidebysig newslot abstract virtual
+ instance int32 Recurse3(int32 depth) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance int32 Recurse4(int32 depth,
+ object o1,
+ object o2) cil managed
+ {
+ }
+
+}
+
+.class public auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ implements IFace1
+{
+ .field private static int32 MaxDepth
+ .field private static int32 Expected
+ .field private int32 'value'
+ .method public hidebysig instance int32
+ Recurse1(int32 depth) cil managed
+ {
+ .maxstack 5
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000a
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: ret
+
+ IL_000a: ldarg.0
+ IL_000b: dup
+ IL_000c: ldfld int32 Class1::'value'
+ IL_0011: ldarg.1
+ IL_0012: add
+ IL_0013: stfld int32 Class1::'value'
+ IL_0018: ldarg.1
+ IL_0019: ldc.i4 0x80
+ IL_001e: rem
+ IL_001f: ldc.i4.s 43
+ IL_0021: bne.un.s IL_002d
+
+ IL_0023: ldarg.0
+ IL_0024: ldarg.1
+ IL_0025: ldc.i4.1
+ IL_0026: sub
+ IL_0027: tail. callvirt instance int32 Class1::Recurse3(int32)
+ IL_002c: ret
+
+ IL_002d: ldarg.0
+ IL_002e: ldarg.1
+ IL_002f: ldc.i4.1
+ IL_0030: sub
+ IL_0031: ldarg.1
+ IL_0032: box [mscorlib]System.Int32
+ IL_0037: ldarg.1
+ IL_0038: ldc.i4.1
+ IL_0039: add
+ IL_003a: box [mscorlib]System.Int32
+ IL_003f: tail. call instance int32 Class1::Recurse2(int32,
+ object,
+ object)
+ IL_0044: ret
+ }
+
+ .method public hidebysig instance int32
+ Recurse2(int32 depth,
+ object o1,
+ object o2) cil managed
+ {
+ .maxstack 4
+ .locals init (string V_0)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000a
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: ret
+
+ IL_000a: ldarg.1
+ IL_000b: ldsfld int32 Class1::MaxDepth
+ IL_0010: ldc.i4.s 10
+ IL_0012: div
+ IL_0013: rem
+ IL_0014: ldc.i4.s 100
+ IL_0016: bne.un.s IL_0051
+
+ IL_0018: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_001d: stloc.0
+ IL_001e: ldloc.0
+ IL_001f: ldstr "Main"
+ IL_0024: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_0029: ldc.i4.m1
+ IL_002a: bne.un.s IL_004c
+
+ IL_002c: ldstr "Unexpected stack trace: "
+ IL_0031: ldloc.0
+ IL_0032: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldstr "Test Failed"
+ IL_0041: call void [System.Console]System.Console::WriteLine(string)
+ IL_0046: ldc.i4.0
+ IL_0047: call void [mscorlib]System.Environment::Exit(int32)
+ IL_004c: call void [mscorlib]System.GC::Collect()
+ IL_0051: ldarg.0
+ IL_0052: dup
+ IL_0053: ldfld int32 Class1::'value'
+ IL_0058: ldarg.2
+ IL_0059: unbox [mscorlib]System.Int32
+ IL_005e: ldind.i4
+ IL_005f: ldarg.3
+ IL_0060: unbox [mscorlib]System.Int32
+ IL_0065: ldind.i4
+ IL_0066: add
+ IL_0067: add
+ IL_0068: stfld int32 Class1::'value'
+ IL_006d: ldarg.0
+ IL_006e: ldarg.1
+ IL_006f: ldc.i4.1
+ IL_0070: sub
+ IL_0071: tail. callvirt instance int32 IFace1::Recurse3(int32)
+ IL_0076: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Recurse3(int32 depth) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000a
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: ret
+
+ IL_000a: ldarg.1
+ IL_000b: ldc.i4 0x80
+ IL_0010: rem
+ IL_0011: ldc.i4.s 21
+ IL_0013: bne.un.s IL_001f
+
+ IL_0015: ldarg.0
+ IL_0016: ldarg.1
+ IL_0017: ldc.i4.1
+ IL_0018: sub
+ IL_0019: tail. call instance int32 Class1::Recurse1(int32)
+ IL_001e: ret
+
+ IL_001f: ldarg.0
+ IL_0020: ldarg.1
+ IL_0021: ldc.i4.1
+ IL_0022: sub
+ IL_0023: ldarg.1
+ IL_0024: ldc.i4.1
+ IL_0025: add
+ IL_0026: box [mscorlib]System.Int32
+ IL_002b: ldarg.1
+ IL_002c: ldc.i4.2
+ IL_002d: add
+ IL_002e: box [mscorlib]System.Int32
+ IL_0033: tail. callvirt instance int32 IFace1::Recurse4(int32,
+ object,
+ object)
+ IL_0038: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Recurse4(int32 depth,
+ object o1,
+ object o2) cil managed
+ {
+ .maxstack 4
+ .locals init (string V_0)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000a
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: ret
+
+ IL_000a: ldarg.1
+ IL_000b: ldsfld int32 Class1::MaxDepth
+ IL_0010: ldc.i4.s 10
+ IL_0012: div
+ IL_0013: rem
+ IL_0014: ldc.i4 0xc8
+ IL_0019: bne.un.s IL_0054
+
+ IL_001b: call void [mscorlib]System.GC::Collect()
+ IL_0020: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_0025: stloc.0
+ IL_0026: ldloc.0
+ IL_0027: ldstr "Main"
+ IL_002c: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_0031: ldc.i4.m1
+ IL_0032: bne.un.s IL_0054
+
+ IL_0034: ldstr "Unexpected stack trace: "
+ IL_0039: ldloc.0
+ IL_003a: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_003f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0044: ldstr "Test Failed"
+ IL_0049: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldc.i4.0
+ IL_004f: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0054: ldarg.0
+ IL_0055: dup
+ IL_0056: ldfld int32 Class1::'value'
+ IL_005b: ldarg.2
+ IL_005c: unbox [mscorlib]System.Int32
+ IL_0061: ldind.i4
+ IL_0062: ldarg.3
+ IL_0063: unbox [mscorlib]System.Int32
+ IL_0068: ldind.i4
+ IL_0069: add
+ IL_006a: add
+ IL_006b: stfld int32 Class1::'value'
+ IL_0070: ldarg.0
+ IL_0071: ldarg.1
+ IL_0072: ldc.i4.1
+ IL_0073: sub
+ IL_0074: tail. call instance int32 Class1::Recurse1(int32)
+ IL_0079: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class Class1 V_0,
+ object[] V_1)
+ IL_0000: ldstr "Test Start"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: newobj instance void Class1::.ctor()
+ IL_000f: stloc.0
+ IL_0010: ldloc.0
+ IL_0011: ldsfld int32 Class1::MaxDepth
+ IL_0016: callvirt instance int32 Class1::Recurse1(int32)
+ IL_001b: pop
+ IL_001c: ldloc.0
+ IL_001d: ldfld int32 Class1::'value'
+ IL_0022: ldsfld int32 Class1::Expected
+ IL_0027: beq.s IL_006e
+
+ IL_0029: ldc.i4.4
+ IL_002a: newarr [mscorlib]System.Object
+ IL_002f: stloc.1
+ IL_0030: ldloc.1
+ IL_0031: ldc.i4.0
+ IL_0032: ldstr "Expected result: "
+ IL_0037: stelem.ref
+ IL_0038: ldloc.1
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.1
+ IL_003b: box [mscorlib]System.Int32
+ IL_0040: stelem.ref
+ IL_0041: ldloc.1
+ IL_0042: ldc.i4.2
+ IL_0043: ldstr " Actual result: "
+ IL_0048: stelem.ref
+ IL_0049: ldloc.1
+ IL_004a: ldc.i4.3
+ IL_004b: ldloc.0
+ IL_004c: ldfld int32 Class1::'value'
+ IL_0051: box [mscorlib]System.Int32
+ IL_0056: stelem.ref
+ IL_0057: ldloc.1
+ IL_0058: call string [mscorlib]System.String::Concat(object[])
+ IL_005d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0062: ldstr "Test Failed"
+ IL_0067: call void [System.Console]System.Console::WriteLine(string)
+ IL_006c: ldc.i4.0
+ IL_006d: ret
+
+ IL_006e: ldstr "Test SUCCESS"
+ IL_0073: call void [System.Console]System.Console::WriteLine(string)
+ IL_0078: ldc.i4.s 100
+ IL_007a: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4 0x100000
+ IL_0005: stsfld int32 Class1::MaxDepth
+ IL_000a: ldc.i4 0x280000
+ IL_000f: stsfld int32 Class1::Expected
+ IL_0014: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Directed/tailcall/tailcall.ilproj b/tests/src/JIT/Directed/tailcall/tailcall.ilproj
new file mode 100644
index 0000000000..8df4f28922
--- /dev/null
+++ b/tests/src/JIT/Directed/tailcall/tailcall.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tailcall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/tls/MutualRecurThd-TLS.il b/tests/src/JIT/Directed/tls/MutualRecurThd-TLS.il
new file mode 100644
index 0000000000..fc55cf9348
--- /dev/null
+++ b/tests/src/JIT/Directed/tls/MutualRecurThd-TLS.il
@@ -0,0 +1,3311 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly mutualrecurthdtls
+{
+}
+.data tls FieldData = int32(32)
+.data tls FieldData2 = int64(64)
+
+.class public auto ansi Thread_EA
+{
+ .field public static int32 TLSFieldData at FieldData
+ .method public instance void Run() il managed
+ {
+ .maxstack 3
+ .locals (int32 i)
+
+ IL_0000: ldc.i4 0x1
+stsfld int32 Thread_EA::TLSFieldData
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0007: ldc.i4 0x1
+ IL_000c: add
+ IL_000d: call void ?Function1_1@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0013: ldc.i4 0x1
+ IL_0018: add
+ IL_0019: call void ?Function1_2@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_001f: ldc.i4 0x1
+ IL_0024: add
+ IL_0025: call void ?Function1_3@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_002b: ldc.i4 0x1
+ IL_0030: add
+ IL_0031: call void ?Function1_4@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0037: ldc.i4 0x1
+ IL_003c: add
+ IL_003d: call void ?Function1_5@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0043: ldc.i4 0x1
+ IL_0048: add
+ IL_0049: call void ?Function1_6@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_004f: ldc.i4 0x1
+ IL_0054: add
+ IL_0055: call void ?Function1_7@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_005b: ldc.i4 0x1
+ IL_0060: add
+ IL_0061: call void ?Function1_8@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0067: ldc.i4 0x1
+ IL_006c: add
+ IL_006d: call void ?Function1_9@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0073: ldc.i4 0x1
+ IL_0078: add
+ IL_0079: call void ?Function1_10@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_007f: ldc.i4 0x1
+ IL_0084: add
+ IL_0085: call void ?Function1_11@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_008b: ldc.i4 0x1
+ IL_0090: add
+ IL_0091: call void ?Function1_12@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0097: ldc.i4 0x1
+ IL_009c: add
+ IL_009d: call void ?Function1_13@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00a3: ldc.i4 0x1
+ IL_00a8: add
+ IL_00a9: call void ?Function1_14@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00af: ldc.i4 0x1
+ IL_00b4: add
+ IL_00b5: call void ?Function1_15@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00bb: ldc.i4 0x1
+ IL_00c0: add
+ IL_00c1: call void ?Function1_16@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00c7: ldc.i4 0x1
+ IL_00cc: add
+ IL_00cd: call void ?Function1_17@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00d3: ldc.i4 0x1
+ IL_00d8: add
+ IL_00d9: call void ?Function1_18@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00df: ldc.i4 0x1
+ IL_00e4: add
+ IL_00e5: call void ?Function1_19@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00eb: ldc.i4 0x1
+ IL_00f0: add
+ IL_00f1: call void ?Function1_20@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_00f7: ldc.i4 0x1
+ IL_00fc: add
+ IL_00fd: call void ?Function1_21@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0103: ldc.i4 0x1
+ IL_0108: add
+ IL_0109: call void ?Function1_22@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_010f: ldc.i4 0x1
+ IL_0114: add
+ IL_0115: call void ?Function1_23@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_011b: ldc.i4 0x1
+ IL_0120: add
+ IL_0121: call void ?Function1_24@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0127: ldc.i4 0x1
+ IL_012c: add
+ IL_012d: call void ?Function1_25@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0133: ldc.i4 0x1
+ IL_0138: add
+ IL_0139: call void ?Function1_26@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_013f: ldc.i4 0x1
+ IL_0144: add
+ IL_0145: call void ?Function1_27@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_014b: ldc.i4 0x1
+ IL_0150: add
+ IL_0151: call void ?Function1_28@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0157: ldc.i4 0x1
+ IL_015c: add
+ IL_015d: call void ?Function1_29@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0163: ldc.i4 0x1
+ IL_0168: add
+ IL_0169: call void ?Function1_30@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_016f: ldc.i4 0x1
+ IL_0174: add
+ IL_0175: call void ?Function1_31@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_017b: ldc.i4 0x1
+ IL_0180: add
+ IL_0181: call void ?Function1_32@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0187: ldc.i4 0x1
+ IL_018c: add
+ IL_018d: call void ?Function1_33@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0193: ldc.i4 0x1
+ IL_0198: add
+ IL_0199: call void ?Function1_34@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_019f: ldc.i4 0x1
+ IL_01a4: add
+ IL_01a5: call void ?Function1_35@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01ab: ldc.i4 0x1
+ IL_01b0: add
+ IL_01b1: call void ?Function1_36@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01b7: ldc.i4 0x1
+ IL_01bc: add
+ IL_01bd: call void ?Function1_37@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01c3: ldc.i4 0x1
+ IL_01c8: add
+ IL_01c9: call void ?Function1_38@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01cf: ldc.i4 0x1
+ IL_01d4: add
+ IL_01d5: call void ?Function1_39@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01db: ldc.i4 0x1
+ IL_01e0: add
+ IL_01e1: call void ?Function1_40@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01e7: ldc.i4 0x1
+ IL_01ec: add
+ IL_01ed: call void ?Function1_41@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01f3: ldc.i4 0x1
+ IL_01f8: add
+ IL_01f9: call void ?Function1_42@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_01ff: ldc.i4 0x1
+ IL_0204: add
+ IL_0205: call void ?Function1_43@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_020b: ldc.i4 0x1
+ IL_0210: add
+ IL_0211: call void ?Function1_44@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0217: ldc.i4 0x1
+ IL_021c: add
+ IL_021d: call void ?Function1_45@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0223: ldc.i4 0x1
+ IL_0228: add
+ IL_0229: call void ?Function1_46@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_022f: ldc.i4 0x1
+ IL_0234: add
+ IL_0235: call void ?Function1_47@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_023b: ldc.i4 0x1
+ IL_0240: add
+ IL_0241: call void ?Function1_48@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0247: ldc.i4 0x1
+ IL_024c: add
+ IL_024d: call void ?Function1_49@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0253: ldc.i4 0x1
+ IL_0258: add
+ IL_0259: call void ?Function1_50@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_025f: ldc.i4 0x1
+ IL_0264: add
+ IL_0265: call void ?Function1_51@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_026b: ldc.i4 0x1
+ IL_0270: add
+ IL_0271: call void ?Function1_52@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0277: ldc.i4 0x1
+ IL_027c: add
+ IL_027d: call void ?Function1_53@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0283: ldc.i4 0x1
+ IL_0288: add
+ IL_0289: call void ?Function1_54@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_028f: ldc.i4 0x1
+ IL_0294: add
+ IL_0295: call void ?Function1_55@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_029b: ldc.i4 0x1
+ IL_02a0: add
+ IL_02a1: call void ?Function1_56@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02a7: ldc.i4 0x1
+ IL_02ac: add
+ IL_02ad: call void ?Function1_57@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02b3: ldc.i4 0x1
+ IL_02b8: add
+ IL_02b9: call void ?Function1_58@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02bf: ldc.i4 0x1
+ IL_02c4: add
+ IL_02c5: call void ?Function1_59@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02cb: ldc.i4 0x1
+ IL_02d0: add
+ IL_02d1: call void ?Function1_60@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02d7: ldc.i4 0x1
+ IL_02dc: add
+ IL_02dd: call void ?Function1_61@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02e3: ldc.i4 0x1
+ IL_02e8: add
+ IL_02e9: call void ?Function1_62@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02ef: ldc.i4 0x1
+ IL_02f4: add
+ IL_02f5: call void ?Function1_63@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_02fb: ldc.i4 0x1
+ IL_0300: add
+ IL_0301: call void ?Function1_64@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0307: ldc.i4 0x1
+ IL_030c: add
+ IL_030d: call void ?Function1_65@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0313: ldc.i4 0x1
+ IL_0318: add
+ IL_0319: call void ?Function1_66@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_031f: ldc.i4 0x1
+ IL_0324: add
+ IL_0325: call void ?Function1_67@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_032b: ldc.i4 0x1
+ IL_0330: add
+ IL_0331: call void ?Function1_68@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0337: ldc.i4 0x1
+ IL_033c: add
+ IL_033d: call void ?Function1_69@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0343: ldc.i4 0x1
+ IL_0348: add
+ IL_0349: call void ?Function1_70@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_034f: ldc.i4 0x1
+ IL_0354: add
+ IL_0355: call void ?Function1_1@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_035b: ldc.i4 0x1
+ IL_0360: add
+ IL_0361: call void ?Function1_2@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0367: ldc.i4 0x1
+ IL_036c: add
+ IL_036d: call void ?Function1_3@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0373: ldc.i4 0x1
+ IL_0378: add
+ IL_0379: call void ?Function1_4@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_037f: ldc.i4 0x1
+ IL_0384: add
+ IL_0385: call void ?Function1_5@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_038b: ldc.i4 0x1
+ IL_0390: add
+ IL_0391: call void ?Function1_6@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0397: ldc.i4 0x1
+ IL_039c: add
+ IL_039d: call void ?Function1_7@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03a3: ldc.i4 0x1
+ IL_03a8: add
+ IL_03a9: call void ?Function1_8@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03af: ldc.i4 0x1
+ IL_03b4: add
+ IL_03b5: call void ?Function1_9@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03bb: ldc.i4 0x1
+ IL_03c0: add
+ IL_03c1: call void ?Function1_10@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03c7: ldc.i4 0x1
+ IL_03cc: add
+ IL_03cd: call void ?Function1_11@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03d3: ldc.i4 0x1
+ IL_03d8: add
+ IL_03d9: call void ?Function1_12@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03df: ldc.i4 0x1
+ IL_03e4: add
+ IL_03e5: call void ?Function1_13@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03eb: ldc.i4 0x1
+ IL_03f0: add
+ IL_03f1: call void ?Function1_14@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_03f7: ldc.i4 0x1
+ IL_03fc: add
+ IL_03fd: call void ?Function1_15@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0403: ldc.i4 0x1
+ IL_0408: add
+ IL_0409: call void ?Function1_16@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_040f: ldc.i4 0x1
+ IL_0414: add
+ IL_0415: call void ?Function1_17@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_041b: ldc.i4 0x1
+ IL_0420: add
+ IL_0421: call void ?Function1_18@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0427: ldc.i4 0x1
+ IL_042c: add
+ IL_042d: call void ?Function1_19@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0433: ldc.i4 0x1
+ IL_0438: add
+ IL_0439: call void ?Function1_20@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_043f: ldc.i4 0x1
+ IL_0444: add
+ IL_0445: call void ?Function1_21@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_044b: ldc.i4 0x1
+ IL_0450: add
+ IL_0451: call void ?Function1_22@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0457: ldc.i4 0x1
+ IL_045c: add
+ IL_045d: call void ?Function1_23@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0463: ldc.i4 0x1
+ IL_0468: add
+ IL_0469: call void ?Function1_24@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_046f: ldc.i4 0x1
+ IL_0474: add
+ IL_0475: call void ?Function1_25@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_047b: ldc.i4 0x1
+ IL_0480: add
+ IL_0481: call void ?Function1_26@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0487: ldc.i4 0x1
+ IL_048c: add
+ IL_048d: call void ?Function1_27@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_0493: ldc.i4 0x1
+ IL_0498: add
+ IL_0499: call void ?Function1_28@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_049f: ldc.i4 0x1
+ IL_04a4: add
+ IL_04a5: call void ?Function1_29@@YAXH@Z(int32)
+ldsfld int32 Thread_EA::TLSFieldData
+dup
+ldc.i4 0x1
+add
+stsfld int32 Thread_EA::TLSFieldData
+ IL_04ab: ldc.i4 0x1
+ IL_04b0: add
+ IL_04b1: call void ?Function1_30@@YAXH@Z(int32)
+ IL_04b6: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_04bb: ldstr "one thread finished"
+ IL_04c0:
+ IL_04c5: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_04ca: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 1
+
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class value sealed public explicit ansi $MultiByte$42
+{
+ .pack 1
+ .size 42
+}
+
+.class value sealed public explicit ansi $MultiByte$26
+{
+ .pack 1
+ .size 26
+}
+
+.class value sealed public explicit ansi $MultiByte$54
+{
+ .pack 1
+ .size 54
+}
+
+.class value sealed public explicit ansi $MultiByte$0
+{
+ .pack 1
+ .size 0
+}
+
+.method public static void ?Function1_1@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ret
+}
+
+.method public static void ?Function1_2@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ IL_0038: call void ?Function1_1@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_3@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_2@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_4@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+ IL_0038: call void ?Function1_3@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_5@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_4@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_6@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_5@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_7@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_6@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_8@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_7@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_9@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_8@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_10@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_9@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_11@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_10@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_12@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_11@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_13@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_12@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_14@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_13@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_15@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_14@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_16@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_15@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_17@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_16@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_18@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_17@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_19@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_18@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_20@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_19@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_21@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_20@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_22@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_21@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_23@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_22@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_24@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_23@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_25@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_24@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_26@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_25@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_27@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_26@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_28@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_27@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_29@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_28@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_30@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_29@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_31@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_30@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_32@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_31@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_33@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_32@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_34@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_33@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_35@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_34@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_36@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_35@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_37@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_36@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_38@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_37@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_39@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_38@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_40@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_39@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_41@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_40@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_42@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_41@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_43@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_42@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_44@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_43@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_45@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_44@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_46@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_45@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_47@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_46@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_48@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_47@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_49@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_48@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_50@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_49@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_51@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_50@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_52@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_51@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_53@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_52@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_54@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_53@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_55@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_54@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_56@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_55@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_57@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_56@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_58@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_57@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_59@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_58@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_60@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_59@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_61@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_60@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_62@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_61@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_63@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_62@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_64@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_63@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_65@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_64@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_66@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_65@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_67@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_66@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_68@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_67@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_69@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_68@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static void ?Function1_70@@YAXH@Z(int32 A_0) il managed
+{
+ .maxstack 4
+ .locals (unsigned int8[] mem)
+
+ IL_0000: ldarg.0
+ IL_0001: newarr [mscorlib]System.Byte
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.i4 0x0
+ IL_000d: ble IL_002e
+
+ IL_0012: ldloc.0
+ IL_0013: ldc.i4 0x0
+ IL_0018: ldc.i4 0x0
+ IL_001d: stelem.i1
+ IL_001e: ldloc.0
+ IL_001f: ldarg.0
+ IL_0020: ldc.i4 0x1
+ IL_0025: sub
+ IL_0026: ldarg.0
+ IL_0027: ldc.i4 0xff
+ IL_002c: and
+ IL_002d: stelem.i1
+ IL_002e: ldarg.0
+ IL_002f: ldc.i4 0x1
+ IL_0034: add
+ IL_0035: starg.s A_0
+ IL_0037: ldarg.0
+
+ IL_0038: call void ?Function1_69@@YAXH@Z(int32)
+ IL_003d: ret
+}
+
+.method public static int32 main() il managed
+{
+ .entrypoint
+ .maxstack 4
+ .locals (class [mscorlib]System.Threading.Thread[] thrd,
+ class Thread_EA ThdObj,
+ int32 V_2)
+
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+call class [mscorlib]System.IO.TextWriter [mscorlib]System.IO.TextWriter::Synchronized(class [mscorlib]System.IO.TextWriter)
+call void [System.Console]System.Console::SetOut(class [mscorlib]System.IO.TextWriter)
+
+ IL_0000: ldc.i4 0xa
+ IL_0005: newarr [mscorlib]System.Threading.Thread
+ IL_000a: stloc.0
+ IL_000b: newobj instance void Thread_EA::.ctor()
+ IL_0010: stloc.1
+ IL_0011: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0016: ldstr "test started"
+ IL_001b:
+ IL_0020: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_0025: ldc.i4 0x0
+ IL_002a: stloc.2
+ IL_002b: br IL_0038
+
+ IL_0030: ldloc.2
+ IL_0031: ldc.i4 0x1
+ IL_0036: add
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4 0xa
+ IL_003e: bge IL_0064
+
+ IL_0043: ldloc.0
+ IL_0044: ldloc.2
+ IL_0045: ldloc.1
+ IL_0046: ldftn instance void Thread_EA::Run()
+ IL_004c: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(class [mscorlib]System.Object,native int)
+ IL_0051: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0056: stelem.ref
+ IL_0057: ldloc.0
+ IL_0058: ldloc.2
+ IL_0059: ldelem.ref
+ IL_005a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_005f: br IL_0030
+
+ IL_0064: ldc.i4 0x0
+ IL_0069: stloc.2
+ IL_006a: br IL_0077
+
+ IL_006f: ldloc.2
+ IL_0070: ldc.i4 0x1
+ IL_0075: add
+ IL_0076: stloc.2
+ IL_0077: ldloc.2
+ IL_0078: ldc.i4 0xa
+ IL_007d: bge IL_008f
+
+ IL_0082: ldloc.0
+ IL_0083: ldloc.2
+ IL_0084: ldelem.ref
+ IL_0085: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_008a: br IL_006f
+
+ IL_008f: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0094: ldstr "Mututalrecurthd test passed"
+ IL_0099:
+ IL_009e: callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ IL_00a3: ldc.i4 0x64
+ IL_00a8: ret
+}
diff --git a/tests/src/JIT/Directed/tls/Test-TLS.il b/tests/src/JIT/Directed/tls/Test-TLS.il
new file mode 100644
index 0000000000..0704e219dc
--- /dev/null
+++ b/tests/src/JIT/Directed/tls/Test-TLS.il
@@ -0,0 +1,21 @@
+.assembly extern legacy library mscorlib {}
+.assembly testtls
+{
+}
+.data tls FieldData = int32(51966)
+.class public test {
+
+ .field public static int32 TLSFieldData at FieldData
+ .method public static int32 main()
+ {
+ .entrypoint
+ ldsfld int32 test::TLSFieldData
+ stsfld int32 test::TLSFieldData
+ ldc.i4 0x64
+ stsfld int32 test::TLSFieldData
+ ldsfld int32 test::TLSFieldData
+ ret
+ }
+}
+
+
diff --git a/tests/src/JIT/Directed/tls/app.config b/tests/src/JIT/Directed/tls/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Directed/tls/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj b/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj
new file mode 100644
index 0000000000..c5eec15026
--- /dev/null
+++ b/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="MutualRecurThd-TLS.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/tls/test-tls.ilproj b/tests/src/JIT/Directed/tls/test-tls.ilproj
new file mode 100644
index 0000000000..a515aa59b1
--- /dev/null
+++ b/tests/src/JIT/Directed/tls/test-tls.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Test-TLS.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/vararg/il/app.config b/tests/src/JIT/Directed/vararg/il/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Directed/vararg/il/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class1.il b/tests/src/JIT/Generics/ConstrainedCall/class1.il
new file mode 100644
index 0000000000..c8953e01db
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class1.il
@@ -0,0 +1,392 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly class1 {}
+.class interface private abstract auto ansi IncrDecr
+{
+ .method public hidebysig newslot abstract virtual
+ instance void Incr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance void Decr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance int32 Val() cil managed
+ {
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyInt
+ extends [mscorlib]System.Object
+ implements IncrDecr
+{
+ .field private int32 x
+ .method public hidebysig newslot virtual final
+ instance void Incr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: add
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance void Decr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: sub
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance int32 Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 MyInt::x
+ IL_0006: stloc.0
+ IL_0007: br.s IL_0009
+
+ IL_0009: ldloc.0
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyCounter<(IncrDecr) T>
+ extends [mscorlib]System.Object
+{
+ .param type T
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .field private !T counter
+ .field private !T[] counters
+ .method public hidebysig instance void
+ Increment() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldflda !0 class MyCounter<!T>::counter
+ IL_0006:
+ IL_000b: ldc.i4.s 100
+ constrained. !T
+ IL_000d: callvirt instance void IncrDecr::Incr(int32)
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldflda !0 class MyCounter<!T>::counter
+ IL_0006:
+ IL_000b: ldc.i4.s 100
+ constrained. !T
+ IL_000d: callvirt instance void IncrDecr::Decr(int32)
+ IL_0012: ret
+ }
+
+ .method public hidebysig instance void
+ Increment(int32 index) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0[] class MyCounter<!T>::counters
+ IL_0006: ldarg.1
+ IL_0007: ldtoken !T
+ IL_000c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0011: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0016: unbox.any !T
+ IL_001b: stelem !T
+ IL_0020: ldarg.0
+ IL_0021: ldfld !0[] class MyCounter<!T>::counters
+ IL_0026: ldarg.1
+ IL_0027: ldelema !T
+ IL_002c:
+ IL_0031: ldc.i4.s 100
+ constrained. !T
+ IL_0033: callvirt instance void IncrDecr::Incr(int32)
+ IL_0038: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement(int32 index) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0[] class MyCounter<!T>::counters
+ IL_0006: ldarg.1
+ IL_0007: ldelema !T
+ IL_000c:
+ IL_0011: ldc.i4.s 100
+ constrained. !T
+ IL_0013: callvirt instance void IncrDecr::Decr(int32)
+ IL_0018: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Increment2(!T cnter) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarga 1
+ IL_0001:
+ IL_0006: ldc.i4.s 100
+ constrained. !T
+ IL_0008: callvirt instance void IncrDecr::Incr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: stfld !0 class MyCounter<!T>::counter
+ IL_0014: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Decrement2(!T cnter) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarga 1
+ IL_0001:
+ IL_0006: ldc.i4.s 100
+ constrained. !T
+ IL_0008: callvirt instance void IncrDecr::Decr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: stfld !0 class MyCounter<!T>::counter
+ IL_0014: ret
+ }
+
+ .method public hidebysig instance int32
+ Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0 class MyCounter<!T>::counter
+ IL_0006: box !T
+ IL_000b: callvirt instance int32 IncrDecr::Val()
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0013
+
+ IL_0013: ldloc.0
+ IL_0014: ret
+ }
+
+ .method public hidebysig instance int32
+ Val(int32 index) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0[] class MyCounter<!T>::counters
+ IL_0006: ldarg.1
+ IL_0007: ldelem !T
+ IL_000c: box !T
+ IL_0011: callvirt instance int32 IncrDecr::Val()
+ IL_0016: stloc.0
+ IL_0017: br.s IL_0019
+
+ IL_0019: ldloc.0
+ IL_001a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldtoken !T
+ IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000b: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0010: unbox.any !T
+ IL_0015: stfld !0 class MyCounter<!T>::counter
+ IL_001a: ldarg.0
+ IL_001b: ldc.i4.1
+ IL_001c: newarr !T
+ IL_0021: stfld !0[] class MyCounter<!T>::counters
+ IL_0026: ldarg.0
+ IL_0027: call instance void [mscorlib]System.Object::.ctor()
+ IL_002c: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class MyCounter<class MyInt> V_0,
+ class MyInt V_1,
+ int32 V_2)
+ IL_0000: newobj instance void class MyCounter<class MyInt>::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: callvirt instance void class MyCounter<class MyInt>::Increment()
+ IL_000c: ldloc.0
+ IL_000d: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0012: ldc.i4.s 100
+ IL_0014: beq.s IL_003c
+
+ IL_0016: ldstr "FAILED"
+ IL_001b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0020: ldstr "Expected: 100, Actual: {0}"
+ IL_0025: ldloc.0
+ IL_0026: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_002b: box [mscorlib]System.Int32
+ IL_0030: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0035: ldc.i4.1
+ IL_0036: stloc.2
+ IL_0037: br IL_0158
+
+ IL_003c: ldloc.0
+ IL_003d: callvirt instance void class MyCounter<class MyInt>::Decrement()
+ IL_0042: ldloc.0
+ IL_0043: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0048: brfalse.s IL_0070
+
+ IL_004a: ldstr "FAILED"
+ IL_004f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0054: ldstr "Expected: 100, Actual: {0}"
+ IL_0059: ldloc.0
+ IL_005a: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_005f: box [mscorlib]System.Int32
+ IL_0064: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0069: ldc.i4.2
+ IL_006a: stloc.2
+ IL_006b: br IL_0158
+
+ IL_0070: ldloc.0
+ IL_0071: ldc.i4.0
+ IL_0072: callvirt instance void class MyCounter<class MyInt>::Increment(int32)
+ IL_0077: ldloc.0
+ IL_0078: ldc.i4.0
+ IL_0079: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_007e: ldc.i4.s 100
+ IL_0080: beq.s IL_00a9
+
+ IL_0082: ldstr "FAILED"
+ IL_0087: call void [System.Console]System.Console::WriteLine(string)
+ IL_008c: ldstr "Expected: 100, Actual: {0}"
+ IL_0091: ldloc.0
+ IL_0092: ldc.i4.0
+ IL_0093: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_0098: box [mscorlib]System.Int32
+ IL_009d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00a2: ldc.i4.3
+ IL_00a3: stloc.2
+ IL_00a4: br IL_0158
+
+ IL_00a9: ldloc.0
+ IL_00aa: ldc.i4.0
+ IL_00ab: callvirt instance void class MyCounter<class MyInt>::Decrement(int32)
+ IL_00b0: ldloc.0
+ IL_00b1: ldc.i4.0
+ IL_00b2: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_00b7: brfalse.s IL_00dd
+
+ IL_00b9: ldstr "FAILED"
+ IL_00be: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c3: ldstr "Expected: 100, Actual: {0}"
+ IL_00c8: ldloc.0
+ IL_00c9: ldc.i4.0
+ IL_00ca: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_00cf: box [mscorlib]System.Int32
+ IL_00d4: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00d9: ldc.i4.4
+ IL_00da: stloc.2
+ IL_00db: br.s IL_0158
+
+ IL_00dd: newobj instance void MyInt::.ctor()
+ IL_00e2: stloc.1
+ IL_00e3: ldloc.0
+ IL_00e4: ldloc.1
+ IL_00e5: callvirt instance void class MyCounter<class MyInt>::Increment2(!0)
+ IL_00ea: ldloc.0
+ IL_00eb: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_00f0: ldc.i4.s 100
+ IL_00f2: beq.s IL_0117
+
+ IL_00f4: ldstr "FAILED"
+ IL_00f9: call void [System.Console]System.Console::WriteLine(string)
+ IL_00fe: ldstr "Expected: 100, Actual: {0}"
+ IL_0103: ldloc.0
+ IL_0104: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0109: box [mscorlib]System.Int32
+ IL_010e: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0113: ldc.i4.5
+ IL_0114: stloc.2
+ IL_0115: br.s IL_0158
+
+ IL_0117: ldloc.0
+ IL_0118: ldloc.1
+ IL_0119: callvirt instance void class MyCounter<class MyInt>::Decrement2(!0)
+ IL_011e: ldloc.0
+ IL_011f: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0124: brfalse.s IL_0149
+
+ IL_0126: ldstr "FAILED"
+ IL_012b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0130: ldstr "Expected: 100, Actual: {0}"
+ IL_0135: ldloc.0
+ IL_0136: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_013b: box [mscorlib]System.Int32
+ IL_0140: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0145: ldc.i4.6
+ IL_0146: stloc.2
+ IL_0147: br.s IL_0158
+
+ IL_0149: ldstr "PASSED"
+ IL_014e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0153: ldc.i4.s 100
+ IL_0155: stloc.2
+ IL_0156: br.s IL_0158
+
+ IL_0158: ldloc.2
+ IL_0159: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class1_il_d.ilproj b/tests/src/JIT/Generics/ConstrainedCall/class1_il_d.ilproj
new file mode 100644
index 0000000000..0e1a2bbc76
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class1_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="class1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class1_il_r.ilproj b/tests/src/JIT/Generics/ConstrainedCall/class1_il_r.ilproj
new file mode 100644
index 0000000000..7b65f9924b
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class1_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="class1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class2.il b/tests/src/JIT/Generics/ConstrainedCall/class2.il
new file mode 100644
index 0000000000..9af3ae5b30
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class2.il
@@ -0,0 +1,457 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly class2 {}
+.class interface private abstract auto ansi IncrDecr
+{
+ .method public hidebysig newslot abstract virtual
+ instance void Incr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance void Decr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance int32 Val() cil managed
+ {
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyInt
+ extends [mscorlib]System.Object
+ implements IncrDecr
+{
+ .field private int32 x
+ .method public hidebysig newslot virtual final
+ instance void Incr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: add
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance void Decr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: sub
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance int32 Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 MyInt::x
+ IL_0006: stloc.0
+ IL_0007: br.s IL_0009
+
+ IL_0009: ldloc.0
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyCounter<(IncrDecr) T>
+ extends [mscorlib]System.Object
+{
+ .param type T
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .field private !T counter
+ .field private !T[] counters
+ .method public hidebysig instance void
+ Increment<(IncrDecr) T2>() cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (!!T2 V_0)
+ IL_0000: ldtoken !!T2
+ IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000a: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_000f: unbox.any !!T2
+ IL_0014: stloc.0
+ IL_0015: ldloca 0
+ IL_0016:
+ IL_001b: ldc.i4.s 100
+ constrained. !!T2
+ IL_001d: callvirt instance void IncrDecr::Incr(int32)
+ IL_0022: ldarg.0
+ IL_0023: ldloc.0
+ IL_0024: box !!T2
+ IL_0029: unbox.any !T
+ IL_002e: stfld !0 class MyCounter<!T>::counter
+ IL_0033: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement<(IncrDecr) T2>() cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (!!T2 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0 class MyCounter<!T>::counter
+ IL_0006: box !T
+ IL_000b: unbox.any !!T2
+ IL_0010: stloc.0
+ IL_0011: ldloc.0
+ IL_0012: box !!T2
+ IL_0017: ldc.i4.s 100
+ IL_0019: callvirt instance void IncrDecr::Decr(int32)
+ IL_001e: ldarg.0
+ IL_001f: ldloc.0
+ IL_0020: box !!T2
+ IL_0025: unbox.any !T
+ IL_002a: stfld !0 class MyCounter<!T>::counter
+ IL_002f: ret
+ }
+
+ .method public hidebysig instance void
+ Increment<(IncrDecr) T2>(int32 index) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 4
+ .locals init (!!T2[] V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: newarr !!T2
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldtoken !!T2
+ IL_000e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0013: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0018: unbox.any !!T2
+ IL_001d: stelem !!T2
+ IL_0022: ldloc.0
+ IL_0023: ldarg.1
+ IL_0024: ldelema !!T2
+ IL_0029:
+ IL_002e: ldc.i4.s 100
+ constrained. !!T2
+ IL_0030: callvirt instance void IncrDecr::Incr(int32)
+ IL_0035: ldarg.0
+ IL_0036: ldfld !0[] class MyCounter<!T>::counters
+ IL_003b: ldarg.1
+ IL_003c: ldloc.0
+ IL_003d: ldarg.1
+ IL_003e: ldelem !!T2
+ IL_0043: box !!T2
+ IL_0048: unbox.any !T
+ IL_004d: stelem !T
+ IL_0052: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement<(IncrDecr) T2>(int32 index) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 4
+ .locals init (!!T2[] V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: newarr !!T2
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldarg.0
+ IL_000a: ldfld !0[] class MyCounter<!T>::counters
+ IL_000f: ldarg.1
+ IL_0010: ldelem !T
+ IL_0015: box !T
+ IL_001a: unbox.any !!T2
+ IL_001f: stelem !!T2
+ IL_0024: ldloc.0
+ IL_0025: ldarg.1
+ IL_0026: ldelem !!T2
+ IL_002b: box !!T2
+ IL_0030: ldc.i4.s 100
+ IL_0032: callvirt instance void IncrDecr::Decr(int32)
+ IL_0037: ldarg.0
+ IL_0038: ldfld !0[] class MyCounter<!T>::counters
+ IL_003d: ldarg.1
+ IL_003e: ldloc.0
+ IL_003f: ldarg.1
+ IL_0040: ldelem !!T2
+ IL_0045: box !!T2
+ IL_004a: unbox.any !T
+ IL_004f: stelem !T
+ IL_0054: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Increment2<(IncrDecr) T2>(!!T2 cnter) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 8
+ IL_0000: ldarga 1
+ IL_0001:
+ IL_0006: ldc.i4.s 100
+ constrained. !!T2
+ IL_0008: callvirt instance void IncrDecr::Incr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: box !!T2
+ IL_0014: unbox.any !T
+ IL_0019: stfld !0 class MyCounter<!T>::counter
+ IL_001e: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Decrement2<(IncrDecr) T2>(!!T2 cnter) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: box !!T2
+ IL_0006: ldc.i4.s 100
+ IL_0008: callvirt instance void IncrDecr::Decr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: box !!T2
+ IL_0014: unbox.any !T
+ IL_0019: stfld !0 class MyCounter<!T>::counter
+ IL_001e: ret
+ }
+
+ .method public hidebysig instance int32
+ Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0 class MyCounter<!T>::counter
+ IL_0006: box !T
+ IL_000b: callvirt instance int32 IncrDecr::Val()
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0013
+
+ IL_0013: ldloc.0
+ IL_0014: ret
+ }
+
+ .method public hidebysig instance int32
+ Val(int32 index) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0[] class MyCounter<!T>::counters
+ IL_0006: ldarg.1
+ IL_0007: ldelem !T
+ IL_000c: box !T
+ IL_0011: callvirt instance int32 IncrDecr::Val()
+ IL_0016: stloc.0
+ IL_0017: br.s IL_0019
+
+ IL_0019: ldloc.0
+ IL_001a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldtoken !T
+ IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000b: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0010: unbox.any !T
+ IL_0015: stfld !0 class MyCounter<!T>::counter
+ IL_001a: ldarg.0
+ IL_001b: ldc.i4.1
+ IL_001c: newarr !T
+ IL_0021: stfld !0[] class MyCounter<!T>::counters
+ IL_0026: ldarg.0
+ IL_0027: call instance void [mscorlib]System.Object::.ctor()
+ IL_002c: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class MyCounter<class MyInt> V_0,
+ class MyInt V_1,
+ int32 V_2)
+ IL_0000: newobj instance void class MyCounter<class MyInt>::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: callvirt instance void class MyCounter<class MyInt>::Increment<class MyInt>()
+ IL_000c: ldloc.0
+ IL_000d: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0012: ldc.i4.s 100
+ IL_0014: beq.s IL_003c
+
+ IL_0016: ldstr "FAILED"
+ IL_001b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0020: ldstr "Expected: 100, Actual: {0}"
+ IL_0025: ldloc.0
+ IL_0026: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_002b: box [mscorlib]System.Int32
+ IL_0030: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0035: ldc.i4.1
+ IL_0036: stloc.2
+ IL_0037: br IL_0158
+
+ IL_003c: ldloc.0
+ IL_003d: callvirt instance void class MyCounter<class MyInt>::Decrement<class MyInt>()
+ IL_0042: ldloc.0
+ IL_0043: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0048: brfalse.s IL_0070
+
+ IL_004a: ldstr "FAILED"
+ IL_004f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0054: ldstr "Expected: 100, Actual: {0}"
+ IL_0059: ldloc.0
+ IL_005a: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_005f: box [mscorlib]System.Int32
+ IL_0064: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0069: ldc.i4.2
+ IL_006a: stloc.2
+ IL_006b: br IL_0158
+
+ IL_0070: ldloc.0
+ IL_0071: ldc.i4.0
+ IL_0072: callvirt instance void class MyCounter<class MyInt>::Increment<class MyInt>(int32)
+ IL_0077: ldloc.0
+ IL_0078: ldc.i4.0
+ IL_0079: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_007e: ldc.i4.s 100
+ IL_0080: beq.s IL_00a9
+
+ IL_0082: ldstr "FAILED"
+ IL_0087: call void [System.Console]System.Console::WriteLine(string)
+ IL_008c: ldstr "Expected: 100, Actual: {0}"
+ IL_0091: ldloc.0
+ IL_0092: ldc.i4.0
+ IL_0093: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_0098: box [mscorlib]System.Int32
+ IL_009d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00a2: ldc.i4.3
+ IL_00a3: stloc.2
+ IL_00a4: br IL_0158
+
+ IL_00a9: ldloc.0
+ IL_00aa: ldc.i4.0
+ IL_00ab: callvirt instance void class MyCounter<class MyInt>::Decrement<class MyInt>(int32)
+ IL_00b0: ldloc.0
+ IL_00b1: ldc.i4.0
+ IL_00b2: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_00b7: brfalse.s IL_00dd
+
+ IL_00b9: ldstr "FAILED"
+ IL_00be: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c3: ldstr "Expected: 100, Actual: {0}"
+ IL_00c8: ldloc.0
+ IL_00c9: ldc.i4.0
+ IL_00ca: callvirt instance int32 class MyCounter<class MyInt>::Val(int32)
+ IL_00cf: box [mscorlib]System.Int32
+ IL_00d4: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00d9: ldc.i4.4
+ IL_00da: stloc.2
+ IL_00db: br.s IL_0158
+
+ IL_00dd: newobj instance void MyInt::.ctor()
+ IL_00e2: stloc.1
+ IL_00e3: ldloc.0
+ IL_00e4: ldloc.1
+ IL_00e5: callvirt instance void class MyCounter<class MyInt>::Increment2<class MyInt>(!!0)
+ IL_00ea: ldloc.0
+ IL_00eb: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_00f0: ldc.i4.s 100
+ IL_00f2: beq.s IL_0117
+
+ IL_00f4: ldstr "FAILED"
+ IL_00f9: call void [System.Console]System.Console::WriteLine(string)
+ IL_00fe: ldstr "Expected: 100, Actual: {0}"
+ IL_0103: ldloc.0
+ IL_0104: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0109: box [mscorlib]System.Int32
+ IL_010e: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0113: ldc.i4.5
+ IL_0114: stloc.2
+ IL_0115: br.s IL_0158
+
+ IL_0117: ldloc.0
+ IL_0118: ldloc.1
+ IL_0119: callvirt instance void class MyCounter<class MyInt>::Decrement2<class MyInt>(!!0)
+ IL_011e: ldloc.0
+ IL_011f: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_0124: brfalse.s IL_0149
+
+ IL_0126: ldstr "FAILED"
+ IL_012b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0130: ldstr "Expected: 100, Actual: {0}"
+ IL_0135: ldloc.0
+ IL_0136: callvirt instance int32 class MyCounter<class MyInt>::Val()
+ IL_013b: box [mscorlib]System.Int32
+ IL_0140: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0145: ldc.i4.6
+ IL_0146: stloc.2
+ IL_0147: br.s IL_0158
+
+ IL_0149: ldstr "PASSED"
+ IL_014e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0153: ldc.i4.s 100
+ IL_0155: stloc.2
+ IL_0156: br.s IL_0158
+
+ IL_0158: ldloc.2
+ IL_0159: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class2_il_d.ilproj b/tests/src/JIT/Generics/ConstrainedCall/class2_il_d.ilproj
new file mode 100644
index 0000000000..f3762a81f1
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class2_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="class2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/class2_il_r.ilproj b/tests/src/JIT/Generics/ConstrainedCall/class2_il_r.ilproj
new file mode 100644
index 0000000000..15b43869f0
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/class2_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="class2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/vt4.il b/tests/src/JIT/Generics/ConstrainedCall/vt4.il
new file mode 100644
index 0000000000..c8efec42ba
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/vt4.il
@@ -0,0 +1,449 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly vt4 {}
+.class interface private abstract auto ansi IncrDecr
+{
+ .method public hidebysig newslot abstract virtual
+ instance void Incr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance void Decr(int32 a) cil managed
+ {
+ }
+
+ .method public hidebysig newslot abstract virtual
+ instance int32 Val() cil managed
+ {
+ }
+
+}
+
+.class private sequential ansi sealed beforefieldinit MyInt
+ extends [mscorlib]System.ValueType
+ implements IncrDecr
+{
+ .field private int32 x
+ .method public hidebysig newslot virtual final
+ instance void Incr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: add
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance void Decr(int32 a) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: dup
+ IL_0002: ldfld int32 MyInt::x
+ IL_0007: ldarg.1
+ IL_0008: sub
+ IL_0009: stfld int32 MyInt::x
+ IL_000e: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance int32 Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 MyInt::x
+ IL_0006: stloc.0
+ IL_0007: br.s IL_0009
+
+ IL_0009: ldloc.0
+ IL_000a: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyCounter<(IncrDecr) T>
+ extends [mscorlib]System.Object
+{
+ .param type T
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .field private !T counter
+ .field private !T[] counters
+ .method public hidebysig instance void
+ Increment<(IncrDecr) T2>() cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (!!T2 V_0)
+ IL_0000: ldtoken !!T2
+ IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000a: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_000f: unbox.any !!T2
+ IL_0014: stloc.0
+ IL_0015: ldloca 0
+ IL_0016:
+ IL_001b: ldc.i4.s 100
+ constrained. !!T2
+ IL_001d: callvirt instance void IncrDecr::Incr(int32)
+ IL_0022: ldarg.0
+ IL_0023: ldloc.0
+ IL_0024: box !!T2
+ IL_0029: unbox.any !T
+ IL_002e: stfld !0 class MyCounter<!T>::counter
+ IL_0033: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement<(IncrDecr) T2>() cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (!!T2 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0 class MyCounter<!T>::counter
+ IL_0006: box !T
+ IL_000b: unbox.any !!T2
+ IL_0010: stloc.0
+ IL_0011: ldloc.0
+ IL_0012: box !!T2
+ IL_0017: ldc.i4.s 100
+ IL_0019: callvirt instance void IncrDecr::Decr(int32)
+ IL_001e: ldarg.0
+ IL_001f: ldloc.0
+ IL_0020: box !!T2
+ IL_0025: unbox.any !T
+ IL_002a: stfld !0 class MyCounter<!T>::counter
+ IL_002f: ret
+ }
+
+ .method public hidebysig instance void
+ Increment<(IncrDecr) T2>(int32 index) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 4
+ .locals init (!!T2[] V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: newarr !!T2
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldtoken !!T2
+ IL_000e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0013: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0018: unbox.any !!T2
+ IL_001d: stelem !!T2
+ IL_0022: ldloc.0
+ IL_0023: ldarg.1
+ IL_0024: ldelema !!T2
+ IL_0029:
+ IL_002e: ldc.i4.s 100
+ constrained. !!T2
+ IL_0030: callvirt instance void IncrDecr::Incr(int32)
+ IL_0035: ldarg.0
+ IL_0036: ldfld !0[] class MyCounter<!T>::counters
+ IL_003b: ldarg.1
+ IL_003c: ldloc.0
+ IL_003d: ldarg.1
+ IL_003e: ldelem !!T2
+ IL_0043: box !!T2
+ IL_0048: unbox.any !T
+ IL_004d: stelem !T
+ IL_0052: ret
+ }
+
+ .method public hidebysig instance void
+ Decrement<(IncrDecr) T2>(int32 index) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 4
+ .locals init (!!T2[] V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: newarr !!T2
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldarg.0
+ IL_000a: ldfld !0[] class MyCounter<!T>::counters
+ IL_000f: ldarg.1
+ IL_0010: ldelem !T
+ IL_0015: box !T
+ IL_001a: unbox.any !!T2
+ IL_001f: stelem !!T2
+ IL_0024: ldloc.0
+ IL_0025: ldarg.1
+ IL_0026: ldelem !!T2
+ IL_002b: box !!T2
+ IL_0030: ldc.i4.s 100
+ IL_0032: callvirt instance void IncrDecr::Decr(int32)
+ IL_0037: ldarg.0
+ IL_0038: ldfld !0[] class MyCounter<!T>::counters
+ IL_003d: ldarg.1
+ IL_003e: ldloc.0
+ IL_003f: ldarg.1
+ IL_0040: ldelem !!T2
+ IL_0045: box !!T2
+ IL_004a: unbox.any !T
+ IL_004f: stelem !T
+ IL_0054: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Increment2<(IncrDecr) T2>(!!T2 cnter) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 8
+ IL_0000: ldarga 1
+ IL_0001:
+ IL_0006: ldc.i4.s 100
+ constrained. !!T2
+ IL_0008: callvirt instance void IncrDecr::Incr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: box !!T2
+ IL_0014: unbox.any !T
+ IL_0019: stfld !0 class MyCounter<!T>::counter
+ IL_001e: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Decrement2<(IncrDecr) T2>(!!T2 cnter) cil managed
+ {
+ .param type T2
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.NewConstraintAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: box !!T2
+ IL_0006: ldc.i4.s 100
+ IL_0008: callvirt instance void IncrDecr::Decr(int32)
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: box !!T2
+ IL_0014: unbox.any !T
+ IL_0019: stfld !0 class MyCounter<!T>::counter
+ IL_001e: ret
+ }
+
+ .method public hidebysig instance int32
+ Val() cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0 class MyCounter<!T>::counter
+ IL_0006: box !T
+ IL_000b: callvirt instance int32 IncrDecr::Val()
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0013
+
+ IL_0013: ldloc.0
+ IL_0014: ret
+ }
+
+ .method public hidebysig instance int32
+ Val(int32 index) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld !0[] class MyCounter<!T>::counters
+ IL_0006: ldarg.1
+ IL_0007: ldelem !T
+ IL_000c: box !T
+ IL_0011: callvirt instance int32 IncrDecr::Val()
+ IL_0016: stloc.0
+ IL_0017: br.s IL_0019
+
+ IL_0019: ldloc.0
+ IL_001a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldtoken !T
+ IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000b: call object [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
+ IL_0010: unbox.any !T
+ IL_0015: stfld !0 class MyCounter<!T>::counter
+ IL_001a: ldarg.0
+ IL_001b: ldc.i4.1
+ IL_001c: newarr !T
+ IL_0021: stfld !0[] class MyCounter<!T>::counters
+ IL_0026: ldarg.0
+ IL_0027: call instance void [mscorlib]System.Object::.ctor()
+ IL_002c: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class MyCounter<valuetype MyInt> V_0,
+ valuetype MyInt V_1,
+ int32 V_2)
+ IL_0000: newobj instance void class MyCounter<valuetype MyInt>::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: callvirt instance void class MyCounter<valuetype MyInt>::Increment<valuetype MyInt>()
+ IL_000c: ldloc.0
+ IL_000d: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_0012: ldc.i4.s 100
+ IL_0014: beq.s IL_003c
+
+ IL_0016: ldstr "FAILED"
+ IL_001b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0020: ldstr "Expected: 100, Actual: {0}"
+ IL_0025: ldloc.0
+ IL_0026: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_002b: box [mscorlib]System.Int32
+ IL_0030: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0035: ldc.i4.1
+ IL_0036: stloc.2
+ IL_0037: br IL_015a
+
+ IL_003c: ldloc.0
+ IL_003d: callvirt instance void class MyCounter<valuetype MyInt>::Decrement<valuetype MyInt>()
+ IL_0042: ldloc.0
+ IL_0043: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ ldc.i4 100
+ IL_0048: beq.s IL_0070
+
+ IL_004a: ldstr "FAILED"
+ IL_004f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0054: ldstr "Expected: 100, Actual: {0}"
+ IL_0059: ldloc.0
+ IL_005a: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_005f: box [mscorlib]System.Int32
+ IL_0064: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0069: ldc.i4.2
+ IL_006a: stloc.2
+ IL_006b: br IL_015a
+
+ IL_0070: ldloc.0
+ IL_0071: ldc.i4.0
+ IL_0072: callvirt instance void class MyCounter<valuetype MyInt>::Increment<valuetype MyInt>(int32)
+ IL_0077: ldloc.0
+ IL_0078: ldc.i4.0
+ IL_0079: callvirt instance int32 class MyCounter<valuetype MyInt>::Val(int32)
+ IL_007e: ldc.i4.s 100
+ IL_0080: beq.s IL_00a9
+
+ IL_0082: ldstr "FAILED"
+ IL_0087: call void [System.Console]System.Console::WriteLine(string)
+ IL_008c: ldstr "Expected: 100, Actual: {0}"
+ IL_0091: ldloc.0
+ IL_0092: ldc.i4.0
+ IL_0093: callvirt instance int32 class MyCounter<valuetype MyInt>::Val(int32)
+ IL_0098: box [mscorlib]System.Int32
+ IL_009d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00a2: ldc.i4.3
+ IL_00a3: stloc.2
+ IL_00a4: br IL_015a
+
+ IL_00a9: ldloc.0
+ IL_00aa: ldc.i4.0
+ IL_00ab: callvirt instance void class MyCounter<valuetype MyInt>::Decrement<valuetype MyInt>(int32)
+ IL_00b0: ldloc.0
+ IL_00b1: ldc.i4.0
+ IL_00b2: callvirt instance int32 class MyCounter<valuetype MyInt>::Val(int32)
+ ldc.i4 100
+ IL_00b7: beq.s IL_00dd
+
+ IL_00b9: ldstr "FAILED"
+ IL_00be: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c3: ldstr "Expected: 100, Actual: {0}"
+ IL_00c8: ldloc.0
+ IL_00c9: ldc.i4.0
+ IL_00ca: callvirt instance int32 class MyCounter<valuetype MyInt>::Val(int32)
+ IL_00cf: box [mscorlib]System.Int32
+ IL_00d4: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00d9: ldc.i4.4
+ IL_00da: stloc.2
+ IL_00db: br.s IL_015a
+
+ IL_00dd: ldloca.s V_1
+ IL_00df: initobj MyInt
+ IL_00e5: ldloc.0
+ IL_00e6: ldloc.1
+ IL_00e7: callvirt instance void class MyCounter<valuetype MyInt>::Increment2<valuetype MyInt>(!!0)
+ IL_00ec: ldloc.0
+ IL_00ed: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_00f2: ldc.i4.s 100
+ IL_00f4: beq.s IL_0119
+
+ IL_00f6: ldstr "FAILED"
+ IL_00fb: call void [System.Console]System.Console::WriteLine(string)
+ IL_0100: ldstr "Expected: 100, Actual: {0}"
+ IL_0105: ldloc.0
+ IL_0106: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_010b: box [mscorlib]System.Int32
+ IL_0110: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0115: ldc.i4.5
+ IL_0116: stloc.2
+ IL_0117: br.s IL_015a
+
+ IL_0119: ldloc.0
+ IL_011a: ldloc.1
+ IL_011b: callvirt instance void class MyCounter<valuetype MyInt>::Decrement2<valuetype MyInt>(!!0)
+ IL_0120: ldloc.0
+ IL_0121: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_0126: brfalse.s IL_014b
+
+ IL_0128: ldstr "FAILED"
+ IL_012d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0132: ldstr "Expected: 100, Actual: {0}"
+ IL_0137: ldloc.0
+ IL_0138: callvirt instance int32 class MyCounter<valuetype MyInt>::Val()
+ IL_013d: box [mscorlib]System.Int32
+ IL_0142: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0147: ldc.i4.6
+ IL_0148: stloc.2
+ IL_0149: br.s IL_015a
+
+ IL_014b: ldstr "PASSED"
+ IL_0150: call void [System.Console]System.Console::WriteLine(string)
+ IL_0155: ldc.i4.s 100
+ IL_0157: stloc.2
+ IL_0158: br.s IL_015a
+
+ IL_015a: ldloc.2
+ IL_015b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Generics/ConstrainedCall/vt4_il_d.ilproj b/tests/src/JIT/Generics/ConstrainedCall/vt4_il_d.ilproj
new file mode 100644
index 0000000000..9fab761d36
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/vt4_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="vt4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Generics/ConstrainedCall/vt4_il_r.ilproj b/tests/src/JIT/Generics/ConstrainedCall/vt4_il_r.ilproj
new file mode 100644
index 0000000000..743c3a649a
--- /dev/null
+++ b/tests/src/JIT/Generics/ConstrainedCall/vt4_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="vt4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.il b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.il
new file mode 100644
index 0000000000..03bd915161
--- /dev/null
+++ b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.il
@@ -0,0 +1,212 @@
+.assembly extern legacy library mscorlib {}
+
+
+.class public conv_ovf_i4 {
+
+
+
+.method public static int32 conv(int64,int32) {
+.locals (class [mscorlib]System.OverflowException, native int)
+.maxstack 2
+try_start:
+ ldarg 0
+ conv.ovf.i
+ stloc.1
+ leave.s try_end
+try_end:
+ ldloc.1
+ ldarg 1
+ ceq
+ brfalse FAIL
+ ldc.i4 0x11111111
+ br END
+aHandler:
+ isinst [mscorlib]System.OverflowException
+ stloc 0
+ leave HEnd
+HEnd:
+
+ ldloc 0
+
+ brfalse FAIL
+ ldc.i4 0xEEEEEEEE
+ br END
+FAIL:
+ ldc.i4 0x00000000
+ br END
+END:
+ ret
+.try try_start to try_end catch [mscorlib]System.OverflowException handler aHandler to HEnd
+}
+
+
+.method public static int32 conv_un(int64,int32) {
+.locals (class [mscorlib]System.OverflowException,native int)
+.maxstack 2
+try_start2:
+ ldarg 0
+ conv.ovf.i.un
+ stloc.1
+ leave.s try_end2
+try_end2:
+ ldloc.1
+ ldarg 1
+ ceq
+ brfalse FAIL2
+ ldc.i4 0x11111111
+ br END2
+aHandler2:
+ isinst [mscorlib]System.OverflowException
+ stloc 0
+ leave HEnd2
+HEnd2:
+
+ ldloc 0
+
+ brfalse FAIL2
+ ldc.i4 0xEEEEEEEE
+ br END2
+FAIL2:
+ ldc.i4 0x00000000
+ br END2
+END2:
+ ret
+.try try_start2 to try_end2 catch [mscorlib]System.OverflowException handler aHandler2 to HEnd2
+}
+
+.method public void conv_ovf_i4() {
+.maxstack 1
+ ret
+}
+
+.method public static int32 main(class [mscorlib]System.String[]) {
+.entrypoint
+.maxstack 5
+ ldc.i8 0x8000000000000000
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0xEEEEEEEE
+ ceq
+ brfalse FAIL
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ ldc.i4 0xFFFFFFFF
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000000
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000001
+ ldc.i4 0x00000001
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x7FFFFFFFFFFFFFFF
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0xEEEEEEEE
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFF80000000
+ ldc.i4 0x80000000
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ ldc.i4 0xFFFFFFFF
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000000
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000001
+ ldc.i4 0x00000001
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x000000007FFFFFFF
+ ldc.i4 0x7FFFFFFF
+ call int32 conv_ovf_i4::conv(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+
+
+ ldc.i8 0x0000000000000000
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000001
+ ldc.i4 0x00000001
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x7FFFFFFFFFFFFFFF
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0xEEEEEEEE
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFF80000000
+ ldc.i4 0x80000000
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ ldc.i4 0xFFFFFFFF
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000000
+ ldc.i4 0x00000000
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x0000000000000001
+ ldc.i4 0x00000001
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+ ldc.i8 0x000000007FFFFFFF
+ ldc.i4 0x7FFFFFFF
+ call int32 conv_ovf_i4::conv_un(int64,int32)
+ ldc.i4 0x11111111
+ ceq
+ brfalse FAIL
+
+PASS:
+ ldc.i4 0xAAAA
+ br END
+
+FAIL:
+ ldc.i4 0x00000000
+
+END:
+ ret
+}
+}
+
+
+
+.assembly conv_ovf_i8_i.exe{}
diff --git a/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.ilproj b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.ilproj
new file mode 100644
index 0000000000..fa25664523
--- /dev/null
+++ b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="conv_ovf_i8_i.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.il b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.il
new file mode 100644
index 0000000000..adab799cb2
--- /dev/null
+++ b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.il
@@ -0,0 +1,872 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+
+.class public _rem {
+//--
+.method public static int32 _rem(float32,float32,float32) {
+.maxstack 3
+.locals (int32)
+ // -- load args _and divide
+ ldarg 0
+ ldarg 1
+ rem
+ // -- dup so the result remains after _call to checkfinite
+ dup
+ // -- see if our number is finite (_ret val of 0 is finite)
+ call int32 _rem::checkfinite(float32)
+ ldc.i4 0x0
+ ceq
+ // -- If the result is finite, branch
+ brtrue COMPARE
+
+ // -- our result was _not finite, now check abnormal case
+ // -- call checkfinite again on the initial result
+ // -- should return 1 for NaN, 2 fo -inf, 3 for +inf, _and 255 for error
+ call int32 _rem::checkfinite(float32)
+
+ stloc 0
+ ldloc 0
+ ldc.i4 0xFF
+ ceq
+ brtrue FAIL // error while determining type
+
+ // -- call checkfinite on our expected value.
+ ldarg 2
+ call int32 _rem::checkfinite(float32)
+
+ // -- if the results are == we PASS. If _not, FAIL.
+ ldloc 0
+ ceq
+ // -- cannot be finite
+ // -- if the results are == we PASS. If _not, FAIL.
+ brfalse FAIL
+
+ ldc.i4 0x1
+ br FINISH
+
+COMPARE:
+ // -- our result was a finite number.
+ // -- compare it to our expected result.
+ ldarg 2
+ ceq
+ brfalse FAIL
+
+ ldc.i4 0x1
+ br FINISH
+
+FAIL:
+ ldc.i4 0x0
+ br FINISH
+
+FINISH:
+ ret
+}
+
+//-----------------------------
+.method public static int32 checkfinite(float32) {
+.locals (class [mscorlib]System.ArithmeticException)
+.maxstack 3
+// -- 0 if finite
+// -- 1 for NaN
+// -- 2 for -inf
+// -- 3 for +inf
+// -- 255 (0xFF) none of the above
+
+try_start:
+ ldarg 0
+ ckfinite
+ pop
+ leave.s try_end
+try_end:
+// -- our result is a finite number.
+ ldc.i4 0x0
+ br FINISH
+
+ae:
+// -- our result is NaN, +inf, _or -inf. Find out which one.
+ isinst [mscorlib]System.ArithmeticException
+ stloc 0
+ leave HEnd
+HEnd:
+
+ ldloc 0
+ brfalse FAIL
+
+ // -- check for -inf
+ ldarg 0
+ ldc.r4 float32(0xFF800000)
+ ceq
+ brtrue NINF
+
+ // -- check for +inf
+ ldarg 0
+ ldc.r4 float32(0x7F800000)
+ ceq
+ brtrue PINF
+
+ // -- must be NaN
+ ldc.i4 0x00000001
+ br FINISH
+
+NINF:
+ ldc.i4 0x00000002
+ br FINISH
+
+PINF:
+ ldc.i4 0x00000003
+ br FINISH
+
+NaN:
+ ldc.i4 0x00000001
+ br FINISH
+
+FAIL:
+// pop
+ ldc.i4 0xFF
+ br FINISH
+
+FINISH:
+ ret
+.try try_start to try_end catch [mscorlib]System.ArithmeticException handler ae to HEnd
+}
+
+// -- Begin Main --------------------
+.method public static int32 main(class [mscorlib]System.String[]) {
+.entrypoint
+.maxstack 20
+// -- -inf/-inf --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/-min --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/-1 --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/-0 --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/+0 --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/+1 --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/+max --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf/+inf --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf.NaN --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -inf.float32 --
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- -min/-inf --
+ ldc.r4 float32(0xFF7FFFFF)
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.r4 float32(0xFF800000)
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.r4 float32(0xFF7FFFFF)
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/-min --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/-1 --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/-0 --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/+0 --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/+1 --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/+max --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min/+inf --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0xFF7FFFFF)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min.NaN --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -min.float32 --
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 1.5
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- -1/-inf --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0xBF800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/-min --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0xBF800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/-1 --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/-0 --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/+0 --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/+1 --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1/+max --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0xBF800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+// -- -1/+inf --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0xBF800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1.NaN --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -1.float32 --
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 1.5
+ ldc.r4 float32(0xBF800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- -0/-inf --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/-min --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/-1 --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/-0 --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/+0 --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/+1 --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/+max --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0/+inf --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0.NaN --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- -0.float32 --
+ ldc.r4 float32(0x80000000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x80000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- +0/-inf --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/-min --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/-1 --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/-0 --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/+0 --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/+1 --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/+max --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0/+inf --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0.NaN --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +0.float32 --
+ ldc.r4 float32(0x00000000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- +1/-inf --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x3F800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/-min --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x3F800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/-1 --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/-0 --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/+0 --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/+1 --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/+max --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x3F800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1/+inf --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x3F800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1.NaN --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +1.float32 --
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x3F800000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- +max/-inf --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/-min --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/-1 --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/-0 --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/+0 --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/+1 --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/+max --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max/+inf --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max.NaN --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +max.float32 --
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 1.5
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- +inf/-inf --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/-min --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/-1 --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/-0 --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/+0 --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/+1 --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/+max --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf/+inf --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf.NaN --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- +inf.float32 --
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- NaN/-inf --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/-min --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/-1 --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/-0 --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/+0 --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/+1 --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/+max --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN/+inf --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN.NaN --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- NaN.float32 --
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 1.5
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+//-----------------------------
+// -- float32/-inf --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0xFF800000)
+ ldc.r4 float32(0x3FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/-min --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0xFF7FFFFF)
+ ldc.r4 float32(0x3FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/-1 --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0xBF800000)
+ ldc.r4 float32(0x3F000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/-0 --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x80000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/+0 --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x00000000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/+1 --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x3F800000)
+ ldc.r4 float32(0x3F000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/+max --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x7F7FFFFF)
+ ldc.r4 float32(0x3FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32/+inf --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x7F800000)
+ ldc.r4 float32(0x3FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32.NaN --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x7FC00000)
+ ldc.r4 float32(0x7FC00000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- float32.float32 --
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x3FC00000)
+ ldc.r4 float32(0x00000000)
+ call int32 _rem::_rem(float32,float32,float32)
+ brfalse FAIL
+
+// -- PASS --
+ ldc.i4 0xAAAA
+ ret
+
+// -- FAIL --
+FAIL:
+ ldc.i4 0x0
+ ret
+
+// -- End Main ----------------------
+}
+//
+// -- EOF ---------------------------
+}
+// ----------------------------------
+
+.assembly rem_r4.exe{}
diff --git a/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.ilproj b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.ilproj
new file mode 100644
index 0000000000..1ed0b5b720
--- /dev/null
+++ b/tests/src/JIT/IL_Conformance/Old/Conformance_Base/rem_r4.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rem_r4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/functional/_dbgsin_il.ilproj b/tests/src/JIT/Methodical/Boxing/functional/_dbgsin_il.ilproj
new file mode 100644
index 0000000000..c1479ebc10
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/functional/_dbgsin_il.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/functional/_relsin_il.ilproj b/tests/src/JIT/Methodical/Boxing/functional/_relsin_il.ilproj
new file mode 100644
index 0000000000..9de4695977
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/functional/_relsin_il.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/functional/sin.il b/tests/src/JIT/Methodical/Boxing/functional/sin.il
new file mode 100644
index 0000000000..2af61369a7
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/functional/sin.il
@@ -0,0 +1,487 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly sin
+{
+}
+.module sin_il.exe
+.namespace SinCalc
+{
+ .class private auto ansi SinCalc
+ extends [mscorlib]System.Object
+ {
+ .class auto ansi sealed nested family SinCalc$CalcCtx
+ extends [mscorlib]System.ValueType
+ {
+ .field private float64 m_powX
+ .field private float64 m_sumOfTerms
+ .field private object m_term
+ .field public float64 fact
+ .method public hidebysig instance float64
+ get_powX() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::m_powX
+ IL_0006: ret
+ }
+
+ .method public hidebysig instance void
+ set_powX(float64 val) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::m_powX
+ IL_0007: ret
+ }
+
+ .method public hidebysig specialname
+ instance float64 get_sumOfTerms() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::m_sumOfTerms
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname
+ instance void set_sumOfTerms(float64 'value') cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::m_sumOfTerms
+ IL_0007: ret
+ }
+
+ .method public hidebysig specialname
+ instance float64 get_term() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld object SinCalc.SinCalc/SinCalc$CalcCtx::m_term
+ IL_0006: unbox [mscorlib]System.Double
+ IL_000b: ldind.r8
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname
+ instance void set_term(float64 'value') cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldarg.s 'value'
+ IL_0003: box [mscorlib]System.Double
+ IL_0008: stfld object SinCalc.SinCalc/SinCalc$CalcCtx::m_term
+ IL_000d: ret
+ }
+
+ .property instance float64 sumOfTerms()
+ {
+ .get instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_sumOfTerms()
+ .set instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_sumOfTerms(float64)
+ }
+ .property instance float64 term()
+ {
+ .get instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_term()
+ .set instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_term(float64)
+ }
+ }
+
+ .field static family object PI
+ .method family hidebysig static object
+ mySin(object Angle) cil managed
+ {
+ .maxstack 4
+ .locals (valuetype SinCalc.SinCalc/SinCalc$CalcCtx V_0,
+ object V_1,
+ object V_2,
+ float64 V_3,
+ int32 V_4)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0008: ldloc.s V_0
+ IL_000a: box SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_000f: stloc.1
+ IL_0010: ldloc V_1
+ IL_0014: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0019: ldc.r8 1.
+ IL_0022: stfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::fact
+ IL_0027: ldloc V_1
+ IL_002b: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0030: ldloc V_1
+ IL_0034: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0039: ldarg.0
+ IL_003a: unbox [mscorlib]System.Double
+ IL_003f: ldind.r8
+ IL_0040: dup
+ IL_0041: stloc.3
+ IL_0042: call instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_term(float64)
+ IL_0047: ldloc.3
+ IL_0048: ldftn instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_powX(float64)
+ IL_004e: calli instance void(float64)
+ IL_0053: ldloc V_1
+ IL_0057: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_005c: ldc.r8 0.0
+ IL_0065: call instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_sumOfTerms(float64)
+ IL_006a: ldc.i4.1
+ IL_006b: stloc.s V_4
+ IL_006d: ldloc.s V_4
+ IL_006f: box [mscorlib]System.Int32
+ IL_0074: stloc.2
+ IL_0075: br IL_0142
+
+ IL_007a: ldloc V_1
+ IL_007e: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0083: ldloc V_1
+ IL_0087: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_008c: call instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_sumOfTerms()
+ IL_0091: ldloc V_1
+ IL_0095: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_009a: call instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_term()
+ IL_009f: add
+ IL_00a0: call instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_sumOfTerms(float64)
+ IL_00a5: ldloc V_1
+ IL_00a9: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_00ae: ldloc V_1
+ IL_00b2: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_00b7: call instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_powX()
+ IL_00bc: ldarg.0
+ IL_00bd: unbox [mscorlib]System.Double
+ IL_00c2: ldind.r8
+ IL_00c3: neg
+ IL_00c4: ldarg.0
+ IL_00c5: unbox [mscorlib]System.Double
+ IL_00ca: ldind.r8
+ IL_00cb: mul
+ IL_00cc: mul
+ IL_00cd: call instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_powX(float64)
+ IL_00d2: ldloc V_1
+ IL_00d6: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_00db: ldloc V_1
+ IL_00df: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_00e4: ldfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::fact
+ IL_00e9: ldloc.2
+ IL_00ea: unbox [mscorlib]System.Int32
+ IL_00ef: ldind.i4
+ IL_00f0: ldc.i4.1
+ IL_00f1: add
+ IL_00f2: conv.r8
+ IL_00f3: mul
+ IL_00f4: ldloc.2
+ IL_00f5: unbox [mscorlib]System.Int32
+ IL_00fa: ldind.i4
+ IL_00fb: ldc.i4.2
+ IL_00fc: add
+ IL_00fd: conv.r8
+ IL_00fe: mul
+ IL_00ff: stfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::fact
+ IL_0104: ldloc V_1
+ IL_0108: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_010d: ldloc V_1
+ IL_0111: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0116: call instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_powX()
+ IL_011b: ldloc V_1
+ IL_011f: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_0124: ldfld float64 SinCalc.SinCalc/SinCalc$CalcCtx::fact
+ IL_0129: div
+ IL_012a: call instance void SinCalc.SinCalc/SinCalc$CalcCtx::set_term(float64)
+ IL_012f: ldloc.2
+ IL_0130: unbox [mscorlib]System.Int32
+ IL_0135: ldind.i4
+ IL_0136: ldc.i4.2
+ IL_0137: add
+ IL_0138: stloc.s V_4
+ IL_013a: ldloc.s V_4
+ IL_013c: box [mscorlib]System.Int32
+ IL_0141: stloc.2
+ IL_0142: ldloc.2
+ IL_0143: unbox [mscorlib]System.Int32
+ IL_0148: ldind.i4
+ IL_0149: ldc.i4 0xc8
+ IL_014e: ble IL_007a
+
+ IL_0153: ldloc V_1
+ IL_0157: unbox SinCalc.SinCalc/SinCalc$CalcCtx
+ IL_015c: call instance float64 SinCalc.SinCalc/SinCalc$CalcCtx::get_sumOfTerms()
+ IL_0161: stloc.3
+ IL_0162: ldloc.s V_3
+ IL_0164: box [mscorlib]System.Double
+ IL_0169: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals (object V_0,
+ object V_1,
+ object V_2,
+ object V_3,
+ object[] V_4,
+ object V_5,
+ float64 V_6,
+ int32 V_7)
+ IL_0000: ldc.i4.s 10
+ IL_0002: newarr [mscorlib]System.Object
+ IL_0007: stloc.s V_4
+ IL_0009: ldloc.s V_4
+ IL_000b: ldc.i4.0
+ IL_000c: ldc.r8 0.0
+ IL_0015: stloc.s V_6
+ IL_0017: ldloc.s V_6
+ IL_0019: box [mscorlib]System.Double
+ IL_001e: stelem.ref
+ IL_001f: ldloc.s V_4
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.r8 0.30901699399999999
+ IL_002b: stloc.s V_6
+ IL_002d: ldloc.s V_6
+ IL_002f: box [mscorlib]System.Double
+ IL_0034: stelem.ref
+ IL_0035: ldloc.s V_4
+ IL_0037: ldc.i4.2
+ IL_0038: ldc.r8 0.58778525199999998
+ IL_0041: stloc.s V_6
+ IL_0043: ldloc.s V_6
+ IL_0045: box [mscorlib]System.Double
+ IL_004a: stelem.ref
+ IL_004b: ldloc.s V_4
+ IL_004d: ldc.i4.3
+ IL_004e: ldc.r8 0.80901699400000004
+ IL_0057: stloc.s V_6
+ IL_0059: ldloc.s V_6
+ IL_005b: box [mscorlib]System.Double
+ IL_0060: stelem.ref
+ IL_0061: ldloc.s V_4
+ IL_0063: ldc.i4.4
+ IL_0064: ldc.r8 0.95105651599999996
+ IL_006d: stloc.s V_6
+ IL_006f: ldloc.s V_6
+ IL_0071: box [mscorlib]System.Double
+ IL_0076: stelem.ref
+ IL_0077: ldloc.s V_4
+ IL_0079: ldc.i4.5
+ IL_007a: ldc.r8 1.
+ IL_0083: stloc.s V_6
+ IL_0085: ldloc.s V_6
+ IL_0087: box [mscorlib]System.Double
+ IL_008c: stelem.ref
+ IL_008d: ldloc.s V_4
+ IL_008f: ldc.i4.6
+ IL_0090: ldc.r8 0.95105651599999996
+ IL_0099: stloc.s V_6
+ IL_009b: ldloc.s V_6
+ IL_009d: box [mscorlib]System.Double
+ IL_00a2: stelem.ref
+ IL_00a3: ldloc.s V_4
+ IL_00a5: ldc.i4.7
+ IL_00a6: ldc.r8 0.80901699400000004
+ IL_00af: stloc.s V_6
+ IL_00b1: ldloc.s V_6
+ IL_00b3: box [mscorlib]System.Double
+ IL_00b8: stelem.ref
+ IL_00b9: ldloc.s V_4
+ IL_00bb: ldc.i4.8
+ IL_00bc: ldc.r8 0.58778525199999998
+ IL_00c5: stloc.s V_6
+ IL_00c7: ldloc.s V_6
+ IL_00c9: box [mscorlib]System.Double
+ IL_00ce: stelem.ref
+ IL_00cf: ldloc.s V_4
+ IL_00d1: ldc.i4.s 9
+ IL_00d3: ldc.r8 0.30901699399999999
+ IL_00dc: stloc.s V_6
+ IL_00de: ldloc.s V_6
+ IL_00e0: box [mscorlib]System.Double
+ IL_00e5: stelem.ref
+ IL_00e6: ldc.r8 1.0000000000000001e-009
+ IL_00ef: stloc.s V_6
+ IL_00f1: ldloc.s V_6
+ IL_00f3: box [mscorlib]System.Double
+ IL_00f8: stloc.s V_5
+ IL_00fa: ldc.i4.0
+ IL_00fb: stloc.s V_7
+ IL_00fd: ldloc.s V_7
+ IL_00ff: box [mscorlib]System.Int32
+ IL_0104: stloc.0
+ IL_0105: br IL_026a
+
+ IL_010a: ldsfld object SinCalc.SinCalc::PI
+ IL_010f: unbox [mscorlib]System.Double
+ IL_0114: ldind.r8
+ IL_0115: ldloc.0
+ IL_0116: unbox [mscorlib]System.Int32
+ IL_011b: ldind.i4
+ IL_011c: conv.r8
+ IL_011d: ldc.r8 10.
+ IL_0126: div
+ IL_0127: mul
+ IL_0128: stloc.s V_6
+ IL_012a: ldloc.s V_6
+ IL_012c: box [mscorlib]System.Double
+ IL_0131: stloc.1
+ IL_0132: ldstr "Classlib Sin("
+ IL_0137: call void [System.Console]System.Console::Write(string)
+ IL_013c: ldloc.1
+ IL_013d: call void [System.Console]System.Console::Write(object)
+ IL_0142: ldstr ")="
+ IL_0147: call void [System.Console]System.Console::Write(string)
+ IL_014c: ldloc.1
+ IL_014d: unbox [mscorlib]System.Double
+ IL_0152: ldind.r8
+ IL_0153: call float64 [mscorlib]System.Math::Sin(float64)
+ IL_0158: stloc.s V_6
+ IL_015a: ldloc.s V_6
+ IL_015c: box [mscorlib]System.Double
+ IL_0161: dup
+ IL_0162: stloc.2
+ IL_0163: call void [System.Console]System.Console::WriteLine(object)
+ IL_0168: ldstr "This Version("
+ IL_016d: call void [System.Console]System.Console::Write(string)
+ IL_0172: ldloc.1
+ IL_0173: call void [System.Console]System.Console::Write(object)
+ IL_0178: ldstr ")="
+ IL_017d: call void [System.Console]System.Console::Write(string)
+ IL_0182: ldloc.1
+ IL_0183: ldftn object SinCalc.SinCalc::mySin(object)
+ IL_0189: calli object(object)
+ IL_018e: unbox [mscorlib]System.Double
+ IL_0193: ldind.r8
+ IL_0194: stloc.s V_6
+ IL_0196: ldloc.s V_6
+ IL_0198: box [mscorlib]System.Double
+ IL_019d: dup
+ IL_019e: stloc.3
+ IL_019f: call void [System.Console]System.Console::WriteLine(object)
+ IL_01a4: ldstr "Error is:"
+ IL_01a9: call void [System.Console]System.Console::Write(string)
+ IL_01ae: ldloc.2
+ IL_01af: unbox [mscorlib]System.Double
+ IL_01b4: ldind.r8
+ IL_01b5: ldloc.3
+ IL_01b6: unbox [mscorlib]System.Double
+ IL_01bb: ldind.r8
+ IL_01bc: sub
+ IL_01bd: call void [System.Console]System.Console::WriteLine(float64)
+ IL_01c2: call void [System.Console]System.Console::WriteLine()
+ IL_01c7: ldloc.2
+ IL_01c8: unbox [mscorlib]System.Double
+ IL_01cd: ldind.r8
+ IL_01ce: ldloc.3
+ IL_01cf: unbox [mscorlib]System.Double
+ IL_01d4: ldind.r8
+ IL_01d5: sub
+ IL_01d6: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_01db: ldloc.s V_5
+ IL_01dd: unbox [mscorlib]System.Double
+ IL_01e2: ldind.r8
+ IL_01e3: ble.un.s IL_01f1
+
+ IL_01e5: ldstr "ERROR, Versions too far apart!"
+ IL_01ea: call void [System.Console]System.Console::WriteLine(string)
+ IL_01ef: ldc.i4.1
+ IL_01f0: ret
+
+ IL_01f1: ldloc.s V_4
+ IL_01f3: ldloc.0
+ IL_01f4: unbox [mscorlib]System.Int32
+ IL_01f9: ldind.i4
+ IL_01fa: ldelem.ref
+ IL_01fb: unbox [mscorlib]System.Double
+ IL_0200: ldind.r8
+ IL_0201: ldloc.2
+ IL_0202: unbox [mscorlib]System.Double
+ IL_0207: ldind.r8
+ IL_0208: sub
+ IL_0209: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_020e: ldloc.s V_5
+ IL_0210: unbox [mscorlib]System.Double
+ IL_0215: ldind.r8
+ IL_0216: ble.un.s IL_0224
+
+ IL_0218: ldstr "ERROR, Classlib version isnt right!"
+ IL_021d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0222: ldc.i4.1
+ IL_0223: ret
+
+ IL_0224: ldloc.s V_4
+ IL_0226: ldloc.0
+ IL_0227: unbox [mscorlib]System.Int32
+ IL_022c: ldind.i4
+ IL_022d: ldelem.ref
+ IL_022e: unbox [mscorlib]System.Double
+ IL_0233: ldind.r8
+ IL_0234: ldloc.3
+ IL_0235: unbox [mscorlib]System.Double
+ IL_023a: ldind.r8
+ IL_023b: sub
+ IL_023c: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_0241: ldloc.s V_5
+ IL_0243: unbox [mscorlib]System.Double
+ IL_0248: ldind.r8
+ IL_0249: ble.un.s IL_0257
+
+ IL_024b: ldstr "ERROR, our version isnt right!"
+ IL_0250: call void [System.Console]System.Console::WriteLine(string)
+ IL_0255: ldc.i4.1
+ IL_0256: ret
+
+ IL_0257: ldloc.0
+ IL_0258: unbox [mscorlib]System.Int32
+ IL_025d: ldind.i4
+ IL_025e: ldc.i4.1
+ IL_025f: add
+ IL_0260: stloc.s V_7
+ IL_0262: ldloc.s V_7
+ IL_0264: box [mscorlib]System.Int32
+ IL_0269: stloc.0
+ IL_026a: ldloc.0
+ IL_026b: unbox [mscorlib]System.Int32
+ IL_0270: ldind.i4
+ IL_0271: ldc.i4.s 10
+ IL_0273: blt IL_010a
+
+ IL_0278: ldstr "Yippie, all correct"
+ IL_027d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0282: ldc.i4 0x64
+ IL_0283: ret
+ }
+
+ .method public hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ .locals (float64 V_0)
+ IL_0000: ldc.r8 3.1415926535897931
+ IL_0009: stloc.0
+ IL_000a: ldloc.s V_0
+ IL_000c: box [mscorlib]System.Double
+ IL_0011: stsfld object SinCalc.SinCalc::PI
+ IL_0016: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_cs.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_cs.ilproj
new file mode 100644
index 0000000000..6f5265ed8a
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_cs.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_cs.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_il.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_il.ilproj
new file mode 100644
index 0000000000..591a8b9a4c
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_dbgsin_il_il.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_il.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_cs.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_cs.ilproj
new file mode 100644
index 0000000000..6f5265ed8a
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_cs.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_cs.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_il.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_il.ilproj
new file mode 100644
index 0000000000..591a8b9a4c
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_odbgsin_il_il.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_il.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_cs.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_cs.ilproj
new file mode 100644
index 0000000000..edde65b0bd
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_cs.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_cs.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_il.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_il.ilproj
new file mode 100644
index 0000000000..1162194593
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_orelsin_il_il.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_il.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_cs.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_cs.ilproj
new file mode 100644
index 0000000000..edde65b0bd
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_cs.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_cs.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_il.ilproj b/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_il.ilproj
new file mode 100644
index 0000000000..1162194593
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/_relsin_il_il.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sin_il.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/app.config b/tests/src/JIT/Methodical/Boxing/xlang/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/Boxing/xlang/app.config
+++ b/tests/src/JIT/Methodical/Boxing/xlang/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/sin_cs.il b/tests/src/JIT/Methodical/Boxing/xlang/sin_cs.il
new file mode 100644
index 0000000000..d9b0d49282
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/sin_cs.il
@@ -0,0 +1,271 @@
+.module 'sin_il_cs.exe'
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib { auto }
+.assembly 'sin_il_cs' {}
+.assembly extern sinlib_cs
+{
+}
+.namespace SinCalc
+{
+ .class auto ansi SinCalc extends [mscorlib]System.Object
+ {
+ .method private hidebysig static int32
+ Main() il managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals (class System.Object V_0,
+ class System.Object V_1,
+ class System.Object V_2,
+ class System.Object V_3,
+ class System.Object[] V_4,
+ class System.Object V_5,
+ float64 V_6,
+ int32 V_7,
+ value class [sinlib_cs]SinCalcLib.PiVal V_8)
+ IL_0000: ldc.i4.s 10
+ IL_0002: newarr [mscorlib]System.Object
+ IL_0007: stloc.s V_4
+ IL_0009: ldloc.s V_4
+ IL_000b: ldc.i4.0
+ IL_000c: ldc.r8 0.
+ IL_0015: stloc.s V_6
+ IL_0017: ldloc.s V_6
+ IL_0019: box [mscorlib]System.Double
+ IL_001e: stelem.ref
+ IL_001f: ldloc.s V_4
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.r8 0.30901699399999999
+ IL_002b: stloc.s V_6
+ IL_002d: ldloc.s V_6
+ IL_002f: box [mscorlib]System.Double
+ IL_0034: stelem.ref
+ IL_0035: ldloc.s V_4
+ IL_0037: ldc.i4.2
+ IL_0038: ldc.r8 0.58778525199999998
+ IL_0041: stloc.s V_6
+ IL_0043: ldloc.s V_6
+ IL_0045: box [mscorlib]System.Double
+ IL_004a: stelem.ref
+ IL_004b: ldloc.s V_4
+ IL_004d: ldc.i4.3
+ IL_004e: ldc.r8 0.80901699400000004
+ IL_0057: stloc.s V_6
+ IL_0059: ldloc.s V_6
+ IL_005b: box [mscorlib]System.Double
+ IL_0060: stelem.ref
+ IL_0061: ldloc.s V_4
+ IL_0063: ldc.i4.4
+ IL_0064: ldc.r8 0.95105651599999996
+ IL_006d: stloc.s V_6
+ IL_006f: ldloc.s V_6
+ IL_0071: box [mscorlib]System.Double
+ IL_0076: stelem.ref
+ IL_0077: ldloc.s V_4
+ IL_0079: ldc.i4.5
+ IL_007a: ldc.r8 1.
+ IL_0083: stloc.s V_6
+ IL_0085: ldloc.s V_6
+ IL_0087: box [mscorlib]System.Double
+ IL_008c: stelem.ref
+ IL_008d: ldloc.s V_4
+ IL_008f: ldc.i4.6
+ IL_0090: ldc.r8 0.95105651599999996
+ IL_0099: stloc.s V_6
+ IL_009b: ldloc.s V_6
+ IL_009d: box [mscorlib]System.Double
+ IL_00a2: stelem.ref
+ IL_00a3: ldloc.s V_4
+ IL_00a5: ldc.i4.7
+ IL_00a6: ldc.r8 0.80901699400000004
+ IL_00af: stloc.s V_6
+ IL_00b1: ldloc.s V_6
+ IL_00b3: box [mscorlib]System.Double
+ IL_00b8: stelem.ref
+ IL_00b9: ldloc.s V_4
+ IL_00bb: ldc.i4.8
+ IL_00bc: ldc.r8 0.58778525199999998
+ IL_00c5: stloc.s V_6
+ IL_00c7: ldloc.s V_6
+ IL_00c9: box [mscorlib]System.Double
+ IL_00ce: stelem.ref
+ IL_00cf: ldloc.s V_4
+ IL_00d1: ldc.i4.s 9
+ IL_00d3: ldc.r8 0.30901699399999999
+ IL_00dc: stloc.s V_6
+ IL_00de: ldloc.s V_6
+ IL_00e0: box [mscorlib]System.Double
+ IL_00e5: stelem.ref
+ IL_00e6: ldc.r8 1.0000000000000001e-009
+ IL_00ef: stloc.s V_6
+ IL_00f1: ldloc.s V_6
+ IL_00f3: box [mscorlib]System.Double
+ IL_00f8: stloc.s V_5
+ IL_00fa: ldc.i4.0
+ IL_00fb: stloc.s V_7
+ IL_00fd: ldloc.s V_7
+ IL_00ff: box [mscorlib]System.Int32
+ IL_0104: stloc.0
+ IL_0105: br IL_0271
+
+ IL_010a: ldsfld class System.Object [sinlib_cs]SinCalcLib.SinCalcLib::PI
+ IL_010f: unbox [sinlib_cs]SinCalcLib.PiVal
+ IL_0114: ldobj [sinlib_cs]SinCalcLib.PiVal
+ IL_0119: stloc.s V_8
+ IL_011b: ldloc.s V_8
+ IL_011d: ldfld float64 [sinlib_cs]SinCalcLib.PiVal::Value
+ IL_0122: ldloc.0
+ IL_0123: unbox [mscorlib]System.Int32
+ IL_0128: ldind.i4
+ IL_0129: conv.r8
+ IL_012a: ldc.r8 10.
+ IL_0133: div
+ IL_0134: mul
+ IL_0135: stloc.s V_6
+ IL_0137: ldloc.s V_6
+ IL_0139: box [mscorlib]System.Double
+ IL_013e: stloc.1
+ IL_013f: ldstr "Classlib Sin("
+ IL_0144: call void [System.Console]System.Console::Write(class System.String)
+ IL_0149: ldloc.1
+ IL_014a: call void [System.Console]System.Console::Write(class System.Object)
+ IL_014f: ldstr ")="
+ IL_0154: call void [System.Console]System.Console::Write(class System.String)
+ IL_0159: ldloc.1
+ IL_015a: unbox [mscorlib]System.Double
+ IL_015f: ldind.r8
+ IL_0160: call float64 [mscorlib]System.Math::Sin(float64)
+ IL_0165: stloc.s V_6
+ IL_0167: ldloc.s V_6
+ IL_0169: box [mscorlib]System.Double
+ IL_016e: dup
+ IL_016f: stloc.2
+ IL_0170: call void [System.Console]System.Console::WriteLine(class System.Object)
+ IL_0175: ldstr "This Version("
+ IL_017a: call void [System.Console]System.Console::Write(class System.String)
+ IL_017f: ldloc.1
+ IL_0180: call void [System.Console]System.Console::Write(class System.Object)
+ IL_0185: ldstr ")="
+ IL_018a: call void [System.Console]System.Console::Write(class System.String)
+ IL_018f: ldloc.1
+ IL_0190: call class System.Object [sinlib_cs]SinCalcLib.SinCalcLib::mySin(class System.Object)
+ IL_0195: unbox [mscorlib]System.Double
+ IL_019a: ldind.r8
+ IL_019b: stloc.s V_6
+ IL_019d: ldloc.s V_6
+ IL_019f: box [mscorlib]System.Double
+ IL_01a4: dup
+ IL_01a5: stloc.3
+ IL_01a6: call void [System.Console]System.Console::WriteLine(class System.Object)
+ IL_01ab: ldstr "Error is:"
+ IL_01b0: call void [System.Console]System.Console::Write(class System.String)
+ IL_01b5: ldloc.2
+ IL_01b6: unbox [mscorlib]System.Double
+ IL_01bb: ldind.r8
+ IL_01bc: ldloc.3
+ IL_01bd: unbox [mscorlib]System.Double
+ IL_01c2: ldind.r8
+ IL_01c3: sub
+ IL_01c4: call void [System.Console]System.Console::WriteLine(float64)
+ IL_01c9: call void [System.Console]System.Console::WriteLine()
+ IL_01ce: ldloc.2
+ IL_01cf: unbox [mscorlib]System.Double
+ IL_01d4: ldind.r8
+ IL_01d5: ldloc.3
+ IL_01d6: unbox [mscorlib]System.Double
+ IL_01db: ldind.r8
+ IL_01dc: sub
+ IL_01dd: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_01e2: ldloc.s V_5
+ IL_01e4: unbox [mscorlib]System.Double
+ IL_01e9: ldind.r8
+ IL_01ea: ble.un.s IL_01f8
+
+ IL_01ec: ldstr "ERROR, Versions too far apart!"
+ IL_01f1: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_01f6: ldc.i4.1
+ IL_01f7: ret
+
+ IL_01f8: ldloc.s V_4
+ IL_01fa: ldloc.0
+ IL_01fb: unbox [mscorlib]System.Int32
+ IL_0200: ldind.i4
+ IL_0201: ldelem.ref
+ IL_0202: unbox [mscorlib]System.Double
+ IL_0207: ldind.r8
+ IL_0208: ldloc.2
+ IL_0209: unbox [mscorlib]System.Double
+ IL_020e: ldind.r8
+ IL_020f: sub
+ IL_0210: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_0215: ldloc.s V_5
+ IL_0217: unbox [mscorlib]System.Double
+ IL_021c: ldind.r8
+ IL_021d: ble.un.s IL_022b
+
+ IL_021f: ldstr "ERROR, Classlib version isnt right!"
+ IL_0224: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0229: ldc.i4.1
+ IL_022a: ret
+
+ IL_022b: ldloc.s V_4
+ IL_022d: ldloc.0
+ IL_022e: unbox [mscorlib]System.Int32
+ IL_0233: ldind.i4
+ IL_0234: ldelem.ref
+ IL_0235: unbox [mscorlib]System.Double
+ IL_023a: ldind.r8
+ IL_023b: ldloc.3
+ IL_023c: unbox [mscorlib]System.Double
+ IL_0241: ldind.r8
+ IL_0242: sub
+ IL_0243: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_0248: ldloc.s V_5
+ IL_024a: unbox [mscorlib]System.Double
+ IL_024f: ldind.r8
+ IL_0250: ble.un.s IL_025e
+
+ IL_0252: ldstr "ERROR, our version isnt right!"
+ IL_0257: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_025c: ldc.i4.1
+ IL_025d: ret
+
+ IL_025e: ldloc.0
+ IL_025f: unbox [mscorlib]System.Int32
+ IL_0264: ldind.i4
+ IL_0265: ldc.i4.1
+ IL_0266: add
+ IL_0267: stloc.s V_7
+ IL_0269: ldloc.s V_7
+ IL_026b: box [mscorlib]System.Int32
+ IL_0270: stloc.0
+ IL_0271: ldloc.0
+ IL_0272: unbox [mscorlib]System.Int32
+ IL_0277: ldind.i4
+ IL_0278: ldc.i4.s 10
+ IL_027a: blt IL_010a
+
+ IL_027f: ldstr "Yippie, all correct"
+ IL_0284: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0289: ldc.i4 0x64
+ IL_028a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/Boxing/xlang/sin_il.il b/tests/src/JIT/Methodical/Boxing/xlang/sin_il.il
new file mode 100644
index 0000000000..f4c13a9298
--- /dev/null
+++ b/tests/src/JIT/Methodical/Boxing/xlang/sin_il.il
@@ -0,0 +1,271 @@
+.module 'sin_il_il.exe'
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib { auto }
+.assembly 'sin_il_il' {}
+.assembly extern sinlib_il
+{
+}
+.namespace SinCalc
+{
+ .class auto ansi SinCalc extends [mscorlib]System.Object
+ {
+ .method private hidebysig static int32
+ Main() il managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals (class System.Object V_0,
+ class System.Object V_1,
+ class System.Object V_2,
+ class System.Object V_3,
+ class System.Object[] V_4,
+ class System.Object V_5,
+ float64 V_6,
+ int32 V_7,
+ value class [sinlib_il]SinCalcLib.PiVal V_8)
+ IL_0000: ldc.i4.s 10
+ IL_0002: newarr [mscorlib]System.Object
+ IL_0007: stloc.s V_4
+ IL_0009: ldloc.s V_4
+ IL_000b: ldc.i4.0
+ IL_000c: ldc.r8 0.
+ IL_0015: stloc.s V_6
+ IL_0017: ldloc.s V_6
+ IL_0019: box [mscorlib]System.Double
+ IL_001e: stelem.ref
+ IL_001f: ldloc.s V_4
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.r8 0.30901699399999999
+ IL_002b: stloc.s V_6
+ IL_002d: ldloc.s V_6
+ IL_002f: box [mscorlib]System.Double
+ IL_0034: stelem.ref
+ IL_0035: ldloc.s V_4
+ IL_0037: ldc.i4.2
+ IL_0038: ldc.r8 0.58778525199999998
+ IL_0041: stloc.s V_6
+ IL_0043: ldloc.s V_6
+ IL_0045: box [mscorlib]System.Double
+ IL_004a: stelem.ref
+ IL_004b: ldloc.s V_4
+ IL_004d: ldc.i4.3
+ IL_004e: ldc.r8 0.80901699400000004
+ IL_0057: stloc.s V_6
+ IL_0059: ldloc.s V_6
+ IL_005b: box [mscorlib]System.Double
+ IL_0060: stelem.ref
+ IL_0061: ldloc.s V_4
+ IL_0063: ldc.i4.4
+ IL_0064: ldc.r8 0.95105651599999996
+ IL_006d: stloc.s V_6
+ IL_006f: ldloc.s V_6
+ IL_0071: box [mscorlib]System.Double
+ IL_0076: stelem.ref
+ IL_0077: ldloc.s V_4
+ IL_0079: ldc.i4.5
+ IL_007a: ldc.r8 1.
+ IL_0083: stloc.s V_6
+ IL_0085: ldloc.s V_6
+ IL_0087: box [mscorlib]System.Double
+ IL_008c: stelem.ref
+ IL_008d: ldloc.s V_4
+ IL_008f: ldc.i4.6
+ IL_0090: ldc.r8 0.95105651599999996
+ IL_0099: stloc.s V_6
+ IL_009b: ldloc.s V_6
+ IL_009d: box [mscorlib]System.Double
+ IL_00a2: stelem.ref
+ IL_00a3: ldloc.s V_4
+ IL_00a5: ldc.i4.7
+ IL_00a6: ldc.r8 0.80901699400000004
+ IL_00af: stloc.s V_6
+ IL_00b1: ldloc.s V_6
+ IL_00b3: box [mscorlib]System.Double
+ IL_00b8: stelem.ref
+ IL_00b9: ldloc.s V_4
+ IL_00bb: ldc.i4.8
+ IL_00bc: ldc.r8 0.58778525199999998
+ IL_00c5: stloc.s V_6
+ IL_00c7: ldloc.s V_6
+ IL_00c9: box [mscorlib]System.Double
+ IL_00ce: stelem.ref
+ IL_00cf: ldloc.s V_4
+ IL_00d1: ldc.i4.s 9
+ IL_00d3: ldc.r8 0.30901699399999999
+ IL_00dc: stloc.s V_6
+ IL_00de: ldloc.s V_6
+ IL_00e0: box [mscorlib]System.Double
+ IL_00e5: stelem.ref
+ IL_00e6: ldc.r8 1.0000000000000001e-009
+ IL_00ef: stloc.s V_6
+ IL_00f1: ldloc.s V_6
+ IL_00f3: box [mscorlib]System.Double
+ IL_00f8: stloc.s V_5
+ IL_00fa: ldc.i4.0
+ IL_00fb: stloc.s V_7
+ IL_00fd: ldloc.s V_7
+ IL_00ff: box [mscorlib]System.Int32
+ IL_0104: stloc.0
+ IL_0105: br IL_0271
+
+ IL_010a: ldsfld class System.Object [sinlib_il]SinCalcLib.SinCalcLib::PI
+ IL_010f: unbox [sinlib_il]SinCalcLib.PiVal
+ IL_0114: ldobj [sinlib_il]SinCalcLib.PiVal
+ IL_0119: stloc.s V_8
+ IL_011b: ldloc.s V_8
+ IL_011d: ldfld float64 [sinlib_il]SinCalcLib.PiVal::Value
+ IL_0122: ldloc.0
+ IL_0123: unbox [mscorlib]System.Int32
+ IL_0128: ldind.i4
+ IL_0129: conv.r8
+ IL_012a: ldc.r8 10.
+ IL_0133: div
+ IL_0134: mul
+ IL_0135: stloc.s V_6
+ IL_0137: ldloc.s V_6
+ IL_0139: box [mscorlib]System.Double
+ IL_013e: stloc.1
+ IL_013f: ldstr "Classlib Sin("
+ IL_0144: call void [System.Console]System.Console::Write(class System.String)
+ IL_0149: ldloc.1
+ IL_014a: call void [System.Console]System.Console::Write(class System.Object)
+ IL_014f: ldstr ")="
+ IL_0154: call void [System.Console]System.Console::Write(class System.String)
+ IL_0159: ldloc.1
+ IL_015a: unbox [mscorlib]System.Double
+ IL_015f: ldind.r8
+ IL_0160: call float64 [mscorlib]System.Math::Sin(float64)
+ IL_0165: stloc.s V_6
+ IL_0167: ldloc.s V_6
+ IL_0169: box [mscorlib]System.Double
+ IL_016e: dup
+ IL_016f: stloc.2
+ IL_0170: call void [System.Console]System.Console::WriteLine(class System.Object)
+ IL_0175: ldstr "This Version("
+ IL_017a: call void [System.Console]System.Console::Write(class System.String)
+ IL_017f: ldloc.1
+ IL_0180: call void [System.Console]System.Console::Write(class System.Object)
+ IL_0185: ldstr ")="
+ IL_018a: call void [System.Console]System.Console::Write(class System.String)
+ IL_018f: ldloc.1
+ IL_0190: call class System.Object [sinlib_il]SinCalcLib.SinCalcLib::mySin(class System.Object)
+ IL_0195: unbox [mscorlib]System.Double
+ IL_019a: ldind.r8
+ IL_019b: stloc.s V_6
+ IL_019d: ldloc.s V_6
+ IL_019f: box [mscorlib]System.Double
+ IL_01a4: dup
+ IL_01a5: stloc.3
+ IL_01a6: call void [System.Console]System.Console::WriteLine(class System.Object)
+ IL_01ab: ldstr "Error is:"
+ IL_01b0: call void [System.Console]System.Console::Write(class System.String)
+ IL_01b5: ldloc.2
+ IL_01b6: unbox [mscorlib]System.Double
+ IL_01bb: ldind.r8
+ IL_01bc: ldloc.3
+ IL_01bd: unbox [mscorlib]System.Double
+ IL_01c2: ldind.r8
+ IL_01c3: sub
+ IL_01c4: call void [System.Console]System.Console::WriteLine(float64)
+ IL_01c9: call void [System.Console]System.Console::WriteLine()
+ IL_01ce: ldloc.2
+ IL_01cf: unbox [mscorlib]System.Double
+ IL_01d4: ldind.r8
+ IL_01d5: ldloc.3
+ IL_01d6: unbox [mscorlib]System.Double
+ IL_01db: ldind.r8
+ IL_01dc: sub
+ IL_01dd: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_01e2: ldloc.s V_5
+ IL_01e4: unbox [mscorlib]System.Double
+ IL_01e9: ldind.r8
+ IL_01ea: ble.un.s IL_01f8
+
+ IL_01ec: ldstr "ERROR, Versions too far apart!"
+ IL_01f1: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_01f6: ldc.i4.1
+ IL_01f7: ret
+
+ IL_01f8: ldloc.s V_4
+ IL_01fa: ldloc.0
+ IL_01fb: unbox [mscorlib]System.Int32
+ IL_0200: ldind.i4
+ IL_0201: ldelem.ref
+ IL_0202: unbox [mscorlib]System.Double
+ IL_0207: ldind.r8
+ IL_0208: ldloc.2
+ IL_0209: unbox [mscorlib]System.Double
+ IL_020e: ldind.r8
+ IL_020f: sub
+ IL_0210: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_0215: ldloc.s V_5
+ IL_0217: unbox [mscorlib]System.Double
+ IL_021c: ldind.r8
+ IL_021d: ble.un.s IL_022b
+
+ IL_021f: ldstr "ERROR, Classlib version isnt right!"
+ IL_0224: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0229: ldc.i4.1
+ IL_022a: ret
+
+ IL_022b: ldloc.s V_4
+ IL_022d: ldloc.0
+ IL_022e: unbox [mscorlib]System.Int32
+ IL_0233: ldind.i4
+ IL_0234: ldelem.ref
+ IL_0235: unbox [mscorlib]System.Double
+ IL_023a: ldind.r8
+ IL_023b: ldloc.3
+ IL_023c: unbox [mscorlib]System.Double
+ IL_0241: ldind.r8
+ IL_0242: sub
+ IL_0243: call float64 [mscorlib]System.Math::Abs(float64)
+ IL_0248: ldloc.s V_5
+ IL_024a: unbox [mscorlib]System.Double
+ IL_024f: ldind.r8
+ IL_0250: ble.un.s IL_025e
+
+ IL_0252: ldstr "ERROR, our version isnt right!"
+ IL_0257: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_025c: ldc.i4.1
+ IL_025d: ret
+
+ IL_025e: ldloc.0
+ IL_025f: unbox [mscorlib]System.Int32
+ IL_0264: ldind.i4
+ IL_0265: ldc.i4.1
+ IL_0266: add
+ IL_0267: stloc.s V_7
+ IL_0269: ldloc.s V_7
+ IL_026b: box [mscorlib]System.Int32
+ IL_0270: stloc.0
+ IL_0271: ldloc.0
+ IL_0272: unbox [mscorlib]System.Int32
+ IL_0277: ldind.i4
+ IL_0278: ldc.i4.s 10
+ IL_027a: blt IL_010a
+
+ IL_027f: ldstr "Yippie, all correct"
+ IL_0284: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0289: ldc.i4 0x64
+ IL_028a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/Coverage/arglist_pos.il b/tests/src/JIT/Methodical/Coverage/arglist_pos.il
new file mode 100644
index 0000000000..cc8b765ceb
--- /dev/null
+++ b/tests/src/JIT/Methodical/Coverage/arglist_pos.il
@@ -0,0 +1,75 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+
+// arglist should verify within vararg method
+.assembly arglist_pos
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module arglist_pos.exe
+
+.class public auto ansi arglist_pos extends [mscorlib]System.Object
+{
+ .method public hidebysig static vararg void Test() il managed
+ {
+ .maxstack 8
+ .locals init( [0] value class [mscorlib]System.ArgIterator args )
+ ldloca.s args
+ arglist
+ call instance void [mscorlib]System.ArgIterator::.ctor(value class [mscorlib]System.RuntimeArgumentHandle)
+ ldloca.s args
+ call instance int32 [mscorlib]System.ArgIterator::GetRemainingCount()
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 Main() il managed
+ {
+ .entrypoint
+ .try
+ {
+ call vararg void arglist_pos::Test()
+ leave.s PASS
+ }
+ catch [mscorlib]System.MissingMethodException
+ {
+ ldstr "OK. Got MissingMethodException\n"
+ call void [System.Console]System.Console::WriteLine(class System.String)
+ leave.s PASS
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ callvirt instance class System.String [mscorlib]System.Exception::ToString()
+ ldstr "WRONG. CHECK TESTING CONDITIONS. Exception:\n"
+ call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ call void [System.Console]System.Console::WriteLine(class System.String)
+ leave.s FAIL
+
+ }
+
+PASS:
+ ldc.i4 100
+ ret
+
+FAIL:
+ ldc.i4 0
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/Coverage/arglist_pos.ilproj b/tests/src/JIT/Methodical/Coverage/arglist_pos.ilproj
new file mode 100644
index 0000000000..cdf2b1cef7
--- /dev/null
+++ b/tests/src/JIT/Methodical/Coverage/arglist_pos.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="arglist_pos.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/FPtrunc/convX.il b/tests/src/JIT/Methodical/FPtrunc/convX.il
new file mode 100644
index 0000000000..1c2db27cc8
--- /dev/null
+++ b/tests/src/JIT/Methodical/FPtrunc/convX.il
@@ -0,0 +1,237 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly convX {}
+.module convX.exe
+.class private auto ansi beforefieldinit convX
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+
+ // i4 - conv.i1 - truncate
+IL_CASE0: ldc.i4 0x1234abcd
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0xffffffcd
+ beq.s IL_CASE1
+ ldstr "CASE0 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // i4 - conv.u1 - truncate
+IL_CASE1: ldc.i4 0x1234abcd
+ conv.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0xcd
+ beq.s IL_CASE2
+ ldstr "CASE1 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // i8 - conv.i2 - truncate
+IL_CASE2: ldc.i8 0x1234abcd
+ conv.i2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0xffffabcd
+ beq.s IL_CASE3
+ ldstr "CASE2 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // native int - conv.u2 - truncate
+IL_CASE3: ldc.i4 0x1234abcd
+ conv.i
+ conv.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0xabcd
+ beq.s IL_CASE4
+ ldstr "CASE3 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // i8 - conv.i4 - truncate
+IL_CASE4: ldc.i8 0x8234abcd
+ conv.i4
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0x8234abcd
+ beq.s IL_CASE5
+ ldstr "CASE4 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // native int - conv.u4 - truncate
+IL_CASE5: ldc.i8 0x8234abcd
+ conv.i
+ conv.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ldc.i4 0x8234abcd
+ beq.s IL_CASE6
+ ldstr "CASE5 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // i4 - conv.i8 - sign extend
+IL_CASE6: ldc.i4 0xedcb5433
+ conv.i8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0xffffffffedcb5433
+ beq.s IL_CASE7
+ ldstr "CASE6 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // i4 - conv.u8 - zero extend
+IL_CASE7: ldc.i4 0x1234abcd
+ conv.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ldc.i8 0x000000001234abcd
+ beq.s IL_CASE8
+ ldstr "CASE7 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // F - conv.i1 - truncate to zero
+IL_CASE8: ldc.r4 1.1
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 1
+ beq.s IL_CASE9
+ ldstr "CASE8 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // F - conv.i1 - truncate to zero
+IL_CASE9: ldc.r4 -1.1
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 -1
+ beq.s IL_CASE10
+ ldstr "CASE9 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.r4 - OVERFLOW to Single.PositiveInfinity
+IL_CASE10: ldc.r8 5.1234567890000001e+054
+ conv.r4
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.r4 (00 00 80 7F)
+ beq.s IL_CASE11
+ ldstr "CASE10 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.r4 - OVERFLOW to Single.NegativeInfinity
+IL_CASE11: ldc.r8 -1.0000000000000001e+054
+ conv.r4
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.r4 (00 00 80 FF)
+ beq.s IL_CASE12
+ ldstr "CASE11 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.i4 - OVERFLOW to undefined
+IL_CASE12:
+
+ // r8 - conv.u4 - truncate to zero (ASURT#125535)
+IL_CASE14: ldc.r8 4294967295
+ conv.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ldc.i4 4294967295
+ beq.s IL_CASE15
+ ldstr "CASE14 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.u2 - truncate to zero
+IL_CASE15: ldc.r8 65535
+ conv.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ldc.i4 65535
+ beq.s IL_CASE16
+ ldstr "CASE15 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.u8 - truncate to zero
+IL_CASE16: ldc.r8 18446744073709551615
+ conv.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ldc.i8 18446744073709551615
+ beq.s IL_CASE17
+ ldstr "CASE16 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.u1 - truncate to zero
+IL_CASE17: ldc.r8 255
+ conv.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ldc.i4 255
+ beq.s IL_CASE18
+ ldstr "CASE17 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+ // r8 - conv.i1 - truncate to zero
+IL_CASE18: ldc.r8 127
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 127
+ beq.s IL_CASE19
+ ldstr "CASE18 FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ br IL_0041
+
+IL_CASE19:
+
+IL_PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+
+IL_0041: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/FPtrunc/convx_il_d.ilproj b/tests/src/JIT/Methodical/FPtrunc/convx_il_d.ilproj
new file mode 100644
index 0000000000..5a2265030b
--- /dev/null
+++ b/tests/src/JIT/Methodical/FPtrunc/convx_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="convX.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/FPtrunc/convx_il_r.ilproj b/tests/src/JIT/Methodical/FPtrunc/convx_il_r.ilproj
new file mode 100644
index 0000000000..1f9e35b5fa
--- /dev/null
+++ b/tests/src/JIT/Methodical/FPtrunc/convx_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="convX.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2b.il b/tests/src/JIT/Methodical/Invoke/25params/25param2b.il
new file mode 100644
index 0000000000..132abbe3d1
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2b.il
@@ -0,0 +1,376 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly '20param2b'{}
+.class private sequential ansi sealed beforefieldinit VT
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 m
+}
+
+.class public auto ansi beforefieldinit CL
+ extends [mscorlib]System.Object
+{
+ .field public int32 n
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(int32 a) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld int32 CL::n
+ IL_000d: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ f1(int16 a1,
+ uint16 a2,
+ int32 a3,
+ uint32 a4,
+ int64 a5,
+ uint64 a6,
+ uint8 a7,
+ int8 a8,
+ valuetype [mscorlib]System.Decimal a9,
+ int32[] a10,
+ valuetype VT a11,
+ class CL a12,
+ int32 a13,
+ int32 a14,
+ int32 a15,
+ int32 a16,
+ int32 a17,
+ int32 a18,
+ int32 a19,
+ int32 a20,
+ int32 a21,
+ int32 a22,
+ int32 a23,
+ int32 a24,
+ int32 a25) cil managed
+ {
+ .maxstack 3
+ .locals init ([0] int32 sum,
+ [1] int32 CS$00000003$00000000)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: add
+ IL_0003: ldarg.2
+ IL_0004: add
+ IL_0005: conv.i8
+ IL_0006: ldarg.3
+ IL_0007: conv.u8
+ IL_0008: add
+ IL_0009: ldarg.s a5
+ IL_000b: conv.i4
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: ldarg.s a6
+ IL_0010: conv.i4
+ IL_0011: conv.i8
+ IL_0012: add
+ IL_0013: ldarg.s a7
+ IL_0015: conv.u8
+ IL_0016: add
+ IL_0017: ldarg.s a8
+ IL_0019: conv.i8
+ IL_001a: add
+ IL_001b: ldarg.s a9
+ IL_001d: call int32 [mscorlib]System.Decimal::op_Explicit(valuetype [mscorlib]System.Decimal)
+ IL_0022: conv.i8
+ IL_0023: add
+ IL_0024: ldarg.s a10
+ IL_0026: ldc.i4.0
+ IL_0027: ldelem.i4
+ IL_0028: conv.i8
+ IL_0029: add
+ IL_002a: ldarga.s a11
+ IL_002c: ldfld int32 VT::m
+ IL_0031: conv.i8
+ IL_0032: add
+ IL_0033: ldarg.s a12
+ IL_0035: ldfld int32 CL::n
+ IL_003a: conv.i8
+ IL_003b: add
+ IL_003c: ldarg.s a13
+ IL_003e: conv.i8
+ IL_003f: add
+ IL_0040: ldarg.s a14
+ IL_0042: conv.i8
+ IL_0043: add
+ IL_0044: ldarg.s a15
+ IL_0046: conv.i8
+ IL_0047: add
+ IL_0048: ldarg.s a16
+ IL_004a: conv.i8
+ IL_004b: add
+ IL_004c: ldarg.s a17
+ IL_004e: conv.i8
+ IL_004f: add
+ IL_0050: ldarg.s a18
+ IL_0052: conv.i8
+ IL_0053: add
+ IL_0054: ldarg.s a19
+ IL_0056: conv.i8
+ IL_0057: add
+ IL_0058: ldarg.s a20
+ IL_005a: conv.i8
+ IL_005b: add
+ IL_005c: ldarg.s a21
+ IL_005e: conv.i8
+ IL_005f: add
+ IL_0060: ldarg.s a22
+ IL_0062: conv.i8
+ IL_0063: add
+ IL_0064: ldarg.s a23
+ IL_0066: conv.i8
+ IL_0067: add
+ IL_0068: ldarg.s a24
+ IL_006a: conv.i8
+ IL_006b: add
+ IL_006c: ldarg.s a25
+ IL_006e: conv.i8
+ IL_006f: add
+ IL_0070: conv.i4
+ IL_0071: stloc.0
+ IL_0072: ldstr "The sum is {0}"
+ IL_0077: ldloc.0
+ IL_0078: box [mscorlib]System.Int32
+ IL_007d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0082: ldloc.0
+ IL_0083: stloc.1
+ IL_0084: br.s IL_0086
+
+ IL_0086: ldloc.1
+ IL_0087: ret
+ }
+
+ .method private hidebysig static int32
+ f(int16 a1,
+ uint16 a2,
+ int32 a3,
+ uint32 a4,
+ int64 a5,
+ uint64 a6,
+ uint8 a7,
+ int8 a8,
+ valuetype [mscorlib]System.Decimal a9,
+ int32[] a10,
+ valuetype VT a11,
+ class CL a12,
+ int32 a13,
+ int32 a14,
+ int32 a15,
+ int32 a16,
+ int32 a17,
+ int32 a18,
+ int32 a19,
+ int32 a20,
+ int32 a21,
+ int32 a22,
+ int32 a23,
+ int32 a24,
+ int32 a25) cil managed
+ {
+ .maxstack 25
+ .locals init ([0] int32 sum,
+ [1] int32 CS$00000003$00000000)
+ IL_0000: ldarg.0
+ IL_0001: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0006: ldarg.1
+ IL_0007: call void [System.Console]System.Console::WriteLine(int32)
+ IL_000c: ldarg.2
+ IL_000d: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0012: ldarg.3
+ IL_0013: call void [System.Console]System.Console::WriteLine(uint32)
+ IL_0018: ldarg.s a5
+ IL_001a: call void [System.Console]System.Console::WriteLine(int64)
+ IL_001f: ldarg.s a6
+ IL_0021: call void [System.Console]System.Console::WriteLine(uint64)
+ IL_0026: ldarg.s a7
+ IL_0028: call void [System.Console]System.Console::WriteLine(int32)
+ IL_002d: ldarg.s a8
+ IL_002f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0034: ldarg.s a9
+ IL_0036: call void [System.Console]System.Console::WriteLine(valuetype [mscorlib]System.Decimal)
+ IL_003b: ldarg.s a10
+ IL_003d: ldc.i4.0
+ IL_003e: ldelem.i4
+ IL_003f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0044: ldarga.s a11
+ IL_0046: ldfld int32 VT::m
+ IL_004b: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0050: ldarg.s a12
+ IL_0052: ldfld int32 CL::n
+ IL_0057: call void [System.Console]System.Console::WriteLine(int32)
+ IL_005c: ldarg.s a13
+ IL_005e: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0063: ldarg.s a14
+ IL_0065: call void [System.Console]System.Console::WriteLine(int32)
+ IL_006a: ldarg.s a15
+ IL_006c: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0071: ldarg.s a16
+ IL_0073: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0078: ldarg.s a17
+ IL_007a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_007f: ldarg.s a18
+ IL_0081: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0086: ldarg.s a19
+ IL_0088: call void [System.Console]System.Console::WriteLine(int32)
+ IL_008d: ldarg.s a20
+ IL_008f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0094: ldarg.s a21
+ IL_0096: call void [System.Console]System.Console::WriteLine(int32)
+ IL_009b: ldarg.s a22
+ IL_009d: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00a2: ldarg.s a23
+ IL_00a4: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00a9: ldarg.s a24
+ IL_00ab: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00b0: ldarg.s a25
+ IL_00b2: call void [System.Console]System.Console::WriteLine(int32)
+ jmp int32 test::f1(int16,
+ uint16,
+ int32,
+ uint32,
+ int64,
+ uint64,
+ uint8,
+ int8,
+ valuetype [mscorlib]System.Decimal,
+ int32[],
+ valuetype VT,
+ class CL,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 25
+ .locals init ([0] valuetype VT vt,
+ [1] class CL cl,
+ [2] int32 sum,
+ [3] int32 CS$00000003$00000000,
+ [4] int32[] CS$00000002$00000001)
+ldstr "Testing method of 25 parameters, mixed data type, jmp"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldloca.s vt
+ IL_0002: initobj VT
+ IL_0008: ldloca.s vt
+ IL_000a: ldc.i4.s 11
+ IL_000c: stfld int32 VT::m
+ IL_0011: ldc.i4.s 12
+ IL_0013: newobj instance void CL::.ctor(int32)
+ IL_0018: stloc.1
+ IL_0019: ldc.i4.1
+ IL_001a: ldc.i4.2
+ IL_001b: ldc.i4.3
+ IL_001c: ldc.i4.4
+ IL_001d: ldc.i4.5
+ IL_001e: conv.i8
+ IL_001f: ldc.i4.6
+ IL_0020: conv.i8
+ IL_0021: ldc.i4.7
+ IL_0022: ldc.i4.8
+ IL_0023: ldc.i4.s 9
+ IL_0025: newobj instance void [mscorlib]System.Decimal::.ctor(int32)
+ IL_002a: ldc.i4.1
+ IL_002b: newarr [mscorlib]System.Int32
+ IL_0030: stloc.s CS$00000002$00000001
+ IL_0032: ldloc.s CS$00000002$00000001
+ IL_0034: ldc.i4.0
+ IL_0035: ldc.i4.s 10
+ IL_0037: stelem.i4
+ IL_0038: ldloc.s CS$00000002$00000001
+ IL_003a: ldloc.0
+ IL_003b: ldloc.1
+ IL_003c: ldc.i4.s 13
+ IL_003e: ldc.i4.s 14
+ IL_0040: ldc.i4.s 15
+ IL_0042: ldc.i4.s 16
+ IL_0044: ldc.i4.s 17
+ IL_0046: ldc.i4.s 18
+ IL_0048: ldc.i4.s 19
+ IL_004a: ldc.i4.s 20
+ IL_004c: ldc.i4.s 21
+ IL_004e: ldc.i4.s 22
+ IL_0050: ldc.i4.s 23
+ IL_0052: ldc.i4.s 24
+ IL_0054: ldc.i4.s 25
+ IL_0056: call int32 test::f(int16,
+ uint16,
+ int32,
+ uint32,
+ int64,
+ uint64,
+ uint8,
+ int8,
+ valuetype [mscorlib]System.Decimal,
+ int32[],
+ valuetype VT,
+ class CL,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_005b: stloc.2
+ IL_005c: ldloc.2
+ IL_005d: ldc.i4 0x145
+ IL_0062: bne.un.s IL_0069
+
+ IL_0064: ldc.i4.s 100
+ IL_0066: stloc.3
+ IL_0067: br.s IL_006d
+
+ IL_0069: ldc.i4.1
+ IL_006a: stloc.3
+ IL_006b: br.s IL_006d
+
+ IL_006d: ldloc.3
+ IL_006e: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_d.ilproj b/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_d.ilproj
new file mode 100644
index 0000000000..ad913478cc
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="25param2b.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_r.ilproj b/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_r.ilproj
new file mode 100644
index 0000000000..54ddb98292
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2b_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="25param2b.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2c.il b/tests/src/JIT/Methodical/Invoke/25params/25param2c.il
new file mode 100644
index 0000000000..8a8400b75f
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2c.il
@@ -0,0 +1,402 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly '20param1b' {}
+.class private sequential ansi sealed beforefieldinit VT
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 m
+}
+
+.class public auto ansi beforefieldinit CL
+ extends [mscorlib]System.Object
+{
+ .field public int32 n
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(int32 a) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld int32 CL::n
+ IL_000d: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ f1(int16 a1,
+ uint16 a2,
+ int32 a3,
+ uint32 a4,
+ int64 a5,
+ uint64 a6,
+ uint8 a7,
+ int8 a8,
+ valuetype [mscorlib]System.Decimal a9,
+ int32[] a10,
+ valuetype VT a11,
+ class CL a12,
+ int32 a13,
+ int32 a14,
+ int32 a15,
+ int32 a16,
+ int32 a17,
+ int32 a18,
+ int32 a19,
+ int32 a20,
+ int32 a21,
+ int32 a22,
+ int32 a23,
+ int32 a24,
+ int32 a25) cil managed
+ {
+ .maxstack 3
+ .locals init ([0] int32 sum,
+ [1] int32 CS$00000003$00000000)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: add
+ IL_0003: ldarg.2
+ IL_0004: add
+ IL_0005: conv.i8
+ IL_0006: ldarg.3
+ IL_0007: conv.u8
+ IL_0008: add
+ IL_0009: ldarg.s a5
+ IL_000b: conv.i4
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: ldarg.s a6
+ IL_0010: conv.i4
+ IL_0011: conv.i8
+ IL_0012: add
+ IL_0013: ldarg.s a7
+ IL_0015: conv.u8
+ IL_0016: add
+ IL_0017: ldarg.s a8
+ IL_0019: conv.i8
+ IL_001a: add
+ IL_001b: ldarg.s a9
+ IL_001d: call int32 [mscorlib]System.Decimal::op_Explicit(valuetype [mscorlib]System.Decimal)
+ IL_0022: conv.i8
+ IL_0023: add
+ IL_0024: ldarg.s a10
+ IL_0026: ldc.i4.0
+ IL_0027: ldelem.i4
+ IL_0028: conv.i8
+ IL_0029: add
+ IL_002a: ldarga.s a11
+ IL_002c: ldfld int32 VT::m
+ IL_0031: conv.i8
+ IL_0032: add
+ IL_0033: ldarg.s a12
+ IL_0035: ldfld int32 CL::n
+ IL_003a: conv.i8
+ IL_003b: add
+ IL_003c: ldarg.s a13
+ IL_003e: conv.i8
+ IL_003f: add
+ IL_0040: ldarg.s a14
+ IL_0042: conv.i8
+ IL_0043: add
+ IL_0044: ldarg.s a15
+ IL_0046: conv.i8
+ IL_0047: add
+ IL_0048: ldarg.s a16
+ IL_004a: conv.i8
+ IL_004b: add
+ IL_004c: ldarg.s a17
+ IL_004e: conv.i8
+ IL_004f: add
+ IL_0050: ldarg.s a18
+ IL_0052: conv.i8
+ IL_0053: add
+ IL_0054: ldarg.s a19
+ IL_0056: conv.i8
+ IL_0057: add
+ IL_0058: ldarg.s a20
+ IL_005a: conv.i8
+ IL_005b: add
+ IL_005c: ldarg.s a21
+ IL_005e: conv.i8
+ IL_005f: add
+ IL_0060: ldarg.s a22
+ IL_0062: conv.i8
+ IL_0063: add
+ IL_0064: ldarg.s a23
+ IL_0066: conv.i8
+ IL_0067: add
+ IL_0068: ldarg.s a24
+ IL_006a: conv.i8
+ IL_006b: add
+ IL_006c: ldarg.s a25
+ IL_006e: conv.i8
+ IL_006f: add
+ IL_0070: conv.i4
+ IL_0071: stloc.0
+ IL_0072: ldstr "The sum is {0}"
+ IL_0077: ldloc.0
+ IL_0078: box [mscorlib]System.Int32
+ IL_007d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0082: ldloc.0
+ IL_0083: stloc.1
+ IL_0084: br.s IL_0086
+
+ IL_0086: ldloc.1
+ IL_0087: ret
+ }
+
+ .method private hidebysig static int32
+ f(int16 a1,
+ uint16 a2,
+ int32 a3,
+ uint32 a4,
+ int64 a5,
+ uint64 a6,
+ uint8 a7,
+ int8 a8,
+ valuetype [mscorlib]System.Decimal a9,
+ int32[] a10,
+ valuetype VT a11,
+ class CL a12,
+ int32 a13,
+ int32 a14,
+ int32 a15,
+ int32 a16,
+ int32 a17,
+ int32 a18,
+ int32 a19,
+ int32 a20,
+ int32 a21,
+ int32 a22,
+ int32 a23,
+ int32 a24,
+ int32 a25) cil managed
+ {
+ .maxstack 25
+ .locals init ([0] int32 sum,
+ [1] int32 CS$00000003$00000000)
+ IL_0000: ldarg.0
+ IL_0001: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0006: ldarg.1
+ IL_0007: call void [System.Console]System.Console::WriteLine(int32)
+ IL_000c: ldarg.2
+ IL_000d: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0012: ldarg.3
+ IL_0013: call void [System.Console]System.Console::WriteLine(uint32)
+ IL_0018: ldarg.s a5
+ IL_001a: call void [System.Console]System.Console::WriteLine(int64)
+ IL_001f: ldarg.s a6
+ IL_0021: call void [System.Console]System.Console::WriteLine(uint64)
+ IL_0026: ldarg.s a7
+ IL_0028: call void [System.Console]System.Console::WriteLine(int32)
+ IL_002d: ldarg.s a8
+ IL_002f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0034: ldarg.s a9
+ IL_0036: call void [System.Console]System.Console::WriteLine(valuetype [mscorlib]System.Decimal)
+ IL_003b: ldarg.s a10
+ IL_003d: ldc.i4.0
+ IL_003e: ldelem.i4
+ IL_003f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0044: ldarga.s a11
+ IL_0046: ldfld int32 VT::m
+ IL_004b: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0050: ldarg.s a12
+ IL_0052: ldfld int32 CL::n
+ IL_0057: call void [System.Console]System.Console::WriteLine(int32)
+ IL_005c: ldarg.s a13
+ IL_005e: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0063: ldarg.s a14
+ IL_0065: call void [System.Console]System.Console::WriteLine(int32)
+ IL_006a: ldarg.s a15
+ IL_006c: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0071: ldarg.s a16
+ IL_0073: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0078: ldarg.s a17
+ IL_007a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_007f: ldarg.s a18
+ IL_0081: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0086: ldarg.s a19
+ IL_0088: call void [System.Console]System.Console::WriteLine(int32)
+ IL_008d: ldarg.s a20
+ IL_008f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0094: ldarg.s a21
+ IL_0096: call void [System.Console]System.Console::WriteLine(int32)
+ IL_009b: ldarg.s a22
+ IL_009d: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00a2: ldarg.s a23
+ IL_00a4: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00a9: ldarg.s a24
+ IL_00ab: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00b0: ldarg.s a25
+ IL_00b2: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00b7: ldarg.0
+ IL_00b8: ldarg.1
+ IL_00b9: ldarg.2
+ IL_00ba: ldarg.3
+ IL_00bb: ldarg.s a5
+ IL_00bd: ldarg.s a6
+ IL_00bf: ldarg.s a7
+ IL_00c1: ldarg.s a8
+ IL_00c3: ldarg.s a9
+ IL_00c5: ldarg.s a10
+ IL_00c7: ldarg.s a11
+ IL_00c9: ldarg.s a12
+ IL_00cb: ldarg.s a13
+ IL_00cd: ldarg.s a14
+ IL_00cf: ldarg.s a15
+ IL_00d1: ldarg.s a16
+ IL_00d3: ldarg.s a17
+ IL_00d5: ldarg.s a18
+ IL_00d7: ldarg.s a19
+ IL_00d9: ldarg.s a20
+ IL_00db: ldarg.s a21
+ IL_00dd: ldarg.s a22
+ IL_00df: ldarg.s a23
+ IL_00e1: ldarg.s a24
+ IL_00e3: ldarg.s a25
+ tail. call int32 test::f1(int16,
+ uint16,
+ int32,
+ uint32,
+ int64,
+ uint64,
+ uint8,
+ int8,
+ valuetype [mscorlib]System.Decimal,
+ int32[],
+ valuetype VT,
+ class CL,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_00f0: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 25
+ .locals init ([0] valuetype VT vt,
+ [1] class CL cl,
+ [2] int32 sum,
+ [3] int32 CS$00000003$00000000,
+ [4] int32[] CS$00000002$00000001)
+ldstr "Testing method of 25 parameters, mixed data type, tail.call"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldloca.s vt
+ IL_0002: initobj VT
+ IL_0008: ldloca.s vt
+ IL_000a: ldc.i4.s 11
+ IL_000c: stfld int32 VT::m
+ IL_0011: ldc.i4.s 12
+ IL_0013: newobj instance void CL::.ctor(int32)
+ IL_0018: stloc.1
+ IL_0019: ldc.i4.1
+ IL_001a: ldc.i4.2
+ IL_001b: ldc.i4.3
+ IL_001c: ldc.i4.4
+ IL_001d: ldc.i4.5
+ IL_001e: conv.i8
+ IL_001f: ldc.i4.6
+ IL_0020: conv.i8
+ IL_0021: ldc.i4.7
+ IL_0022: ldc.i4.8
+ IL_0023: ldc.i4.s 9
+ IL_0025: newobj instance void [mscorlib]System.Decimal::.ctor(int32)
+ IL_002a: ldc.i4.1
+ IL_002b: newarr [mscorlib]System.Int32
+ IL_0030: stloc.s CS$00000002$00000001
+ IL_0032: ldloc.s CS$00000002$00000001
+ IL_0034: ldc.i4.0
+ IL_0035: ldc.i4.s 10
+ IL_0037: stelem.i4
+ IL_0038: ldloc.s CS$00000002$00000001
+ IL_003a: ldloc.0
+ IL_003b: ldloc.1
+ IL_003c: ldc.i4.s 13
+ IL_003e: ldc.i4.s 14
+ IL_0040: ldc.i4.s 15
+ IL_0042: ldc.i4.s 16
+ IL_0044: ldc.i4.s 17
+ IL_0046: ldc.i4.s 18
+ IL_0048: ldc.i4.s 19
+ IL_004a: ldc.i4.s 20
+ IL_004c: ldc.i4.s 21
+ IL_004e: ldc.i4.s 22
+ IL_0050: ldc.i4.s 23
+ IL_0052: ldc.i4.s 24
+ IL_0054: ldc.i4.s 25
+ IL_0056: call int32 test::f(int16,
+ uint16,
+ int32,
+ uint32,
+ int64,
+ uint64,
+ uint8,
+ int8,
+ valuetype [mscorlib]System.Decimal,
+ int32[],
+ valuetype VT,
+ class CL,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_005b: stloc.2
+ IL_005c: ldloc.2
+ IL_005d: ldc.i4 0x145
+ IL_0062: bne.un.s IL_0069
+
+ IL_0064: ldc.i4.s 100
+ IL_0066: stloc.3
+ IL_0067: br.s IL_006d
+
+ IL_0069: ldc.i4.1
+ IL_006a: stloc.3
+ IL_006b: br.s IL_006d
+
+ IL_006d: ldloc.3
+ IL_006e: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_d.ilproj b/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_d.ilproj
new file mode 100644
index 0000000000..f629777138
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="25param2c.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_r.ilproj b/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_r.ilproj
new file mode 100644
index 0000000000..c918770dff
--- /dev/null
+++ b/tests/src/JIT/Methodical/Invoke/25params/25param2c_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="25param2c.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/NaN/r4NaNconv.il b/tests/src/JIT/Methodical/NaN/r4NaNconv.il
new file mode 100644
index 0000000000..c7891b59f3
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r4NaNconv.il
@@ -0,0 +1,829 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly conv {}
+.module conv.exe
+.class private auto ansi beforefieldinit ConvTest
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int8 test1() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 1 (conv.i1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test2() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 2 (conv.i2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.i2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test3() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 3 (conv.i4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.i4
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test4() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 4 (conv.i8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.i8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ret
+ }
+
+ .method public hidebysig static float32 test5() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 5 (conv.r4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.r4
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ ret
+ }
+
+ .method public hidebysig static float64 test6() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 6 (conv.r8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.r8
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test7() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 7 (conv.u1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test8() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 8 (conv.u2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test9() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 9 (conv.u4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test10() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 10 (conv.u8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test11() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 11 (conv.i) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.i
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test12() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 12 (conv.u) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.u
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static float32 test13() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 13 (conv.r.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.r.un
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ret
+ }
+
+ .method public hidebysig static int8 test14() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 14 (conv.ovf.i1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test15() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 15 (conv.ovf.i2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test16() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 16 (conv.ovf.i4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i4
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test17() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 17 (conv.ovf.i8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test18() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 18 (conv.ovf.u1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test19() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 19 (conv.ovf.u2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test20() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 20 (conv.ovf.u4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test21() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 21 (conv.ovf.u8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test22() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 22 (conv.ovf.i) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test23() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 23 (conv.ovf.u) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int8 test24() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 24 (conv.ovf.i1.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i1.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test25() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 25 (conv.ovf.i2.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i2.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test26() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 26 (conv.ovf.i4.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i4.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test27() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 27 (conv.ovf.i8.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i8.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test28() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 28 (conv.ovf.u1.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u1.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test29() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 29 (conv.ovf.u2.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u2.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test30() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 30 (conv.ovf.u4.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u4.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test31() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 31 (conv.ovf.u8.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u8.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test32() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 32 (conv.ovf.i.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.i.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test33() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 33 (conv.ovf.u.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r4 (00 00 C0 FF)
+ conv.ovf.u.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 50
+ .locals init ([0] bool passed )
+
+
+ ldstr "Based on bug #91021 - testing Single.NaN"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "The conv.* instructions never throw overflow exceptions. The results of the conversions is undefined for NaN."
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "The conv.ovf.* instructions should throw OverflowException if the result can not be represented in the result type"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr ""
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.1
+ stloc.0
+
+ call int8 ConvTest::test1()
+ pop
+ call int16 ConvTest::test2()
+ pop
+ call int32 ConvTest::test3()
+ pop
+ call int64 ConvTest::test4()
+ pop
+ call float32 ConvTest::test5()
+ pop
+ call float64 ConvTest::test6()
+ pop
+ call unsigned int8 ConvTest::test7()
+ pop
+ call unsigned int16 ConvTest::test8()
+ pop
+ call unsigned int32 ConvTest::test9()
+ pop
+ call unsigned int64 ConvTest::test10()
+ pop
+ call int32 ConvTest::test11()
+ pop
+ call unsigned int32 ConvTest::test12()
+ pop
+ call float32 ConvTest::test13()
+ pop
+
+
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int8 ConvTest::test14()
+ leave.s Test_15
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_15
+ }
+ Test_15: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int16 ConvTest::test15()
+ leave.s Test_16
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_16
+ }
+ Test_16: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test16()
+ leave.s Test_17
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_17
+ }
+ Test_17: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int64 ConvTest::test17()
+ leave.s Test_18
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_18
+ }
+ Test_18: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int8 ConvTest::test18()
+ leave.s Test_19
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_19
+ }
+ Test_19: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int16 ConvTest::test19()
+ leave.s Test_20
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_20
+ }
+ Test_20: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test20()
+ leave.s Test_21
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_21
+ }
+ Test_21: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int64 ConvTest::test21()
+ leave.s Test_22
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_22
+ }
+ Test_22: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test22()
+ leave.s Test_23
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_23
+ }
+ Test_23: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test23()
+ leave.s Test_24
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_24
+ }
+ Test_24: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int8 ConvTest::test24()
+ leave.s Test_25
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_25
+ }
+ Test_25: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int16 ConvTest::test25()
+ leave.s Test_26
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_26
+ }
+ Test_26: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test26()
+ leave.s Test_27
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_27
+ }
+ Test_27: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int64 ConvTest::test27()
+ leave.s Test_28
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_28
+ }
+ Test_28: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int8 ConvTest::test28()
+ leave.s Test_29
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_29
+ }
+ Test_29: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int16 ConvTest::test29()
+ leave.s Test_30
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_30
+ }
+ Test_30: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test30()
+ leave.s Test_31
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_31
+ }
+ Test_31: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int64 ConvTest::test31()
+ leave.s Test_32
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_32
+ }
+ Test_32: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test32()
+ leave.s Test_33
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_33
+ }
+ Test_33: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test33()
+ leave.s Test_34
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_34
+ }
+ Test_34: nop
+
+ ldstr ""
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldloc.0
+ brfalse.s IL_0022
+
+
+
+ IL_0013: ldstr "PASSED"
+ IL_0018: call void [System.Console]System.Console::WriteLine(string)
+ IL_001d: ldc.i4.s 100
+ IL_0020: br.s IL_0030
+
+ IL_0022: ldstr "FAILED"
+ IL_0027: call void [System.Console]System.Console::WriteLine(string)
+ IL_002c: ldc.i4.m1
+ IL_002e: br.s IL_0030
+
+ IL_0030: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/NaN/r4nanconv_il_d.ilproj b/tests/src/JIT/Methodical/NaN/r4nanconv_il_d.ilproj
new file mode 100644
index 0000000000..6c53974688
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r4nanconv_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="r4NaNconv.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/NaN/r4nanconv_il_r.ilproj b/tests/src/JIT/Methodical/NaN/r4nanconv_il_r.ilproj
new file mode 100644
index 0000000000..5bde25bf33
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r4nanconv_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="r4NaNconv.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/NaN/r8NaNconv.il b/tests/src/JIT/Methodical/NaN/r8NaNconv.il
new file mode 100644
index 0000000000..f055134a47
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r8NaNconv.il
@@ -0,0 +1,825 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly conv {}
+.module conv.exe
+.class private auto ansi beforefieldinit ConvTest
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int8 test1() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 1 (conv.i1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test2() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 2 (conv.i2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.i2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test3() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 3 (conv.i4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.i4
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test4() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 4 (conv.i8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.i8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ret
+ }
+
+ .method public hidebysig static float32 test5() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 5 (conv.r4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.r4
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ ret
+ }
+
+ .method public hidebysig static float64 test6() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 6 (conv.r8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.r8
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test7() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 7 (conv.u1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test8() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 8 (conv.u2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test9() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 9 (conv.u4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test10() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 10 (conv.u8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test11() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 11 (conv.i) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.i
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test12() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 12 (conv.u) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.u
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static float32 test13() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 13 (conv.r.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.r.un
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+ ret
+ }
+
+ .method public hidebysig static int8 test14() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 14 (conv.ovf.i1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i1
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test15() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 15 (conv.ovf.i2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i2
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test16() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 16 (conv.ovf.i4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i4
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test17() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 17 (conv.ovf.i8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test18() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 18 (conv.ovf.u1) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u1
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test19() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 19 (conv.ovf.u2) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u2
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test20() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 20 (conv.ovf.u4) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u4
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test21() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 21 (conv.ovf.u8) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test22() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 22 (conv.ovf.i) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test23() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 23 (conv.ovf.u) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int8 test24() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 24 (conv.ovf.i1.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i1.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int16 test25() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 25 (conv.ovf.i2.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i2.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int32 test26() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 26 (conv.ovf.i4.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i4.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static int64 test27() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 27 (conv.ovf.i8.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i8.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static unsigned int8 test28() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 28 (conv.ovf.u1.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u1.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int16 test29() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 29 (conv.ovf.u2.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u2.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test30() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 30 (conv.ovf.u4.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u4.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int64 test31() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 31 (conv.ovf.u8.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u8.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int64)
+ ret
+ }
+
+ .method public hidebysig static int32 test32() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 32 (conv.ovf.i.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.i.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+
+ .method public hidebysig static unsigned int32 test33() cil managed
+ {
+ .maxstack 10
+ ldstr "testcase 33 (conv.ovf.u.un) : "
+ call void [System.Console]System.Console::Write(string)
+ ldc.r8 (00 00 00 00 00 00 F8 FF)
+ conv.ovf.u.un
+ dup
+ call void [System.Console]System.Console::WriteLine(unsigned int32)
+ ret
+ }
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 50
+ .locals init ([0] bool passed )
+
+ ldstr "Based on bug #91021 - testing Double.NaN"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "The conv.* instructions never throw overflow exceptions. The results of the conversions is undefined for NaN."
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "The conv.ovf.* instructions should throw OverflowException if the result can not be represented in the result type"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr ""
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.1
+ stloc.0
+
+ call int8 ConvTest::test1()
+ pop
+ call int16 ConvTest::test2()
+ pop
+ call int32 ConvTest::test3()
+ pop
+ call int64 ConvTest::test4()
+ pop
+ call float32 ConvTest::test5()
+ pop
+ call float64 ConvTest::test6()
+ pop
+ call unsigned int8 ConvTest::test7()
+ pop
+ call unsigned int16 ConvTest::test8()
+ pop
+ call unsigned int32 ConvTest::test9()
+ pop
+ call unsigned int64 ConvTest::test10()
+ pop
+ call int32 ConvTest::test11()
+ pop
+ call unsigned int32 ConvTest::test12()
+ pop
+ call float32 ConvTest::test13()
+ pop
+
+
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int8 ConvTest::test14()
+ leave.s Test_15
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_15
+ }
+ Test_15: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int16 ConvTest::test15()
+ leave.s Test_16
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_16
+ }
+ Test_16: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test16()
+ leave.s Test_17
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_17
+ }
+ Test_17: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int64 ConvTest::test17()
+ leave.s Test_18
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_18
+ }
+ Test_18: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int8 ConvTest::test18()
+ leave.s Test_19
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_19
+ }
+ Test_19: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int16 ConvTest::test19()
+ leave.s Test_20
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_20
+ }
+ Test_20: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test20()
+ leave.s Test_21
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_21
+ }
+ Test_21: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int64 ConvTest::test21()
+ leave.s Test_22
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_22
+ }
+ Test_22: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test22()
+ leave.s Test_23
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_23
+ }
+ Test_23: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test23()
+ leave.s Test_24
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_24
+ }
+ Test_24: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int8 ConvTest::test24()
+ leave.s Test_25
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_25
+ }
+ Test_25: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int16 ConvTest::test25()
+ leave.s Test_26
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_26
+ }
+ Test_26: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test26()
+ leave.s Test_27
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_27
+ }
+ Test_27: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int64 ConvTest::test27()
+ leave.s Test_28
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_28
+ }
+ Test_28: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int8 ConvTest::test28()
+ leave.s Test_29
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_29
+ }
+ Test_29: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int16 ConvTest::test29()
+ leave.s Test_30
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_30
+ }
+ Test_30: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test30()
+ leave.s Test_31
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_31
+ }
+ Test_31: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int64 ConvTest::test31()
+ leave.s Test_32
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_32
+ }
+ Test_32: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call int32 ConvTest::test32()
+ leave.s Test_33
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_33
+ }
+ Test_33: nop
+ .try
+ {
+ ldc.i4.0
+ stloc.0
+ call unsigned int32 ConvTest::test33()
+ leave.s Test_34
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldc.i4.1
+ stloc.0
+ ldstr "OverflowException caught as expected"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Test_34
+ }
+ Test_34: nop
+
+ ldstr ""
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s IL_0022
+
+ IL_0013: ldstr "PASSED"
+ IL_0018: call void [System.Console]System.Console::WriteLine(string)
+ IL_001d: ldc.i4.s 100
+ IL_0020: br.s IL_0030
+
+ IL_0022: ldstr "FAILED"
+ IL_0027: call void [System.Console]System.Console::WriteLine(string)
+ IL_002c: ldc.i4.m1
+ IL_002e: br.s IL_0030
+
+ IL_0030: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/NaN/r8nanconv_il_d.ilproj b/tests/src/JIT/Methodical/NaN/r8nanconv_il_d.ilproj
new file mode 100644
index 0000000000..090d4d69ed
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r8nanconv_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="r8NaNconv.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/NaN/r8nanconv_il_r.ilproj b/tests/src/JIT/Methodical/NaN/r8nanconv_il_r.ilproj
new file mode 100644
index 0000000000..e3322e2ad7
--- /dev/null
+++ b/tests/src/JIT/Methodical/NaN/r8nanconv_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="r8NaNconv.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/global.il b/tests/src/JIT/Methodical/cctor/misc/global.il
new file mode 100644
index 0000000000..8408bbb229
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/global.il
@@ -0,0 +1,19 @@
+.assembly extern legacy library mscorlib {}
+.assembly global {}
+.field static public int32 a at D_00
+
+.method public static rtspecialname specialname void .cctor ()
+{
+ldc.i4 100
+stsfld int32 a
+ret
+}
+
+.method public static int32 Main()
+{
+.entrypoint
+ldsfld int32 a
+ret
+}
+
+.data D_00 = int32(1)
diff --git a/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj b/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj
new file mode 100644
index 0000000000..331d1bd3ff
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="global.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj b/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj
new file mode 100644
index 0000000000..85af5bdf6f
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="global.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/tail.il b/tests/src/JIT/Methodical/cctor/misc/tail.il
new file mode 100644
index 0000000000..8beebf2809
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/tail.il
@@ -0,0 +1,208 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly precise3 {}
+.class private auto ansi beforefieldinit measure
+ extends [mscorlib]System.Object
+{
+ .field public static int32 a
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 measure::a
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig newslot virtual
+ instance void f(unsigned int8& b) cil managed
+ {
+ .maxstack 0
+ IL_0000: br.s IL_0002
+
+ IL_0002: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldsfld int32 measure::a
+ IL_0005: brfalse.s IL_002b
+
+ IL_0007: ldstr "in .cctor(), measure.a is {0}"
+ IL_000c: ldsfld int32 measure::a
+ IL_0011: box [mscorlib]System.Int32
+ IL_0016: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_001b: ldstr "FAILED"
+ IL_0020: call void [System.Console]System.Console::WriteLine(string)
+ IL_0025: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_002a: throw
+
+ IL_002b: ldstr "in .cctor(), measure.a is {0}"
+ IL_0030: ldsfld int32 measure::a
+ IL_0035: box [mscorlib]System.Int32
+ IL_003a: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_003f: ldsfld int32 measure::a
+ IL_0044: ldc.i4.8
+ IL_0045: add
+ IL_0046: stsfld int32 measure::a
+ IL_004b: ldsfld int32 measure::a
+ IL_0050: ldc.i4.8
+ IL_0051: beq.s IL_0077
+
+ IL_0053: ldstr "in .cctor() after measure.a=8, measure.a is {0}"
+ IL_0058: ldsfld int32 measure::a
+ IL_005d: box [mscorlib]System.Int32
+ IL_0062: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0067: ldstr "FAILED"
+ IL_006c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0071: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0076: throw
+
+ IL_0077: ldstr "in .cctor() after measure.a=8, measure.a is {0}"
+ IL_007c: ldsfld int32 measure::a
+ IL_0081: box [mscorlib]System.Int32
+ IL_0086: tail. call void [System.Console]System.Console::WriteLine(string,
+ object)
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test2
+ extends test
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit Driver
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (unsigned int8 V_0,
+ class test2 V_1,
+ class [mscorlib]System.Exception V_2,
+ int32 V_3)
+ .try
+ {
+ ldstr "Testing .cctor() invocation by calling virtual method"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldnull
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldc.i4.s 15
+ IL_0002: stloc.0
+ IL_0003: newobj instance void test2::.ctor()
+ IL_0008: stloc.1
+ IL_0009: ldsfld int32 measure::a
+ IL_000e: brfalse.s IL_0032
+
+ IL_0010: ldstr "in Main(), measure.a is {0}"
+ IL_0015: ldsfld int32 measure::a
+ IL_001a: box [mscorlib]System.Int32
+ IL_001f: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0024: ldstr "FAILED"
+ IL_0029: call void [System.Console]System.Console::WriteLine(string)
+ IL_002e: ldc.i4.1
+ IL_002f: stloc.3
+ IL_0030: leave.s IL_009e
+
+ IL_0032: ldstr "Before running virtual method"
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldloc.1
+ IL_003d: ldloca.s V_0
+ IL_003f: callvirt instance void test::f(unsigned int8&)
+ IL_0044: ldstr "After running virtual method"
+ IL_0049: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldsfld int32 measure::a
+ IL_0053: ldc.i4.8
+ IL_0054: beq.s IL_0078
+
+ IL_0056: ldstr "in Main() after f(ref b), measure.a is {0}"
+ IL_005b: ldsfld int32 measure::a
+ IL_0060: box [mscorlib]System.Int32
+ IL_0065: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_006a: ldstr "FAILED"
+ IL_006f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0074: ldc.i4.m1
+ IL_0075: stloc.3
+ IL_0076: leave.s IL_009e
+
+ IL_0078: leave.s IL_008a
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_007a: stloc.2
+ IL_007b: ldloc.2
+ IL_007c: callvirt instance string [mscorlib]System.Exception::get_StackTrace()
+ IL_0081: call void [System.Console]System.Console::WriteLine(string)
+ IL_0086: ldc.i4.m1
+ IL_0087: stloc.3
+ IL_0088: leave.s IL_009e
+
+ }
+ IL_008a: call void [System.Console]System.Console::WriteLine()
+ IL_008f: ldstr "PASSED"
+ IL_0094: call void [System.Console]System.Console::WriteLine(string)
+ IL_0099: ldc.i4.s 100
+ IL_009b: stloc.3
+ IL_009c: br.s IL_009e
+
+ IL_009e: ldloc.3
+ IL_009f: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Methodical/cctor/misc/tail_il_d.ilproj b/tests/src/JIT/Methodical/cctor/misc/tail_il_d.ilproj
new file mode 100644
index 0000000000..80b582719a
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/tail_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tail.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/tail_il_r.ilproj b/tests/src/JIT/Methodical/cctor/misc/tail_il_r.ilproj
new file mode 100644
index 0000000000..d74858cf29
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/tail_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tail.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/threads3.il b/tests/src/JIT/Methodical/cctor/misc/threads3.il
new file mode 100644
index 0000000000..018b220d9c
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/threads3.il
@@ -0,0 +1,224 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly threads3 {}
+.module threads3.EXE
+.namespace Precise
+{
+ .class public auto ansi beforefieldinit measure
+ extends [mscorlib]System.Object
+ {
+ .field public static int32 a
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 Precise.measure::a
+ IL_0006: ret
+ }
+ }
+
+ .class public auto ansi test
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldstr "{0} in .cctor(), measure.a is {1}"
+ IL_0005: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
+ IL_000a: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_000f: ldsfld int32 Precise.measure::a
+ IL_0014: box [mscorlib]System.Int32
+ IL_0019: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_001e: ldsfld int32 Precise.measure::a
+ IL_0023: ldc.i4.1
+ IL_0024: add
+ IL_0025: stsfld int32 Precise.measure::a
+ IL_002a: ldstr "{0} in .cctor(), after +=8, measure.a is {1}"
+ IL_002f: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
+ IL_0034: callvirt instance string [mscorlib]System.Threading.Thread::get_Name()
+ IL_0039: ldsfld int32 Precise.measure::a
+ IL_003e: box [mscorlib]System.Int32
+ IL_0043: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0048: call void [System.Console]System.Console::WriteLine()
+ IL_004d: ret
+ }
+ }
+
+ .class private auto ansi beforefieldinit Driver
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ f() cil managed
+ {
+ .maxstack 0
+ call void Precise.test::.cctor()
+
+ IL_0002: ret
+ }
+
+ .method public hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (class [mscorlib]System.Threading.Thread[] V_0,
+ int32 V_1,
+ class [mscorlib]System.Threading.ThreadStart V_2,
+ class [mscorlib]System.Threading.Thread V_3,
+ class [mscorlib]System.Threading.Thread V_4,
+ class [mscorlib]System.Exception V_5,
+ int32 V_6,
+ class [mscorlib]System.Threading.Thread[] V_7,
+ int32 V_8)
+ .try
+ {
+ IL_0000: ldstr "Before calling static field"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldsfld int32 Precise.measure::a
+ IL_000f: brfalse.s IL_0037
+
+ IL_0011: ldstr "in Main(), measure.a is {0}"
+ IL_0016: ldsfld int32 Precise.measure::a
+ IL_001b: box [mscorlib]System.Int32
+ IL_0020: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0025: ldstr "FAILED"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: ldc.i4.1
+ IL_0030: stloc.s V_6
+ IL_0032: leave IL_0124
+
+ IL_0037: ldc.i4.5
+ IL_0038: newarr [mscorlib]System.Threading.Thread
+ IL_003d: stloc.0
+ IL_003e: ldc.i4.0
+ IL_003f: stloc.1
+ IL_0040: br.s IL_0074
+
+ IL_0042: ldnull
+ IL_0043: ldftn void Precise.Driver::f()
+ IL_0049: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_004e: stloc.2
+ IL_004f: ldloc.0
+ IL_0050: ldloc.1
+ IL_0051: ldloc.2
+ IL_0052: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0057: stelem.ref
+ IL_0058: ldloc.0
+ IL_0059: ldloc.1
+ IL_005a: ldelem.ref
+ IL_005b: ldstr "Thread #"
+ IL_0060: ldloc.1
+ IL_0061: box [mscorlib]System.Int32
+ IL_0066: call string [mscorlib]System.String::Concat(object,
+ object)
+ IL_006b: callvirt instance void [mscorlib]System.Threading.Thread::set_Name(string)
+ IL_0070: ldloc.1
+ IL_0071: ldc.i4.1
+ IL_0072: add
+ IL_0073: stloc.1
+ IL_0074: ldloc.1
+ IL_0075: ldc.i4.5
+ IL_0076: blt.s IL_0042
+
+ IL_0078: ldloc.0
+ IL_0079: stloc.s V_7
+ IL_007b: ldc.i4.0
+ IL_007c: stloc.s V_8
+ IL_007e: br.s IL_0092
+
+ IL_0080: ldloc.s V_7
+ IL_0082: ldloc.s V_8
+ IL_0084: ldelem.ref
+ IL_0085: stloc.3
+ IL_0086: ldloc.3
+ IL_0087: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_008c: ldloc.s V_8
+ IL_008e: ldc.i4.1
+ IL_008f: add
+ IL_0090: stloc.s V_8
+ IL_0092: ldloc.s V_8
+ IL_0094: ldloc.s V_7
+ IL_0096: ldlen
+ IL_0097: conv.i4
+ IL_0098: blt.s IL_0080
+
+ IL_009a: ldloc.0
+ IL_009b: stloc.s V_7
+ IL_009d: ldc.i4.0
+ IL_009e: stloc.s V_8
+ IL_00a0: br.s IL_00b6
+
+ IL_00a2: ldloc.s V_7
+ IL_00a4: ldloc.s V_8
+ IL_00a6: ldelem.ref
+ IL_00a7: stloc.s V_4
+ IL_00a9: ldloc.s V_4
+ IL_00ab: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_00b0: ldloc.s V_8
+ IL_00b2: ldc.i4.1
+ IL_00b3: add
+ IL_00b4: stloc.s V_8
+ IL_00b6: ldloc.s V_8
+ IL_00b8: ldloc.s V_7
+ IL_00ba: ldlen
+ IL_00bb: conv.i4
+ IL_00bc: blt.s IL_00a2
+
+ IL_00be: ldstr "After calling static field"
+ IL_00c3: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c8: ldsfld int32 Precise.measure::a
+ IL_00cd: ldc.i4 6
+ IL_00ce: beq.s IL_00f3
+
+ IL_00d0: ldstr "in Main(), measure.a is {0}"
+ IL_00d5: ldsfld int32 Precise.measure::a
+ IL_00da: box [mscorlib]System.Int32
+ IL_00df: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00e4: ldstr "FAILED"
+ IL_00e9: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ee: ldc.i4.m1
+ IL_00ef: stloc.s V_6
+ IL_00f1: leave.s IL_0124
+
+ IL_00f3: leave.s IL_010f
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_00f5: stloc.s V_5
+ IL_00f7: ldloc.s V_5
+ IL_00f9: call void [System.Console]System.Console::WriteLine(object)
+ IL_00fe: ldloc.s V_5
+ IL_0100: callvirt instance string [mscorlib]System.Exception::get_StackTrace()
+ IL_0105: call void [System.Console]System.Console::WriteLine(string)
+ IL_010a: ldc.i4.m1
+ IL_010b: stloc.s V_6
+ IL_010d: leave.s IL_0124
+
+ }
+ IL_010f: call void [System.Console]System.Console::WriteLine()
+ IL_0114: ldstr "PASSED"
+ IL_0119: call void [System.Console]System.Console::WriteLine(string)
+ IL_011e: ldc.i4.s 100
+ IL_0120: stloc.s V_6
+ IL_0122: br.s IL_0124
+
+ IL_0124: ldloc.s V_6
+ IL_0126: ret
+ }
+ }
+}
diff --git a/tests/src/JIT/Methodical/cctor/misc/threads3_il_d.ilproj b/tests/src/JIT/Methodical/cctor/misc/threads3_il_d.ilproj
new file mode 100644
index 0000000000..3fbb8db4d8
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/threads3_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="threads3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/misc/threads3_il_r.ilproj b/tests/src/JIT/Methodical/cctor/misc/threads3_il_r.ilproj
new file mode 100644
index 0000000000..7f7f074628
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/misc/threads3_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="threads3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/simple/precise3.il b/tests/src/JIT/Methodical/cctor/simple/precise3.il
new file mode 100644
index 0000000000..3988806db4
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/simple/precise3.il
@@ -0,0 +1,208 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly precise3 {}
+.class private auto ansi beforefieldinit measure
+ extends [mscorlib]System.Object
+{
+ .field public static int32 a
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 measure::a
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig newslot virtual
+ instance void f(unsigned int8& b) cil managed
+ {
+ .maxstack 0
+ IL_0000: br.s IL_0002
+
+ IL_0002: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldsfld int32 measure::a
+ IL_0005: brfalse.s IL_002b
+
+ IL_0007: ldstr "in .cctor(), measure.a is {0}"
+ IL_000c: ldsfld int32 measure::a
+ IL_0011: box [mscorlib]System.Int32
+ IL_0016: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_001b: ldstr "FAILED"
+ IL_0020: call void [System.Console]System.Console::WriteLine(string)
+ IL_0025: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_002a: throw
+
+ IL_002b: ldstr "in .cctor(), measure.a is {0}"
+ IL_0030: ldsfld int32 measure::a
+ IL_0035: box [mscorlib]System.Int32
+ IL_003a: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_003f: ldsfld int32 measure::a
+ IL_0044: ldc.i4.8
+ IL_0045: add
+ IL_0046: stsfld int32 measure::a
+ IL_004b: ldsfld int32 measure::a
+ IL_0050: ldc.i4.8
+ IL_0051: beq.s IL_0077
+
+ IL_0053: ldstr "in .cctor() after measure.a=8, measure.a is {0}"
+ IL_0058: ldsfld int32 measure::a
+ IL_005d: box [mscorlib]System.Int32
+ IL_0062: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0067: ldstr "FAILED"
+ IL_006c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0071: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0076: throw
+
+ IL_0077: ldstr "in .cctor() after measure.a=8, measure.a is {0}"
+ IL_007c: ldsfld int32 measure::a
+ IL_0081: box [mscorlib]System.Int32
+ IL_0086: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_008b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit test2
+ extends test
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit Driver
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (unsigned int8 V_0,
+ class test2 V_1,
+ class [mscorlib]System.Exception V_2,
+ int32 V_3)
+ .try
+ {
+ ldstr "Testing .cctor() invocation by calling virtual method"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldnull
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldc.i4.s 15
+ IL_0002: stloc.0
+ IL_0003: newobj instance void test2::.ctor()
+ IL_0008: stloc.1
+ IL_0009: ldsfld int32 measure::a
+ IL_000e: brfalse.s IL_0032
+
+ IL_0010: ldstr "in Main(), measure.a is {0}"
+ IL_0015: ldsfld int32 measure::a
+ IL_001a: box [mscorlib]System.Int32
+ IL_001f: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0024: ldstr "FAILED"
+ IL_0029: call void [System.Console]System.Console::WriteLine(string)
+ IL_002e: ldc.i4.1
+ IL_002f: stloc.3
+ IL_0030: leave.s IL_009e
+
+ IL_0032: ldstr "Before running virtual method"
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldloc.1
+ IL_003d: ldloca.s V_0
+ IL_003f: callvirt instance void test::f(unsigned int8&)
+ IL_0044: ldstr "After running virtual method"
+ IL_0049: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldsfld int32 measure::a
+ IL_0053: ldc.i4.8
+ IL_0054: beq.s IL_0078
+
+ IL_0056: ldstr "in Main() after f(ref b), measure.a is {0}"
+ IL_005b: ldsfld int32 measure::a
+ IL_0060: box [mscorlib]System.Int32
+ IL_0065: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_006a: ldstr "FAILED"
+ IL_006f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0074: ldc.i4.m1
+ IL_0075: stloc.3
+ IL_0076: leave.s IL_009e
+
+ IL_0078: leave.s IL_008a
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_007a: stloc.2
+ IL_007b: ldloc.2
+ IL_007c: callvirt instance string [mscorlib]System.Exception::get_StackTrace()
+ IL_0081: call void [System.Console]System.Console::WriteLine(string)
+ IL_0086: ldc.i4.m1
+ IL_0087: stloc.3
+ IL_0088: leave.s IL_009e
+
+ }
+ IL_008a: call void [System.Console]System.Console::WriteLine()
+ IL_008f: ldstr "PASSED"
+ IL_0094: call void [System.Console]System.Console::WriteLine(string)
+ IL_0099: ldc.i4.s 100
+ IL_009b: stloc.3
+ IL_009c: br.s IL_009e
+
+ IL_009e: ldloc.3
+ IL_009f: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Methodical/cctor/simple/precise3_il_d.ilproj b/tests/src/JIT/Methodical/cctor/simple/precise3_il_d.ilproj
new file mode 100644
index 0000000000..74eff0a25b
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/simple/precise3_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="precise3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/cctor/simple/precise3_il_r.ilproj b/tests/src/JIT/Methodical/cctor/simple/precise3_il_r.ilproj
new file mode 100644
index 0000000000..d9343b54ef
--- /dev/null
+++ b/tests/src/JIT/Methodical/cctor/simple/precise3_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="precise3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_d.ilproj b/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_d.ilproj
new file mode 100644
index 0000000000..cc542d3f1c
--- /dev/null
+++ b/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="oddpower.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_r.ilproj b/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_r.ilproj
new file mode 100644
index 0000000000..89c3f489e8
--- /dev/null
+++ b/tests/src/JIT/Methodical/delegate/_simpleoddpower_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="oddpower.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/delegate/app.config b/tests/src/JIT/Methodical/delegate/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/delegate/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/delegate/oddpower.il b/tests/src/JIT/Methodical/delegate/oddpower.il
new file mode 100644
index 0000000000..1b4d358581
--- /dev/null
+++ b/tests/src/JIT/Methodical/delegate/oddpower.il
@@ -0,0 +1,644 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly oddpower {}
+.class interface private abstract auto ansi Power
+{
+ .method public hidebysig newslot abstract virtual
+ instance int32 Power4(int32 a,
+ int32 b) cil managed
+ {
+ }
+
+}
+
+.class private auto ansi beforefieldinit FakePower
+ extends [mscorlib]System.Object
+ implements Power
+{
+ .method public hidebysig newslot virtual
+ instance int32 Power4(int32 a,
+ int32 b) cil managed
+ {
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: br.s IL_0004
+
+ IL_0004: ldloc.0
+ IL_0005: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi OddPower
+ extends [mscorlib]System.Object
+ implements Power
+{
+ .class auto ansi sealed nested private MyDeleg1a
+ extends [mscorlib]System.MulticastDelegate
+ {
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Invoke() runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance class [mscorlib]System.IAsyncResult
+ BeginInvoke(class [mscorlib]System.AsyncCallback callback,
+ object 'object') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance void EndInvoke(class [mscorlib]System.IAsyncResult result) runtime managed
+ {
+ }
+
+ }
+
+ .class auto ansi sealed nested private MyDeleg1b
+ extends [mscorlib]System.MulticastDelegate
+ {
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance void Invoke(int32 a) runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance class [mscorlib]System.IAsyncResult
+ BeginInvoke(int32 a,
+ class [mscorlib]System.AsyncCallback callback,
+ object 'object') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance void EndInvoke(class [mscorlib]System.IAsyncResult result) runtime managed
+ {
+ }
+
+ }
+
+ .class auto ansi sealed nested private MyDeleg2
+ extends [mscorlib]System.MulticastDelegate
+ {
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Invoke(int32 a,
+ int32 b) runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance class [mscorlib]System.IAsyncResult
+ BeginInvoke(int32 a,
+ int32 b,
+ class [mscorlib]System.AsyncCallback callback,
+ object 'object') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 EndInvoke(class [mscorlib]System.IAsyncResult result) runtime managed
+ {
+ }
+
+ }
+
+ .class auto ansi sealed nested private MyDeleg3
+ extends [mscorlib]System.MulticastDelegate
+ {
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object 'object',
+ native int 'method') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Invoke(int32[] a) runtime managed
+ {
+ .param [1]
+ .custom instance void [mscorlib]System.ParamArrayAttribute::.ctor() = ( 01 00 00 00 )
+ }
+
+ .method public hidebysig newslot virtual
+ instance class [mscorlib]System.IAsyncResult
+ BeginInvoke(int32[] a,
+ class [mscorlib]System.AsyncCallback callback,
+ object 'object') runtime managed
+ {
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 EndInvoke(class [mscorlib]System.IAsyncResult result) runtime managed
+ {
+ }
+
+ }
+
+ .field private static int32 x
+ .field public int32 y
+ .field private static class OddPower/MyDeleg1a d1a
+ .field private class OddPower/MyDeleg1b d1b
+ .field private static class OddPower/MyDeleg2 d2a
+ .field private class OddPower/MyDeleg2 d2b
+ .field private static class OddPower/MyDeleg3 d3
+ .field private static class OddPower/MyDeleg2 d4
+ .field private static class OddPower/MyDeleg2 d5
+ .field private static class OddPower/MyDeleg2 d6
+ .field private static class OddPower/MyDeleg3 d7
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldnull
+ IL_0001:
+ ldftn void OddPower::.cctor()
+ IL_0007: newobj instance void OddPower/MyDeleg1a::.ctor(object,
+ native int)
+ IL_000c: stsfld class OddPower/MyDeleg1a OddPower::d1a
+ IL_0011: ldnull
+ IL_0012: ldftn int32 OddPower::Power1(int32,
+ int32)
+ IL_0018: newobj instance void OddPower/MyDeleg2::.ctor(object,
+ native int)
+ IL_001d: stsfld class OddPower/MyDeleg2 OddPower::d2a
+ IL_0022: ldnull
+ IL_0023: ldftn int32 OddPower::Power3(int32[])
+ IL_0029: newobj instance void OddPower/MyDeleg3::.ctor(object,
+ native int)
+ IL_002e: stsfld class OddPower/MyDeleg3 OddPower::d3
+ IL_0033: ldc.i4.2
+ IL_0034: stsfld int32 OddPower::x
+ IL_0039: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(int32 b) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld int32 OddPower::y
+ IL_000d: ret
+ }
+
+ .method public hidebysig static void f1() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.2
+ IL_0001: stsfld int32 OddPower::x
+ IL_0006: ret
+ }
+
+ .method public hidebysig instance void
+ f2(int32 b) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld int32 OddPower::y
+ IL_0007: ret
+ }
+
+ .method public hidebysig static int32 Power1(int32 a,
+ int32 b) cil managed
+ {
+ .maxstack 5
+ .locals init (int32 V_0)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_0007
+
+ IL_0003: ldc.i4.1
+ IL_0004: stloc.0
+ IL_0005: br.s IL_001a
+
+ IL_0007: ldarg.0
+ IL_0008: ldsfld class OddPower/MyDeleg2 OddPower::d2a
+ IL_000d: ldarg.0
+ IL_000e: ldarg.1
+ IL_000f: ldc.i4.1
+ IL_0010: sub
+ IL_0011: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_0016: mul
+ IL_0017: stloc.0
+ IL_0018: br.s IL_001a
+
+ IL_001a: ldloc.0
+ IL_001b: ret
+ }
+
+ .method public hidebysig instance int32
+ Power2(int32 a,
+ int32 b) cil managed
+ {
+ .maxstack 5
+ .locals init (int32 V_0)
+ IL_0000: ldarg.2
+ IL_0001: brtrue.s IL_0007
+
+ IL_0003: ldc.i4.1
+ IL_0004: stloc.0
+ IL_0005: br.s IL_001b
+
+ IL_0007: ldarg.1
+ IL_0008: ldarg.0
+ IL_0009: ldfld class OddPower/MyDeleg2 OddPower::d2b
+ IL_000e: ldarg.1
+ IL_000f: ldarg.2
+ IL_0010: ldc.i4.1
+ IL_0011: sub
+ IL_0012: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_0017: mul
+ IL_0018: stloc.0
+ IL_0019: br.s IL_001b
+
+ IL_001b: ldloc.0
+ IL_001c: ret
+ }
+
+ .method public hidebysig static int32 Power3(int32[] p) cil managed
+ {
+ .param [1]
+ .custom instance void [mscorlib]System.ParamArrayAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 6
+ .locals init (int32 V_0,
+ int32[] V_1)
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4.1
+ IL_0002: ldelem.i4
+ IL_0003: brtrue.s IL_0009
+
+ IL_0005: ldc.i4.1
+ IL_0006: stloc.0
+ IL_0007: br.s IL_0030
+
+ IL_0009: ldarg.0
+ IL_000a: ldc.i4.0
+ IL_000b: ldelem.i4
+ IL_000c: ldsfld class OddPower/MyDeleg3 OddPower::d3
+ IL_0011: ldc.i4.2
+ IL_0012: newarr [mscorlib]System.Int32
+ IL_0017: stloc.1
+ IL_0018: ldloc.1
+ IL_0019: ldc.i4.0
+ IL_001a: ldarg.0
+ IL_001b: ldc.i4.0
+ IL_001c: ldelem.i4
+ IL_001d: stelem.i4
+ IL_001e: ldloc.1
+ IL_001f: ldc.i4.1
+ IL_0020: ldarg.0
+ IL_0021: ldc.i4.1
+ IL_0022: ldelem.i4
+ IL_0023: ldc.i4.1
+ IL_0024: sub
+ IL_0025: stelem.i4
+ IL_0026: ldloc.1
+ IL_0027: callvirt instance int32 OddPower/MyDeleg3::Invoke(int32[])
+ IL_002c: mul
+ IL_002d: stloc.0
+ IL_002e: br.s IL_0030
+
+ IL_0030: ldloc.0
+ IL_0031: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Power4(int32 a,
+ int32 b) cil managed
+ {
+ .maxstack 5
+ .locals init (int32 V_0)
+ IL_0000: ldarg.2
+ IL_0001: brtrue.s IL_0007
+
+ IL_0003: ldc.i4.1
+ IL_0004: stloc.0
+ IL_0005: br.s IL_0016
+
+ IL_0007: ldarg.1
+ IL_0008: ldarg.0
+ IL_0009: ldarg.1
+ IL_000a: ldarg.2
+ IL_000b: ldc.i4.1
+ IL_000c: sub
+ IL_000d: callvirt instance int32 OddPower::Power4(int32,
+ int32)
+ IL_0012: mul
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0016
+
+ IL_0016: ldloc.0
+ IL_0017: ret
+ }
+
+ .method public instance method int32 * () GetMthdPtr1()
+ {
+ ldarg.0
+ ldvirtftn instance int32 OddPower::Power4(int32,int32)
+ ret
+ }
+
+ .method public static method int32 * () GetMthdPtr2()
+ {
+ ldftn int32 OddPower::Power3(int32[])
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (class OddPower V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ class FakePower V_4,
+ int32 V_5,
+ int32 V_6,
+ int32 V_7,
+ int32 V_8,
+ int32 V_9,
+ int32[] V_10)
+ IL_0000: ldc.i4.s 31
+ IL_0002: newobj instance void OddPower::.ctor(int32)
+ IL_0007: stloc.0
+ IL_0008: ldloc.0
+ IL_0009: ldloc.0
+ IL_000a:
+ ldftn instance void OddPower::.ctor(int32)
+ IL_0010: newobj instance void OddPower/MyDeleg1b::.ctor(object,
+ native int)
+ IL_0015: stfld class OddPower/MyDeleg1b OddPower::d1b
+ IL_001a: ldsfld class OddPower/MyDeleg1a OddPower::d1a
+ IL_001f: callvirt instance void OddPower/MyDeleg1a::Invoke()
+ IL_0024: ldloc.0
+ IL_0025: ldfld class OddPower/MyDeleg1b OddPower::d1b
+ IL_002a: ldc.i4.s 31
+ IL_002c: callvirt instance void OddPower/MyDeleg1b::Invoke(int32)
+ IL_0031: ldsfld class OddPower/MyDeleg2 OddPower::d2a
+ IL_0036: ldc.i4.2
+ IL_0037: ldc.i4.s 31
+ IL_0039: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_003e: stloc.1
+ IL_003f: ldloc.1
+ IL_0040: ldc.i4 0x80000000
+ IL_0045: beq.s IL_0073
+
+ IL_0047: ldstr "FAILED"
+ IL_004c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0051: ldstr "d2a(2, 31)!=-2147483648"
+ IL_0056: call void [System.Console]System.Console::WriteLine(string)
+ IL_005b: ldstr "Expected: {0}"
+ IL_0060: ldloc.1
+ IL_0061: box [mscorlib]System.Int32
+ IL_0066: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_006b: ldc.i4.1
+ IL_006c: stloc.s V_9
+ IL_006e: br IL_0299
+
+ IL_0073: ldloc.0
+ IL_0074: ldloc.0
+ IL_0075: ldftn instance int32 OddPower::Power2(int32,
+ int32)
+ IL_007b: newobj instance void OddPower/MyDeleg2::.ctor(object,
+ native int)
+ IL_0080: stfld class OddPower/MyDeleg2 OddPower::d2b
+ IL_0085: ldloc.0
+ IL_0086: ldfld class OddPower/MyDeleg2 OddPower::d2b
+ IL_008b: ldsfld int32 OddPower::x
+ IL_0090: ldloc.0
+ IL_0091: ldfld int32 OddPower::y
+ IL_0096: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_009b: stloc.2
+ IL_009c: ldloc.2
+ IL_009d: ldc.i4 0x80000000
+ IL_00a2: beq.s IL_00d0
+
+ IL_00a4: ldstr "FAILED"
+ IL_00a9: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ae: ldstr "o1.d2b(2, 31)!=-2147483648"
+ IL_00b3: call void [System.Console]System.Console::WriteLine(string)
+ IL_00b8: ldstr "Expected: {0}"
+ IL_00bd: ldloc.2
+ IL_00be: box [mscorlib]System.Int32
+ IL_00c3: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00c8: ldc.i4.2
+ IL_00c9: stloc.s V_9
+ IL_00cb: br IL_0299
+
+ IL_00d0: ldsfld class OddPower/MyDeleg3 OddPower::d3
+ IL_00d5: ldc.i4.2
+ IL_00d6: newarr [mscorlib]System.Int32
+ IL_00db: stloc.s V_10
+ IL_00dd: ldloc.s V_10
+ IL_00df: ldc.i4.0
+ IL_00e0: ldc.i4.2
+ IL_00e1: stelem.i4
+ IL_00e2: ldloc.s V_10
+ IL_00e4: ldc.i4.1
+ IL_00e5: ldc.i4.s 31
+ IL_00e7: stelem.i4
+ IL_00e8: ldloc.s V_10
+ IL_00ea: callvirt instance int32 OddPower/MyDeleg3::Invoke(int32[])
+ IL_00ef: stloc.3
+ IL_00f0: ldloc.3
+ IL_00f1: ldc.i4 0x80000000
+ IL_00f6: beq.s IL_0124
+
+ IL_00f8: ldstr "FAILED"
+ IL_00fd: call void [System.Console]System.Console::WriteLine(string)
+ IL_0102: ldstr "d3(2, 31)!=-2147483648"
+ IL_0107: call void [System.Console]System.Console::WriteLine(string)
+ IL_010c: ldstr "Expected: {0}"
+ IL_0111: ldloc.3
+ IL_0112: box [mscorlib]System.Int32
+ IL_0117: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_011c: ldc.i4.1
+ IL_011d: stloc.s V_9
+ IL_011f: br IL_0299
+
+ IL_0124: newobj instance void FakePower::.ctor()
+ IL_0129: stloc.s V_4
+ IL_012b: ldloc.0
+ IL_012c: dup
+ IL_012d:
+ ldvirtftn instance int32 FakePower::Power4(int32,int32)
+ IL_0133: newobj instance void OddPower/MyDeleg2::.ctor(object,
+ native int)
+ IL_0138: stsfld class OddPower/MyDeleg2 OddPower::d4
+ IL_013d: ldsfld class OddPower/MyDeleg2 OddPower::d4
+ IL_0142: ldc.i4.2
+ IL_0143: ldc.i4.3
+ IL_0144: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_0149: stloc.s V_5
+ IL_014b: ldloc.s V_5
+ IL_014d: ldc.i4.8
+ IL_014e: beq.s IL_017d
+
+ IL_0150: ldstr "FAILED"
+ IL_0155: call void [System.Console]System.Console::WriteLine(string)
+ IL_015a: ldstr "d4(2,3)!=8"
+ IL_015f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0164: ldstr "Expected: {0}"
+ IL_0169: ldloc.s V_5
+ IL_016b: box [mscorlib]System.Int32
+ IL_0170: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0175: ldc.i4.1
+ IL_0176: stloc.s V_9
+ IL_0178: br IL_0299
+
+ IL_017d: ldloc.s V_4
+ IL_017f: dup
+ IL_0180:
+ ldvirtftn instance int32 OddPower::Power4(int32, int32)
+ IL_0186: newobj instance void OddPower/MyDeleg2::.ctor(object,
+ native int)
+ IL_018b: stsfld class OddPower/MyDeleg2 OddPower::d5
+ IL_0190: ldsfld class OddPower/MyDeleg2 OddPower::d5
+ IL_0195: ldc.i4.2
+ IL_0196: ldc.i4.3
+ IL_0197: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_019c: stloc.s V_6
+ IL_019e: ldloc.s V_6
+ IL_01a0: ldc.i4.1
+ IL_01a1: beq.s IL_01d0
+
+ IL_01a3: ldstr "FAILED"
+ IL_01a8: call void [System.Console]System.Console::WriteLine(string)
+ IL_01ad: ldstr "d5(2,3)!=1"
+ IL_01b2: call void [System.Console]System.Console::WriteLine(string)
+ IL_01b7: ldstr "Expected: {0}"
+ IL_01bc: ldloc.s V_6
+ IL_01be: box [mscorlib]System.Int32
+ IL_01c3: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_01c8: ldc.i4.1
+ IL_01c9: stloc.s V_9
+ IL_01cb: br IL_0299
+
+ IL_01d0: ldloc.0
+ IL_01d1: dup
+ IL_01d2:
+ call instance method int32 * () OddPower::GetMthdPtr1()
+ IL_01d8: newobj instance void OddPower/MyDeleg2::.ctor(object,
+ native int)
+ IL_01dd: stsfld class OddPower/MyDeleg2 OddPower::d6
+ IL_01e2: ldsfld class OddPower/MyDeleg2 OddPower::d6
+ IL_01e7: ldc.i4.2
+ IL_01e8: ldc.i4.s 16
+ IL_01ea: callvirt instance int32 OddPower/MyDeleg2::Invoke(int32,
+ int32)
+ IL_01ef: stloc.s V_7
+ IL_01f1: ldloc.s V_7
+ IL_01f3: ldc.i4 0x10000
+ IL_01f8: beq.s IL_0224
+
+ IL_01fa: ldstr "FAILED"
+ IL_01ff: call void [System.Console]System.Console::WriteLine(string)
+ IL_0204: ldstr "d6(2,16)!=65536"
+ IL_0209: call void [System.Console]System.Console::WriteLine(string)
+ IL_020e: ldstr "Expected: {0}"
+ IL_0213: ldloc.s V_7
+ IL_0215: box [mscorlib]System.Int32
+ IL_021a: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_021f: ldc.i4.1
+ IL_0220: stloc.s V_9
+ IL_0222: br.s IL_0299
+
+ IL_0224: ldnull
+ IL_0225:
+ call method int32 * () OddPower::GetMthdPtr2()
+ IL_022b: newobj instance void OddPower/MyDeleg3::.ctor(object,
+ native int)
+ IL_0230: stsfld class OddPower/MyDeleg3 OddPower::d7
+ IL_0235: ldsfld class OddPower/MyDeleg3 OddPower::d7
+ IL_023a: ldc.i4.2
+ IL_023b: newarr [mscorlib]System.Int32
+ IL_0240: stloc.s V_10
+ IL_0242: ldloc.s V_10
+ IL_0244: ldc.i4.0
+ IL_0245: ldc.i4.2
+ IL_0246: stelem.i4
+ IL_0247: ldloc.s V_10
+ IL_0249: ldc.i4.1
+ IL_024a: ldc.i4.s 16
+ IL_024c: stelem.i4
+ IL_024d: ldloc.s V_10
+ IL_024f: callvirt instance int32 OddPower/MyDeleg3::Invoke(int32[])
+ IL_0254: stloc.s V_8
+ IL_0256: ldloc.s V_8
+ IL_0258: ldc.i4 0x10000
+ IL_025d: beq.s IL_0289
+
+ IL_025f: ldstr "FAILED"
+ IL_0264: call void [System.Console]System.Console::WriteLine(string)
+ IL_0269: ldstr "d7(2,16)!=65536"
+ IL_026e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0273: ldstr "Expected: {0}"
+ IL_0278: ldloc.s V_8
+ IL_027a: box [mscorlib]System.Int32
+ IL_027f: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0284: ldc.i4.1
+ IL_0285: stloc.s V_9
+ IL_0287: br.s IL_0299
+
+ IL_0289: ldstr "PASSED"
+ IL_028e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0293: ldc.i4.s 100
+ IL_0295: stloc.s V_9
+ IL_0297: br.s IL_0299
+
+ IL_0299: ldloc.s V_9
+ IL_029b: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/dynamic_methods/project.lock.json b/tests/src/JIT/Methodical/dynamic_methods/project.lock.json
index 3ca2a5b2f9..41365701b1 100644
--- a/tests/src/JIT/Methodical/dynamic_methods/project.lock.json
+++ b/tests/src/JIT/Methodical/dynamic_methods/project.lock.json
@@ -1416,4 +1416,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/eh/basics/app.config b/tests/src/JIT/Methodical/eh/basics/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/eh/basics/app.config
+++ b/tests/src/JIT/Methodical/eh/basics/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/basics/emptyfinally.il b/tests/src/JIT/Methodical/eh/basics/emptyfinally.il
new file mode 100644
index 0000000000..b296987b2f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/emptyfinally.il
@@ -0,0 +1,90 @@
+// empty finally (with only endfinally in it)
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly tryfinally {}
+.module tryfinally.exe
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ ret
+ }
+
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 1
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ call void hello.Class1::inTry()
+ leave.s done
+
+ } finally {
+ endfinally
+ }
+ done:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/basics/emptyfinally_d.ilproj b/tests/src/JIT/Methodical/eh/basics/emptyfinally_d.ilproj
new file mode 100644
index 0000000000..7376a8cac5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/emptyfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="emptyfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/emptyfinally_r.ilproj b/tests/src/JIT/Methodical/eh/basics/emptyfinally_r.ilproj
new file mode 100644
index 0000000000..eeb4eacab6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/emptyfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="emptyfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinexcept.il b/tests/src/JIT/Methodical/eh/basics/throwinexcept.il
new file mode 100644
index 0000000000..b1500872de
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinexcept.il
@@ -0,0 +1,85 @@
+// throw in except
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try, throwing the first obj"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+.try {
+ try_start:
+ ldstr "In try, throwing the first obj"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+
+ filter_begin:
+ pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+ handler_begin:
+ pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ handler_end:
+} catch [mscorlib]System.Exception {
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done2
+}
+
+done2:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinexcept_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinexcept_d.ilproj
new file mode 100644
index 0000000000..3663de5e36
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinexcept_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinexcept_r.ilproj
new file mode 100644
index 0000000000..511a936c80
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfault.il b/tests/src/JIT/Methodical/eh/basics/throwinfault.il
new file mode 100644
index 0000000000..d9a95d8af6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfault.il
@@ -0,0 +1,79 @@
+// throw in fault
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try - catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try - fault"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault, throwing"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try {
+ ldstr "In try - catch"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ ldstr "In try - fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ leave.s done
+
+ }
+ fault
+ {
+ ldstr "In fault, throwing"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ }
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+ done:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfault_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfault_d.ilproj
new file mode 100644
index 0000000000..ff83600941
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfault_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfault_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfault_r.ilproj
new file mode 100644
index 0000000000..32eae807cb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfault_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfilter.il b/tests/src/JIT/Methodical/eh/basics/throwinfilter.il
new file mode 100644
index 0000000000..9d64bfe23f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfilter.il
@@ -0,0 +1,82 @@
+// throw in filter
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try, throwing the first obj"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+.try {
+ try_start:
+ ldstr "In try, throwing the first obj"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+
+ filter_begin:
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ throw
+ ldc.i4.1
+ endfilter
+
+ handler_begin:
+ pop
+ ldstr "In handler, should be unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done2
+
+ handler_end:
+} catch [mscorlib]System.Exception {
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done2
+}
+
+done2:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfilter_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfilter_d.ilproj
new file mode 100644
index 0000000000..25bcbe4f55
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfilter_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfilter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfilter_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfilter_r.ilproj
new file mode 100644
index 0000000000..ceb448ce5a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfilter_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfilter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1.il b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1.il
new file mode 100644
index 0000000000..36f525b54b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1.il
@@ -0,0 +1,130 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_1
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_1: leave.s TRY_0
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_0: leave.s DONE
+ }
+ finally
+ {
+ ldstr "in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ DONE: ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_d.ilproj
new file mode 100644
index 0000000000..f511012e44
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_r.ilproj
new file mode 100644
index 0000000000..38e2de5bd6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter1_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2.il b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2.il
new file mode 100644
index 0000000000..ea4aa435f2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2.il
@@ -0,0 +1,137 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_1
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_1: leave.s TRY_0
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_0: leave.s DONE
+ }
+ filter
+ {
+ pop
+ ldstr "in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr "in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ DONE: ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_d.ilproj
new file mode 100644
index 0000000000..2ac3a22c77
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_r.ilproj
new file mode 100644
index 0000000000..c71efedc41
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter2_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3.il b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3.il
new file mode 100644
index 0000000000..63911d01a5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3.il
@@ -0,0 +1,159 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_2: leave.s TRY_1
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_1: leave.s TRY_0
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_0: leave.s DONE
+ }
+ filter
+ {
+ pop
+ ldstr "in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr "in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ DONE: ret
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_d.ilproj
new file mode 100644
index 0000000000..af02ac8592
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_r.ilproj
new file mode 100644
index 0000000000..4965274ce1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwinfinallyintryfilter3_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction.il b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction.il
new file mode 100644
index 0000000000..9ad147eebd
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction.il
@@ -0,0 +1,71 @@
+// throw first instruction in catch block - NDPWhidbey 10777
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module throw.exe
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "after try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog test::testLog
+ ret
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave IL_end
+ }
+
+ catch [mscorlib]System.Exception
+ {
+ throw
+ }
+
+
+ IL_end:
+ ldstr "after try"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+} \ No newline at end of file
diff --git a/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_d.ilproj b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_d.ilproj
new file mode 100644
index 0000000000..7258d8b320
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwisfirstinstruction.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_r.ilproj b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_r.ilproj
new file mode 100644
index 0000000000..5715d5a933
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/throwisfirstinstruction_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwisfirstinstruction.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryexcept.il b/tests/src/JIT/Methodical/eh/basics/tryexcept.il
new file mode 100644
index 0000000000..37f91744c7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryexcept.il
@@ -0,0 +1,64 @@
+// basic SEH, non error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+try_start: ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+
+filter_begin: pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin: pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+
+ done:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ .try try_start to filter_begin filter filter_begin handler handler_begin to done
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/tryexcept_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryexcept_d.ilproj
new file mode 100644
index 0000000000..241fc8eee0
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryexcept_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryexcept_r.ilproj
new file mode 100644
index 0000000000..f7116a9e4d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfault.il b/tests/src/JIT/Methodical/eh/basics/tryfault.il
new file mode 100644
index 0000000000..d5dfb37005
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfault.il
@@ -0,0 +1,57 @@
+// try fault, non error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+
+ done:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfault_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfault_d.ilproj
new file mode 100644
index 0000000000..542bc8d013
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfault_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfault_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfault_r.ilproj
new file mode 100644
index 0000000000..a9c03d622f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfault_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch.il b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch.il
new file mode 100644
index 0000000000..64251323e2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch.il
@@ -0,0 +1,77 @@
+// try fault, error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try - catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try - fault"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try {
+ ldstr "In try - catch"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ ldstr "In try - fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ leave.s done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_d.ilproj
new file mode 100644
index 0000000000..2587644df5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfaulttrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_r.ilproj
new file mode 100644
index 0000000000..864994262d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfaulttrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn.il b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn.il
new file mode 100644
index 0000000000..025e43d0f4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn.il
@@ -0,0 +1,89 @@
+// try fault, error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static void middle() {
+ .maxstack 1
+
+ .try
+ {
+ ldstr "In try - fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ leave.s done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+done:
+ ret
+}
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try - catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try - fault"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try {
+ ldstr "In try - catch"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ call void middle()
+ leave.s done
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_d.ilproj
new file mode 100644
index 0000000000..816b213c48
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfaulttrycatchfn.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_r.ilproj
new file mode 100644
index 0000000000..e6fdc07a8a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfaulttrycatchfn_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfaulttrycatchfn.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally.il b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally.il
new file mode 100644
index 0000000000..9e54cb2cea
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally.il
@@ -0,0 +1,86 @@
+// a finally with 2 endfinallys (1 unreachable)
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly tryfinally {}
+.module tryfinally.exe
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 1
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_0017
+
+ }
+ finally
+ {
+ ldstr "in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ ldstr "ack!"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ IL_0017:
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_d.ilproj
new file mode 100644
index 0000000000..a3ff7b608b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallywith2endfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_r.ilproj
new file mode 100644
index 0000000000..774eff96bb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2endfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallywith2endfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally.il b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally.il
new file mode 100644
index 0000000000..e7c96e60c4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally.il
@@ -0,0 +1,107 @@
+// endfinally
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly tryfinally {}
+.module tryfinally.exe
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in first finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in second finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 V_0)
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4.0
+ stloc.0
+again:
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s aftertry
+
+ }
+ finally
+ {
+ ldloc.0
+ brfalse.s firstfinally
+ br.s secondfinally
+ firstfinally:
+ ldstr "in first finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ secondfinally:
+ ldstr "in second finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ aftertry:
+ ldloc.0
+ brtrue.s done
+ ldc.i4.1
+ stloc.0
+ br.s again
+
+ done:
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_d.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_d.ilproj
new file mode 100644
index 0000000000..f00c4eda25
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallywith2reachableendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_r.ilproj b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_r.ilproj
new file mode 100644
index 0000000000..a302d0f19b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/tryfinallywith2reachableendfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallywith2reachableendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/trythrowexcept.il b/tests/src/JIT/Methodical/eh/basics/trythrowexcept.il
new file mode 100644
index 0000000000..e72d7b2910
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/trythrowexcept.il
@@ -0,0 +1,80 @@
+// basic SEH, error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module test.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(object)
+ ldloc.s expectedOut
+ ldstr "#IGNORE#main()#IGNORE#"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+try_start:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ leave.s done
+
+filter_begin:
+ call void [System.Console]System.Console::WriteLine(object)
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin: pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+
+ done:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ .try try_start to filter_begin filter filter_begin handler handler_begin to done
+}
diff --git a/tests/src/JIT/Methodical/eh/basics/trythrowexcept_d.ilproj b/tests/src/JIT/Methodical/eh/basics/trythrowexcept_d.ilproj
new file mode 100644
index 0000000000..9f7cbfb56a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/trythrowexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trythrowexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/basics/trythrowexcept_r.ilproj b/tests/src/JIT/Methodical/eh/basics/trythrowexcept_r.ilproj
new file mode 100644
index 0000000000..de854bf9f8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/basics/trythrowexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trythrowexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch.il
new file mode 100644
index 0000000000..bc9e79be0b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch.il
@@ -0,0 +1,86 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module badcodeaftercatch.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ try_begin:
+ ldstr "pass"
+ stloc.0
+ leave try_end
+ try_end:
+
+ ldloc.0
+ br done
+
+ catch_begin:
+ throw
+ catch_end:
+
+ br unreachable
+
+ done:
+ ret
+
+ unreachable:
+ ret
+ br unreachable
+
+ .try try_begin to try_end
+ catch [mscorlib]System.Exception handler catch_begin to catch_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_d.ilproj
new file mode 100644
index 0000000000..c785f79483
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeaftercatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_r.ilproj
new file mode 100644
index 0000000000..98dc03d3b0
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftercatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeaftercatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault.il
new file mode 100644
index 0000000000..564940ebf2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault.il
@@ -0,0 +1,82 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module baddcodeafterfault.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ try_begin:
+ ldstr "pass"
+ stloc.0
+ leave try_end
+ try_end:
+
+ ldloc.0
+ ret
+
+ fault_begin:
+ ldloc.0
+ throw
+ endfault
+ fault_end:
+
+ ldc.i4.0
+ ret
+
+ .try try_begin to try_end
+ fault handler fault_begin to fault_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_d.ilproj
new file mode 100644
index 0000000000..b34776edf5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_r.ilproj
new file mode 100644
index 0000000000..a5b5068e84
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfault_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter.il
new file mode 100644
index 0000000000..d5cbeb17c6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter.il
@@ -0,0 +1,85 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module badcodeafterfilter.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ try_begin:
+ ldstr "pass"
+ stloc.0
+ leave try_end
+ try_end:
+
+ ldloc.0
+ ret
+
+ filter_begin:
+ throw
+ ldc.i4.1
+ endfilter
+
+ handler_begin:
+ leave try_end
+ handler_end:
+
+ ldnull
+ ret
+
+ .try try_begin to try_end
+ filter filter_begin handler handler_begin to handler_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_d.ilproj
new file mode 100644
index 0000000000..9fff012ffa
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfilter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_r.ilproj
new file mode 100644
index 0000000000..75bcce5ada
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfilter_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfilter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally.il
new file mode 100644
index 0000000000..d9167886e8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally.il
@@ -0,0 +1,91 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module badcodeafterfinally.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ try_begin:
+ try_inner_begin:
+ ldstr "pass"
+ stloc.0
+ leave done
+ try_inner_end:
+
+ finally_inner_begin:
+ ldnull
+ throw
+ endfinally
+ finally_inner_end:
+
+ br finally_inner_begin
+ try_end:
+
+ catch_begin:
+ pop
+ leave catch_end
+ catch_end:
+
+ done:
+ ldloc.0
+ ret
+
+ .try try_inner_begin to try_inner_end
+ finally handler finally_inner_begin to finally_inner_end
+ .try try_begin to try_end
+ catch [mscorlib]System.Exception handler catch_begin to catch_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj
new file mode 100644
index 0000000000..0ea14a803a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj
new file mode 100644
index 0000000000..1d68b0b775
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeafterfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry.il
new file mode 100644
index 0000000000..3968216f93
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry.il
@@ -0,0 +1,82 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module badcodeaftertry.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ br try_begin
+
+ catch_begin:
+ leave catch_end
+ catch_end:
+
+ try_begin:
+ ldstr "pass"
+ stloc.0
+ leave done
+ try_end:
+
+ ldloc.1
+
+ done:
+ ldloc.0
+ ret
+
+ .try try_begin to try_end
+ catch [mscorlib]System.Exception handler catch_begin to catch_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_d.ilproj
new file mode 100644
index 0000000000..e5f18598ca
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeaftertry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_r.ilproj
new file mode 100644
index 0000000000..5085e12b1a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeaftertry_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeaftertry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally.il b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally.il
new file mode 100644
index 0000000000..031a4c64b6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally.il
@@ -0,0 +1,98 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module badcodeinsidefinally.exe
+
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+
+ .method static object GetObj() cil managed
+ {
+ .locals init (string str)
+
+ try_l0_begin:
+ try_l1_begin:
+ ldstr "pass"
+ stloc.0
+ leave done
+ try_l1_end:
+
+ finally_l1_begin:
+ try_l2_begin:
+ ldnull
+ throw
+ try_l2_end:
+ catch_l2_begin:
+ throw
+ catch_l2_end:
+ pop
+ endfinally
+ finally_l1_end:
+
+ try_l0_end:
+
+ catch_l0_begin:
+ pop
+ leave catch_l0_end
+ catch_l0_end:
+
+ done:
+ ldloc.0
+ ret
+
+ .try try_l2_begin to try_l2_end
+ catch [mscorlib]System.Exception handler catch_l2_begin to catch_l2_end
+ .try try_l1_begin to try_l1_end
+ finally handler finally_l1_begin to finally_l1_end
+ .try try_l0_begin to try_l0_end
+ catch [mscorlib]System.Exception handler catch_l0_begin to catch_l0_end
+ }
+
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (object V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "pass"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call object Test::GetObj()
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_d.ilproj
new file mode 100644
index 0000000000..afbc1b80c7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeinsidefinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_r.ilproj
new file mode 100644
index 0000000000..4aa3bbf92a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/badcodeinsidefinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="badcodeinsidefinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally.il b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally.il
new file mode 100644
index 0000000000..4e3635f277
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally.il
@@ -0,0 +1,94 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly badtest {}
+
+.class private auto ansi beforefieldinit foo
+ extends [mscorlib]System.Object
+{
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Good! - Getting closer"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog foo::testLog
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+
+ ldsfld class [common]TestUtil.TestLog foo::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ IL_0000: ldstr "In try..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: leave.s IL_0031
+
+ }
+ finally
+ {
+ IL_000c: ldstr "In finally..."
+ IL_0011: call void [System.Console]System.Console::WriteLine(string)
+ IL_0016: br IL_001c
+
+ IL_001b: endfinally
+
+ IL_001c: ldstr "Good! - Getting closer"
+ IL_0021: call void [System.Console]System.Console::WriteLine(string)
+ IL_0026: endfinally
+ }
+
+ IL_0027: ldstr "Unreached!!!"
+ IL_002c: call void [System.Console]System.Console::WriteLine(string)
+
+ IL_0031: ldstr "Done!"
+ IL_0036: call void [System.Console]System.Console::WriteLine(string)
+ IL_0039:
+
+ ldsfld class [common]TestUtil.TestLog foo::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog foo::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ IL_003b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_d.ilproj
new file mode 100644
index 0000000000..82e1f2d102
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoverendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_r.ilproj
new file mode 100644
index 0000000000..bf33b14395
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/branchoverendfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoverendfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit.il b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit.il
new file mode 100644
index 0000000000..5341c5eded
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit.il
@@ -0,0 +1,90 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog)
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ leave.s done
+
+ x:
+ br.s x
+
+ leave.s done
+
+ leave.s done
+ leave.s done
+ leave.s done
+ leave.s done
+ leave.s done
+
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave done
+ } finally {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ }
+
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+
+ done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_d.ilproj
new file mode 100644
index 0000000000..738df77cc6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadnonlocalexit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_r.ilproj
new file mode 100644
index 0000000000..3d080e0a98
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadnonlocalexit_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadnonlocalexit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet.il b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet.il
new file mode 100644
index 0000000000..e5577b2abf
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet.il
@@ -0,0 +1,177 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3300:0
+}
+.assembly extern common{}
+.assembly oponerror
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module oponerror.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "1234"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "test2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1234"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ ret
+ }
+ }
+
+}
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ string V_1,
+ int32 V_2)
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ IL_0000: ldc.i4 1234
+ IL_0002: stloc.0
+ IL_0003: ldloc.0
+ IL_0004: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0009: br.s IL_0011
+
+ IL_000b: ldstr "test1"
+ IL_0010: stloc.1
+ IL_0011: ldstr "test2"
+ IL_0016: stloc.1
+ .try
+ {
+ IL_0017: ldloc.1
+ IL_0018: call void [System.Console]System.Console::WriteLine(string)
+ IL_001d: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0022: throw
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0023: pop
+ leave.s IL_0066
+
+ .try
+ {
+ IL_0024: ldloc.0
+ IL_0025: ldc.i4.3
+ IL_0026: bne.un.s IL_002a
+
+ IL_0028: leave.s IL_0017
+
+ IL_002a: ldloc.0
+ IL_002b: ldc.i4.0
+ IL_002c: blt.s IL_0030
+
+ IL_002e: leave.s IL_0054
+
+ IL_0030: ldloc.0
+ IL_0031: ldc.i4.0
+ IL_0032: bge.s IL_0036
+
+ IL_0034: leave.s IL_000b
+
+ IL_0036: leave.s IL_004a
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0038: pop
+ IL_0039: ldloc.0
+ IL_003a: brfalse.s IL_003e
+
+ IL_003c: leave.s IL_0054
+
+ IL_003e: ldstr "end inner catch"
+ IL_0043: call void [System.Console]System.Console::WriteLine(string)
+ IL_0048: leave.s IL_004a
+
+ }
+ IL_004a: ldstr "unreached"
+ IL_004f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0054: ldstr "end outer catch "
+ IL_0059: ldloc.1
+ IL_005a: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_005f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0064: leave.s IL_0066
+
+ }
+ IL_0066: ldloc.0
+ IL_0067: stloc.2
+ IL_0068: br.s IL_006a
+
+ IL_006a: ldloc.2
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ IL_006b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_d.ilproj
new file mode 100644
index 0000000000..8905665cee
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadoponerrorinfunclet.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_r.ilproj
new file mode 100644
index 0000000000..9921c4d7ee
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadoponerrorinfunclet_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadoponerrorinfunclet.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet.il b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet.il
new file mode 100644
index 0000000000..a54c2d453e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet.il
@@ -0,0 +1,121 @@
+// dead region in funclet
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ L:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ leave done
+
+try_start: ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+
+
+filter_begin: pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin: pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+handler_end:
+
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+
+ leave.s done
+ } finally {
+ leave.s L5
+ .try {
+ .try {
+ ldstr "In finally, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ L2:
+ br.s L2
+ } catch [mscorlib]System.Exception {
+ leave.s L4
+ }
+ } finally {
+ endfinally
+ }
+L4:
+ .try {
+ leave.s L5
+ } fault {
+ endfault
+ }
+L5:
+ endfinally
+ }
+ done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_d.ilproj
new file mode 100644
index 0000000000..1c71bf44a8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadrgninfunclet.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_r.ilproj
new file mode 100644
index 0000000000..6ae9876b21
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadrgninfunclet_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadrgninfunclet.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch.il b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch.il
new file mode 100644
index 0000000000..5b8402ea8f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch.il
@@ -0,0 +1,82 @@
+// dead trycatch due to a br
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ dead:
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s dead
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+
+ done:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_d.ilproj
new file mode 100644
index 0000000000..d8950b152e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_r.ilproj
new file mode 100644
index 0000000000..f5c981c00d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtrycatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally.il b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally.il
new file mode 100644
index 0000000000..c131eeaa7c
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally.il
@@ -0,0 +1,77 @@
+// dead try finally due to a br
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ dead:
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s dead
+ }
+ finally
+ {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_d.ilproj
new file mode 100644
index 0000000000..2b94737bf6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_r.ilproj
new file mode 100644
index 0000000000..b0fff2d20b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow.il b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow.il
new file mode 100644
index 0000000000..e6707e86db
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow.il
@@ -0,0 +1,80 @@
+// dead try finally due to a throw.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ dead:
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s dead
+ }
+ finally
+ {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_d.ilproj
new file mode 100644
index 0000000000..601f586de2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtryfinallythrow.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_r.ilproj
new file mode 100644
index 0000000000..20aa78af86
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/deadtryfinallythrow_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="deadtryfinallythrow.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop.il b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop.il
new file mode 100644
index 0000000000..e99e3c5df1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop.il
@@ -0,0 +1,105 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3300:0
+}
+.assembly extern common{}
+
+.assembly badtest
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module badtest.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+.class private auto ansi beforefieldinit foo
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ .try
+ {
+ IL_0000: ldstr "In try..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: leave.s IL_0030
+
+ }
+ finally
+ {
+ IL_000c: ldstr "In finally..."
+ IL_0011: call void [System.Console]System.Console::WriteLine(string)
+ IL_0016: endfinally
+
+ IL_0017: ldstr "unreached!"
+ IL_001c: call void [System.Console]System.Console::WriteLine(string)
+
+ IL_0021: br IL_000c
+
+ }
+
+ IL_0026: ldstr "unreached 2!"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+
+ IL_0030: ldstr "Done!"
+ IL_0035: call void [System.Console]System.Console::WriteLine(string)
+ IL_0039: ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ IL_003a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
+
diff --git a/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_d.ilproj
new file mode 100644
index 0000000000..6172ed74de
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="endfinallyinloop.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_r.ilproj
new file mode 100644
index 0000000000..5c5e982711
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/endfinallyinloop_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="endfinallyinloop.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions.il b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions.il
new file mode 100644
index 0000000000..11e96af2ca
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions.il
@@ -0,0 +1,178 @@
+// the simplest dead EH region that will not also have dead nonlocal exit
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br skip
+
+ .try {
+ L:
+ ldstr "In inner try, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ leave done
+
+try_start: ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+
+
+filter_begin: pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin: pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+handler_end:
+
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+
+ leave.s done
+ } finally {
+ endfinally
+ .try {
+ ldstr "In finally, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ L2:
+ br.s L2
+ } catch [mscorlib]System.Exception {
+ leave.s L3
+ }
+ L3:
+ endfinally
+ }
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+skip:
+ leave.s done
+ } catch [mscorlib]System.Object {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ }
+ done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_d.ilproj
new file mode 100644
index 0000000000..cd9d1fc09f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="severaldeadehregions.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_r.ilproj
new file mode 100644
index 0000000000..2e67372358
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severaldeadehregions_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="severaldeadehregions.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions.il b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions.il
new file mode 100644
index 0000000000..a16f5b5ea5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions.il
@@ -0,0 +1,177 @@
+// the simplest dead EH region that will not also have dead nonlocal exit
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br skip
+
+ .try {
+ L:
+ ldstr "In inner try, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ leave done
+
+try_start: ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+
+
+filter_begin: pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin: pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+handler_end:
+
+ .try try_start to filter_begin filter filter_begin handler handler_begin to handler_end
+
+ leave.s done
+ } finally {
+ endfinally
+ .try {
+ ldstr "In finally, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ L2:
+ br.s L2
+ } catch [mscorlib]System.Exception {
+ leave.s L3
+ }
+ L3:
+ endfinally
+ }
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+
+ .try {
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ } catch [mscorlib]System.Exception {
+ leave.s done
+ }
+
+skip:
+ leave.s done
+ } catch [mscorlib]System.Object {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ }
+ done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_d.ilproj
new file mode 100644
index 0000000000..d980378757
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="severalnesteddeadehregions.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_r.ilproj
new file mode 100644
index 0000000000..bc324e7e74
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/severalnesteddeadehregions_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="severalnesteddeadehregions.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion.il b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion.il
new file mode 100644
index 0000000000..45d77e969d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion.il
@@ -0,0 +1,84 @@
+// the simplest dead EH region that will not also have dead nonlocal exit
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br.s skip
+
+ .try {
+ ldstr "In inner try, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ x:
+ leave.s x
+ } finally {
+ ldstr "In finally, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ }
+
+skip:
+ leave.s done
+ } catch [mscorlib]System.Object {
+ ldstr "In catch, unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ }
+
+done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_d.ilproj b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_d.ilproj
new file mode 100644
index 0000000000..7c8600b302
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="simpledeadehregion.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_r.ilproj b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_r.ilproj
new file mode 100644
index 0000000000..431fec2121
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/deadcode/simpledeadehregion_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="simpledeadehregion.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/app.config b/tests/src/JIT/Methodical/eh/disconnected/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/backwardleave.il b/tests/src/JIT/Methodical/eh/disconnected/backwardleave.il
new file mode 100644
index 0000000000..cfa8d70edb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/backwardleave.il
@@ -0,0 +1,89 @@
+// disconnected catch{} try {}, with a backward leave to go to the unprotected code in between the handler and tryblock
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In the middle"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ end_try1:
+
+ ldstr "In the middle"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+
+ start_handler0:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s end_try1
+ end_handler0:
+
+ } catch [mscorlib]System.Object {
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler0 to end_handler0
+ ldstr "Unreached "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ }
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/backwardleave_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/backwardleave_d.ilproj
new file mode 100644
index 0000000000..c4ae87c4e5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/backwardleave_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="backwardleave.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/backwardleave_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/backwardleave_r.ilproj
new file mode 100644
index 0000000000..40f67b9431
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/backwardleave_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="backwardleave.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody.il b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody.il
new file mode 100644
index 0000000000..3b9d40ad1a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody.il
@@ -0,0 +1,75 @@
+// catch before trybody, error case
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_handler0:
+ ldstr "In handler 0"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler0:
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ end_try1:
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler0 to end_handler0
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_d.ilproj
new file mode 100644
index 0000000000..2b5d0d0bec
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchbeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_r.ilproj
new file mode 100644
index 0000000000..eaadd98cdf
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchbeforetrybody_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchbeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally.il b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally.il
new file mode 100644
index 0000000000..acd7a352c1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally.il
@@ -0,0 +1,88 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.method public static int32 main() cil managed
+{
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, throwing exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ IL_0000: ldc.i4 0xffff63c0
+ IL_0005: stloc.0
+
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ br IL_0017
+
+ IL_000b:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_0031
+
+ IL_0017:
+ ldstr "In try 1, throwing exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+
+ }
+ finally
+ {
+ IL_0027: ldstr "In finally"
+ .try IL_0017 to IL_0027 catch [mscorlib]System.Object handler IL_000b to IL_0017
+ IL_002c: call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ IL_0031:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
+
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_d.ilproj
new file mode 100644
index 0000000000..7745523521
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchtryintryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_r.ilproj
new file mode 100644
index 0000000000..2bb3579972
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/catchtryintryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchtryintryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody.il b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody.il
new file mode 100644
index 0000000000..224f52795b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody.il
@@ -0,0 +1,68 @@
+// fault before trybody
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_fault:
+ ldstr "In fault -- unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfault
+ end_fault:
+
+ start_try1:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_try1:
+
+ .try start_try1 to end_try1
+ fault handler start_fault to end_fault
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_d.ilproj
new file mode 100644
index 0000000000..6b5ec73941
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="faultbeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_r.ilproj
new file mode 100644
index 0000000000..b11d9dd45b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/faultbeforetrybody_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="faultbeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody.il b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody.il
new file mode 100644
index 0000000000..a68904751b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody.il
@@ -0,0 +1,73 @@
+// finally before try body
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_finally:
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ end_finally:
+
+ start_try1:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_try1:
+
+ .try start_try1 to end_try1
+ finally handler start_finally to end_finally
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_d.ilproj
new file mode 100644
index 0000000000..2ee3fbd687
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="finallybeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_r.ilproj
new file mode 100644
index 0000000000..b8ec3f7b93
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallybeforetrybody_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="finallybeforetrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally.il b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally.il
new file mode 100644
index 0000000000..e2479599b5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally.il
@@ -0,0 +1,87 @@
+// finally/try in try/finally
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 4
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br start_try1
+
+ start_handler0:
+ ldstr "In finally 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ end_handler0:
+
+ start_try1:
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_try1:
+
+ } finally {
+ .try start_try1 to end_try1
+ finally handler start_handler0 to end_handler0
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_d.ilproj
new file mode 100644
index 0000000000..51fa736be1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="finallytryintryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_r.ilproj
new file mode 100644
index 0000000000..630d6cf211
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/finallytryintryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="finallytryintryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers.il b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers.il
new file mode 100644
index 0000000000..5d173308a3
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers.il
@@ -0,0 +1,101 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 2 (correct)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.NullReferenceException::.ctor()
+ throw
+ end_try1:
+
+ start_handler0:
+ ldstr "In handler 0"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler0:
+
+ start_handler1:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler1:
+
+ start_handler1a:
+ ldstr "In handler 1a"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler1a:
+
+ start_handler2:
+ ldstr "In handler 2 (correct)"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler2:
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.NullReferenceException handler start_handler2 to end_handler2
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.SystemException handler start_handler1 to end_handler1
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Exception handler start_handler1a to end_handler1a
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler0 to end_handler0
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_d.ilproj
new file mode 100644
index 0000000000..3069462426
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="reversedhandlers.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_r.ilproj
new file mode 100644
index 0000000000..bcaf595093
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedhandlers_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="reversedhandlers.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock.il b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock.il
new file mode 100644
index 0000000000..dff682899f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock.il
@@ -0,0 +1,95 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.NullReferenceException::.ctor()
+ throw
+ end_try1:
+
+ start_handler1:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done1
+ end_handler1:
+
+ done1:
+ start_try2:
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.NullReferenceException::.ctor()
+ throw
+ end_try2:
+
+ start_handler2:
+ ldstr "In handler 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler2:
+
+ .try start_try2 to end_try2
+ catch [mscorlib]System.NullReferenceException handler start_handler2 to end_handler2
+ .try start_try1 to end_try1
+ catch [mscorlib]System.NullReferenceException handler start_handler1 to end_handler1
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_d.ilproj
new file mode 100644
index 0000000000..834fce6351
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="reversedtryblock.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_r.ilproj
new file mode 100644
index 0000000000..387588f320
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/reversedtryblock_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="reversedtryblock.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry.il b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry.il
new file mode 100644
index 0000000000..6c4d8e79e8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry.il
@@ -0,0 +1,79 @@
+// seh handler before body
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ br.s try_start
+filter_begin:
+ pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+
+handler_begin:
+ pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+handler_end:
+
+try_start: ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ leave.s done
+try_end:
+
+
+done:
+ ldstr "Done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+
+.try try_start to try_end filter filter_begin handler handler_begin to handler_end
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_d.ilproj
new file mode 100644
index 0000000000..e3ef8bd015
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sehhandlerbeforetry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_r.ilproj
new file mode 100644
index 0000000000..2ad2ee9f50
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/sehhandlerbeforetry_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sehhandlerbeforetry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/testeit.il b/tests/src/JIT/Methodical/eh/disconnected/testeit.il
new file mode 100644
index 0000000000..873f47d1f7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/testeit.il
@@ -0,0 +1,113 @@
+// nested disconnected try/catch handlers with unprotected islands in the middle
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init (int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1
+
+ start_handler0:
+ ldstr "In handler 0"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler0:
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br start_try2
+
+ start_handler1:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler1:
+
+ done3:
+ ldstr "In done 3"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+
+ start_handler2:
+ ldc.i4 0xffff63c0
+ leave.s done
+ end_handler2:
+
+
+ done2:
+ ldstr "In done2 "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br done3
+
+
+ start_try2:
+ ldc.i4 0xffff63c0
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s done2
+ end_try2:
+
+ end_try1:
+
+ .try start_try2 to end_try2
+ catch [mscorlib]System.ArithmeticException handler start_handler1 to end_handler1
+ catch [mscorlib]System.NullReferenceException handler start_handler2 to end_handler2
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler0 to end_handler0
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/testeit_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/testeit_d.ilproj
new file mode 100644
index 0000000000..3f6f8c44f7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/testeit_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="testeit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/testeit_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/testeit_r.ilproj
new file mode 100644
index 0000000000..358e518adc
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/testeit_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="testeit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers.il b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers.il
new file mode 100644
index 0000000000..567c23c075
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers.il
@@ -0,0 +1,173 @@
+// trybody in between catch handlers
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler2_2 "
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally2_1 "
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally1a_1 "
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "Done!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+ br start_try1a
+
+
+ start_try1a:
+ br.s start_try1
+
+
+ start_handler1_1:
+ ldstr "In handler 1_1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave done
+ end_handler1_1:
+
+ .try {
+ leave.s start_try1a
+ } finally {
+ endfinally
+ }
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br start_try2a
+
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ loop2:
+ br loop2
+
+ start_finally2_1:
+ ldstr "In finally2_1 "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ end_finally2_1:
+
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+
+ start_try2a:
+ br start_try2
+
+ start_handler2_1:
+ ldstr "In handler 2_1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler2_1:
+
+ done3:
+ ldstr "In done 3"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+
+ start_try2:
+ ldc.i4 0xffff63c0
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s done2
+ leave.s done2
+ end_try2:
+
+ start_handler2_2:
+ pop
+ ldc.i4 0xffff63c0
+ ldstr "In handler2_2 "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ leave.s done2
+ end_handler2_2:
+
+ done2:
+ ldstr "In done2 "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br done3
+
+ end_try2a:
+
+ end_try1:
+
+ end_try1a:
+
+ start_finally1a_1:
+ ldstr "In finally1a_1 "
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ end_finally1a_1:
+
+ .try start_try2 to end_try2
+ catch [mscorlib]System.ArithmeticException handler start_handler2_1 to end_handler2_1
+ catch [mscorlib]System.Exception handler start_handler2_2 to end_handler2_2
+
+ .try start_try2a to end_try2a
+ finally handler start_finally2_1 to end_finally2_1
+
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler1_1 to end_handler1_1
+
+ .try start_try1a to end_try1a
+ finally handler start_finally1a_1 to end_finally1a_1
+
+
+ done:
+ ldstr "Done!"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_d.ilproj
new file mode 100644
index 0000000000..1c141d3bac
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trybodyinbetweencatchhandlers.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_r.ilproj
new file mode 100644
index 0000000000..46520fb321
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/trybodyinbetweencatchhandlers_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trybodyinbetweencatchhandlers.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry.il b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry.il
new file mode 100644
index 0000000000..1521c7f991
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry.il
@@ -0,0 +1,103 @@
+// try/finally in catch/try
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common {}
+.assembly test
+{
+ .ver 0:0:0:0
+}
+.module test.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 400
+ .locals init ( int32 V_0,
+ int32 V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In outer try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, throwing exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In outer finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0xffff63c0
+ stloc.0
+
+ .try {
+ ldstr "In outer try"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ br.s start_try1
+
+ start_handler0:
+ ldstr "In handler 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ leave.s done
+ end_handler0:
+
+ start_try1:
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ .try {
+ ldstr "In try 2, throwing exception"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } finally {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ }
+ end_try1:
+
+ } finally {
+ .try start_try1 to end_try1
+ catch [mscorlib]System.Object handler start_handler0 to end_handler0
+ ldstr "In outer finally"
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_d.ilproj b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_d.ilproj
new file mode 100644
index 0000000000..74f0cf7201
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallyincatchtry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_r.ilproj b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_r.ilproj
new file mode 100644
index 0000000000..bda1832dd8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/disconnected/tryfinallyincatchtry_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallyincatchtry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/app.config b/tests/src/JIT/Methodical/eh/finallyexec/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/eh/finallyexec/app.config
+++ b/tests/src/JIT/Methodical/eh/finallyexec/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry.il b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry.il
new file mode 100644
index 0000000000..c08a977b83
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry.il
@@ -0,0 +1,147 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+ .assembly extern mscorlib
+ {
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:3300:0
+ }
+ .assembly extern common{}
+ .assembly catchrettoinnertry
+ {
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+ }
+ .module catchrettoinnertry.exe
+ .imagebase 0x00400000
+ .subsystem 0x00000003
+ .file alignment 512
+ .corflags 0x00000001
+ .namespace strswitch
+ {
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ }
+
+ }
+
+
+
+
+
+
+
+
+
+ .namespace strswitch
+ {
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "Caught an exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "bye"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In outer finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog strswitch.Class1::testLog
+ ret
+ }
+ .method private hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+
+ ldsfld class [common]TestUtil.TestLog strswitch.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .locals init (int32 V_0,
+ class [mscorlib]System.Exception V_1,
+ int32 V_2)
+ ldc.i4.3
+ stloc.0
+ .try
+ {
+ .try
+ {
+ branch_0002: ldloc.0
+ ldc.i4.3
+ bne.un.s branch_000c
+
+ newobj instance void [mscorlib]System.IndexOutOfRangeException::.ctor()
+ throw
+
+ branch_000c: ldloc.0
+ ldc.i4.4
+ bne.un.s branch_001a
+
+ ldstr "bye"
+ call void [System.Console]System.Console::WriteLine(string)
+ branch_001a: leave.s branch_002d
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ stloc.1
+ ldstr "Caught an exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ leave.s branch_0002
+
+ }
+ branch_002d: leave.s branch_003a
+
+ }
+ finally
+ {
+ ldstr "In outer finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ branch_003a:
+ ldsfld class [common]TestUtil.TestLog strswitch.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog strswitch.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+
+ }
+
+
+
+ }
+
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_d.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_d.ilproj
new file mode 100644
index 0000000000..9e240c6cbd
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchrettoinnertry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_r.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_r.ilproj
new file mode 100644
index 0000000000..0e25816b53
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/catchrettoinnertry_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchrettoinnertry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall.il b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall.il
new file mode 100644
index 0000000000..8f9d1c8fe8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall.il
@@ -0,0 +1,150 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly extern common{}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in try2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in try3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in try3 catch handler"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "PASSED"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog EHTest::testLog
+ ret
+ }
+
+ .method public static void f2() cil managed synchronized
+ {
+ .maxstack 500
+ .locals init (int32 V_0)
+ .try {
+ ldstr "in try1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave OUT0
+
+ } finally {
+ ldstr "in finally1"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try {
+ ldstr "in try2"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ leave finally1_out
+
+ } finally {
+
+ .try {
+ ldstr "in try3"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ newobj instance void [mscorlib]System.InvalidProgramException::.ctor()
+ throw
+ } catch [mscorlib]System.InvalidProgramException {
+
+ nop
+ ldstr "in try3 catch handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s catch1_out
+
+ TARGET_5_0:
+ ldc.i4.8
+ stloc.0
+ ldc.i4.1
+ ldloca V_0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ blt.un TARGET_5_2
+ TARGET_5_1:
+ ldc.i4.8
+ ldc.i4.8
+ ldc.i4 17
+ shl
+ bgt TARGET_5_0
+ TARGET_5_2:
+ ldc.i4.8
+ box int32
+ unbox int32
+ ldind.i4
+ ldc.i4.8
+ box int32
+ unbox int32
+ ldind.i4
+ bne.un TARGET_5_0
+ leave catch1_out
+ catch1_out:
+
+ leave finally2_out
+ }
+ finally2_out:
+ endfinally
+ }
+ end_finally2:
+
+
+ finally1_out:
+ endfinally
+ }
+
+ OUT: ret
+ OUT0:
+ leave OUT
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+
+ ldsfld class [common]TestUtil.TestLog EHTest::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ call void EHTest::f2()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldsfld class [common]TestUtil.TestLog EHTest::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog EHTest::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+}
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_d.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_d.ilproj
new file mode 100644
index 0000000000..09b52da2b5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedfinallycall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_r.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_r.ilproj
new file mode 100644
index 0000000000..8afacdd18d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nestedfinallycall_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedfinallycall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling.il b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling.il
new file mode 100644
index 0000000000..32ca890d89
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling.il
@@ -0,0 +1,211 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+ .assembly extern mscorlib {}
+ .assembly extern common{}
+ .assembly test {}
+
+
+ .namespace hello
+ {
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 4
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception: "
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string, string)
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "HelpLink changed into: test"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In Finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (int32 V_0,
+ class [mscorlib]System.ArithmeticException V_1,
+ class [mscorlib]System.MissingMemberException V_2,
+ class [mscorlib]System.ArithmeticException V_3,
+ string V_4,
+ int32 V_5)
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0x4d2
+ stloc.0
+ ldnull
+ stloc.1
+ .try
+ {
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+
+ }
+ catch [mscorlib]System.MissingMemberException
+ {
+ stloc.2
+ ldstr "Unreached "
+ ldloc.2
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string, string)
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s branch_0068
+
+ }
+ catch [mscorlib]System.ArithmeticException
+ {
+ stloc.3
+ ldstr "caught an exception: "
+ ldloc.3
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string, string)
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.3
+ ldstr "test"
+ callvirt instance void [mscorlib]System.Exception::set_HelpLink(string)
+ ldstr "HelpLink changed into: "
+ ldloc.3
+ callvirt instance string [mscorlib]System.Exception::get_HelpLink()
+ call string [mscorlib]System.String::Concat(string,
+ string)
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s branch_007f
+
+ }
+ branch_0068: leave.s branch_0075
+
+ }
+ finally
+ {
+ ldstr "In Finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ branch_0075: ldstr "In between try -- unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ .try
+ {
+ .try
+ {
+ .try
+ {
+ branch_007f: ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s branch_0098
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s branch_0098
+
+ }
+ branch_0098: leave.s branch_00ad
+
+ }
+ fault
+ {
+ ldstr "In fault 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.1
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ stloc.s V_4
+ endfinally
+ }
+ branch_00ad: leave.s branch_00bc
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ pop
+ ldstr "caught an exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ stloc.1
+
+ leave.s branch_007f
+
+ }
+
+ branch_00bc: leave.s branch_00c9
+
+ }
+ finally
+ {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ branch_done:
+ branch_00c9: ldloc.0
+ stloc.s V_5
+ br.s branch_00ce
+
+ branch_00ce:
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog hello.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+
+ }
+
+
+
+ }
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_d.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_d.ilproj
new file mode 100644
index 0000000000..c62deb0008
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexittonestedsibling.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_r.ilproj b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_r.ilproj
new file mode 100644
index 0000000000..8f33fec342
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/finallyexec/nonlocalexittonestedsibling_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexittonestedsibling.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw1dimarray.il b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray.il
new file mode 100644
index 0000000000..db2262f55a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray.il
@@ -0,0 +1,302 @@
+// throw a 1 dimensional array, and then print the array
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern System.Windows.Forms
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+
+.assembly Except
+{
+ .ver 0:0:0:0
+}
+.module Except.EXE
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+.class private auto ansi beforefieldinit App
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+
+ .maxstack 4
+ .locals init ([0] int32[] a2,
+ [1] int32 i,
+ [2] int32 j,
+ [3] int32 i,
+ [4] int32 i,
+ [5] int32 i,
+ [6] int32[] b,
+ [7] int32[] V_7,
+ [8] object o,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally (outer)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ IL_0000: ldnull
+ IL_0001: stloc.0
+ IL_0002: ldnull
+ IL_0003: stloc.s b
+ IL_0005: ldnull
+ IL_0006: stloc.s o
+ IL_0008: ldc.i4.3
+ IL_0009: newarr [mscorlib]System.Int32
+ IL_000e: stloc.s V_7
+ IL_0010: ldloc.s V_7
+ IL_0012: call instance void [mscorlib]System.Array::Initialize()
+ IL_0017: ldloc.s V_7
+ IL_0019: stloc.0
+ IL_001a: ldloc.0
+ IL_001b: ldc.i4.0
+ IL_001c: ldc.i4.1
+ IL_001d: stelem.i4
+ IL_001e: ldloc.0
+ IL_001f: ldc.i4.1
+ IL_0020: ldc.i4.2
+ IL_0021: stelem.i4
+ IL_0022: ldloc.0
+ IL_0023: ldc.i4.2
+ IL_0024: ldc.i4.3
+ IL_0025: stelem.i4
+ IL_0026: ldloc.0
+ IL_0027: call instance int32 [mscorlib]System.Array::get_Rank()
+ IL_002c: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0031: ldloc.0
+ IL_0032: ldlen
+ IL_0033: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0038: ldc.i4.0
+ IL_0039: stloc.s i
+ IL_003b: br.s IL_0043
+ IL_003d: ldloc.s i
+ IL_003f: ldc.i4.1
+ IL_0040: add
+ IL_0041: stloc.s i
+ IL_0043: ldloc.s i
+ IL_0045: ldc.i4.s 10
+ IL_0047: bge IL_00fc
+ IL_004c: ldloc.s i
+ IL_004e: brfalse.s IL_0055
+ IL_0050: br IL_00f7
+ .try
+ {
+ .try
+ {
+ .try
+ {
+ IL_0055: ldc.i4.0
+ IL_0056: stloc.s i
+ IL_0058: br.s IL_0060
+ IL_005a: ldloc.s i
+ IL_005c: ldc.i4.1
+ IL_005d: add
+ IL_005e: stloc.s i
+ IL_0060: ldloc.s i
+ IL_0062: ldloc.0
+ IL_0063: ldlen
+ IL_0064: bge.s IL_0071
+ IL_0066: ldloc.0
+ IL_0067: ldloc.s i
+ IL_0069: ldelem.i4
+ IL_006a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_006f: br.s IL_005a
+ IL_0071: ldloc.0
+ IL_0072: throw
+ IL_0073: leave.s IL_009c
+ }
+ finally
+ {
+ IL_0075: ldstr "In finally"
+ IL_007f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0084: ldc.i4.0
+ IL_0085: stloc.3
+ IL_0086: br.s IL_008c
+ IL_0088: ldloc.3
+ IL_0089: ldc.i4.1
+ IL_008a: add
+ IL_008b: stloc.3
+ IL_008c: ldloc.3
+ IL_008d: ldloc.0
+ IL_008e: ldlen
+ IL_008f: bge.s IL_009b
+ IL_0091: ldloc.0
+ IL_0092: ldloc.3
+ IL_0093: ldelem.i4
+ IL_0094: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0099: br.s IL_0088
+ IL_009b: endfinally
+ }
+ IL_009c: leave.s IL_00ce
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_009e: stloc.s o
+ IL_00a5: ldstr "In catch"
+ IL_00aa: call void [System.Console]System.Console::WriteLine(string)
+ IL_00af: ldloc.s o
+ IL_00b1: stloc.s b
+ IL_00b3: ldc.i4.0
+ IL_00b4: stloc.2
+ IL_00b5: br.s IL_00bb
+ IL_00b7: ldloc.2
+ IL_00b8: ldc.i4.1
+ IL_00b9: add
+ IL_00ba: stloc.2
+ IL_00bb: ldloc.2
+ IL_00bc: ldloc.s b
+ IL_00be: ldlen
+ IL_00bf: bge.s IL_00cc
+ IL_00c1: ldloc.s b
+ IL_00c3: ldloc.2
+ IL_00c4: ldelem.i4
+ IL_00c5: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00ca: br.s IL_00b7
+ IL_00cc: leave.s IL_00ce
+ }
+ IL_00ce: leave.s IL_00f7
+ }
+ finally
+ {
+ IL_00d5: ldstr "In finally (outer)"
+ IL_00da: call void [System.Console]System.Console::WriteLine(string)
+ IL_00df: ldc.i4.0
+ IL_00e0: stloc.1
+ IL_00e1: br.s IL_00e7
+ IL_00e3: ldloc.1
+ IL_00e4: ldc.i4.1
+ IL_00e5: add
+ IL_00e6: stloc.1
+ IL_00e7: ldloc.1
+ IL_00e8: ldloc.0
+ IL_00e9: ldlen
+ IL_00ea: bge.s IL_00f6
+ IL_00ec: ldloc.0
+ IL_00ed: ldloc.1
+ IL_00ee: ldelem.i4
+ IL_00ef: call void [System.Console]System.Console::WriteLine(int32)
+ IL_00f4: br.s IL_00e3
+ IL_00f6: endfinally
+ }
+ IL_00f7: br IL_003d
+ IL_00fc:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ IL_00fd: ret
+
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyException
+ extends [mscorlib]System.ApplicationException
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(string msg) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: call instance void [mscorlib]System.ApplicationException::.ctor(string)
+ IL_0007: ldarg.0
+ IL_0008: ldstr "http://NotARealURL.Microsoft.com/help.html"
+ IL_000d: callvirt instance void [mscorlib]System.Exception::set_HelpLink(string)
+ IL_0012: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_d.ilproj b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_d.ilproj
new file mode 100644
index 0000000000..d25c475428
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throw1dimarray.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_r.ilproj b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_r.ilproj
new file mode 100644
index 0000000000..026a959fd8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw1dimarray_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throw1dimarray.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw2dimarray.il b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray.il
new file mode 100644
index 0000000000..1eeea3164a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray.il
@@ -0,0 +1,408 @@
+// throw a 2 dimensional array, and then print the array
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly extern common{}
+.assembly extern System.Windows.Forms
+{
+ .ver 0:0:0:0
+}
+.assembly Except
+{
+ .ver 0:0:0:0
+}
+.module Except.EXE
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+.class private auto ansi beforefieldinit App
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (int32[,] V_0,
+ int32[,] V_1,
+ int32 V_2,
+ int32 V_3,
+ int32[,] V_4,
+ object V_5,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+
+ IL_0000: ldnull
+ IL_0001: stloc.0
+ IL_0002: ldnull
+ IL_0003: stloc.1
+ IL_0004: ldnull
+ IL_0005: stloc.s V_5
+ IL_0007: ldc.i4.2
+ IL_0008: ldc.i4.3
+ IL_0009: newobj instance void int32[,]::.ctor(int32,
+ int32)
+ IL_000e: stloc.s V_4
+ IL_0010: ldloc.s V_4
+ IL_0012: call instance void [mscorlib]System.Array::Initialize()
+ IL_0017: ldloc.s V_4
+ IL_0019: stloc.0
+ IL_001a: ldloc.0
+ IL_001b: ldc.i4.0
+ IL_001c: ldc.i4.0
+ IL_001d: ldc.i4.1
+ IL_001e: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_0023: ldloc.0
+ IL_0024: ldc.i4.0
+ IL_0025: ldc.i4.1
+ IL_0026: ldc.i4.2
+ IL_0027: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_002c: ldloc.0
+ IL_002d: ldc.i4.0
+ IL_002e: ldc.i4.2
+ IL_002f: ldc.i4.3
+ IL_0030: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_0035: ldloc.0
+ IL_0036: ldc.i4.1
+ IL_0037: ldc.i4.0
+ IL_0038: ldc.i4.4
+ IL_0039: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_003e: ldloc.0
+ IL_003f: ldc.i4.1
+ IL_0040: ldc.i4.1
+ IL_0041: ldc.i4.5
+ IL_0042: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_0047: ldloc.0
+ IL_0048: ldc.i4.1
+ IL_0049: ldc.i4.2
+ IL_004a: ldc.i4.6
+ IL_004b: call instance void int32[,]::Set(int32,
+ int32,
+ int32)
+ IL_0050: ldloc.0
+ IL_0051: call instance int32 [mscorlib]System.Array::get_Rank()
+ IL_0056: call void [System.Console]System.Console::WriteLine(int32)
+ IL_005b: ldloc.0
+ IL_005c: callvirt instance int32 [mscorlib]System.Array::get_Length()
+ IL_005d: call void [System.Console]System.Console::WriteLine(int32)
+
+ .try {
+ .try {
+ .try
+ {
+ ldloc.0
+ throw
+
+ leave IL_00a3
+ } finally {
+ ldstr "In finally1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ stloc.3
+ br.s test_i_fin
+
+ inc_i_fin:
+ ldloc.3
+ ldc.i4.1
+ add
+ stloc.3
+
+ test_i_fin:
+ ldloc.3
+ ldloc.0
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ bge.s done_fin
+
+ ldc.i4.0
+ stloc.2
+ br.s test_j_fin
+
+ inc_j_fin:
+ ldloc.2
+ ldc.i4.1
+ add
+ stloc.2
+
+ test_j_fin:
+ ldloc.2
+ ldloc.0
+ callvirt instance int32 [mscorlib]System.Array::get_Length()
+ ldloc.0
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ div
+ bge.s doneinner_fin
+
+ ldloc.0
+ ldloc.3
+ ldloc.2
+ call instance int32 int32[,]::Get(int32,
+ int32)
+ call void [System.Console]System.Console::WriteLine(int32)
+ br.s inc_j_fin
+
+ doneinner_fin: br.s inc_i_fin
+
+ done_fin:
+ endfinally
+ }
+
+ }
+ catch [mscorlib]System.Object
+ {
+ stloc.s V_5
+ ldloc.s V_5
+ castclass int32[0...,0...]
+ stloc.1
+ ldstr "In catch"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.0
+ stloc.3
+ br.s test_i
+
+ inc_i:
+ ldloc.3
+ ldc.i4.1
+ add
+ stloc.3
+
+ test_i:
+ ldloc.3
+ ldloc.1
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ bge.s done
+
+ ldc.i4.0
+ stloc.2
+ br.s test_j
+
+ inc_j:
+ ldloc.2
+ ldc.i4.1
+ add
+ stloc.2
+
+ test_j:
+ ldloc.2
+ ldloc.1
+ callvirt instance int32 [mscorlib]System.Array::get_Length()
+ ldloc.1
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ div
+ bge.s doneinner
+
+ ldloc.1
+ ldloc.3
+ ldloc.2
+ call instance int32 int32[,]::Get(int32,
+ int32)
+ call void [System.Console]System.Console::WriteLine(int32)
+ br.s inc_j
+
+ doneinner:
+ br.s inc_i
+
+ done:
+ leave.s IL_00a3
+
+
+ }
+ } finally {
+ ldstr "In finally2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ stloc.3
+ br.s test_i_fin2
+
+ inc_i_fin2:
+ ldloc.3
+ ldc.i4.1
+ add
+ stloc.3
+
+ test_i_fin2:
+ ldloc.3
+ ldloc.0
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ bge.s done_fin2
+
+ ldc.i4.0
+ stloc.2
+ br.s test_j_fin2
+
+ inc_j_fin2:
+ ldloc.2
+ ldc.i4.1
+ add
+ stloc.2
+
+ test_j_fin2:
+ ldloc.2
+ ldloc.0
+ callvirt instance int32 [mscorlib]System.Array::get_Length()
+ ldloc.0
+ call instance int32 [mscorlib]System.Array::get_Rank()
+ div
+ bge.s doneinner_fin2
+
+ ldloc.0
+ ldloc.3
+ ldloc.2
+ call instance int32 int32[,]::Get(int32,
+ int32)
+ call void [System.Console]System.Console::WriteLine(int32)
+ br.s inc_j_fin2
+
+ doneinner_fin2: br.s inc_i_fin2
+
+ done_fin2:
+ endfinally
+ }
+ IL_00a3:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ IL_00a4: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit MyException
+ extends [mscorlib]System.ApplicationException
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(string msg) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: call instance void [mscorlib]System.ApplicationException::.ctor(string)
+ IL_0007: ldarg.0
+ IL_0008: ldstr "http://NotARealURL.Microsoft.com/help.html"
+ IL_000d: callvirt instance void [mscorlib]System.Exception::set_HelpLink(string)
+ IL_0012: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_d.ilproj b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_d.ilproj
new file mode 100644
index 0000000000..e601bab129
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throw2dimarray.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_r.ilproj b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_r.ilproj
new file mode 100644
index 0000000000..a1d6fc3dd7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/interactions/throw2dimarray_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throw2dimarray.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry.il b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry.il
new file mode 100644
index 0000000000..d45ee496d0
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry.il
@@ -0,0 +1,110 @@
+// 2 branches out of try with dead code after tryend
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly testit{
+
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module testit.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "After try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s label2
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave label1
+ }
+ finally
+ {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ label1:
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2: ldstr "After try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_d.ilproj
new file mode 100644
index 0000000000..c8d9570c09
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="2branchesoutoftry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_r.ilproj
new file mode 100644
index 0000000000..dbe369a95f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/2branchesoutoftry_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="2branchesoutoftry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/app.config b/tests/src/JIT/Methodical/eh/leaves/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/eh/leaves/app.config
+++ b/tests/src/JIT/Methodical/eh/leaves/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch.il b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch.il
new file mode 100644
index 0000000000..3d501976ce
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch.il
@@ -0,0 +1,175 @@
+// backward leave in catch, with destination before optry
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly branchbackwardswithfinally
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module branchbackwardswithfinally.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+
+ IL_0000: ldstr "In try"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inTry2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In finally"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In catch"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+
+ before:
+ ldstr "before try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ beq done
+
+ .try
+ {
+ call void hello.Class1::inTry()
+ .try
+ {
+ call void hello.Class1::inTry2()
+ ldc.i4.1
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s before
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ call void hello.Class1::inCatch()
+ leave.s before
+ }
+
+ }
+ finally
+ {
+ call void hello.Class1::inFinally()
+ endfinally
+ }
+ done:
+ ldstr "done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_d.ilproj
new file mode 100644
index 0000000000..5290c063c1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="backwardleaveincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_r.ilproj
new file mode 100644
index 0000000000..5161cca74d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/backwardleaveincatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="backwardleaveincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch.il b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch.il
new file mode 100644
index 0000000000..04d4204f92
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch.il
@@ -0,0 +1,166 @@
+// branch backwards from try body (a try / catch struct)
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly branchbackwardswithfinally
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module branchbackwardswithfinally.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inTry2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inCatch2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In catch 2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In catch"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+
+before:
+ ldstr "before try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ beq done
+
+ .try
+ {
+ call void hello.Class1::inTry()
+ .try
+ {
+ call void hello.Class1::inTry2()
+ ldc.i4.1
+ stloc.0
+ leave.s before
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ call void hello.Class1::inCatch()
+ leave.s done
+ }
+
+ }
+ catch [mscorlib]System.Object
+ {
+ call void hello.Class1::inCatch2()
+ leave.s done
+ }
+ done:
+ ldstr "done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_d.ilproj
new file mode 100644
index 0000000000..6b56859f15
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchbackwardswithcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_r.ilproj
new file mode 100644
index 0000000000..e656188aeb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithcatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchbackwardswithcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally.il b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally.il
new file mode 100644
index 0000000000..911aa234be
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally.il
@@ -0,0 +1,172 @@
+// branch backwards from try body (a try / finally struct)
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly branchbackwardswithfinally
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module branchbackwardswithfinally.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inTry2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In finally 2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In finally"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+
+ before:
+ ldstr "before try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ beq done
+
+ .try
+ {
+ call void hello.Class1::inTry()
+ .try
+ {
+ call void hello.Class1::inTry2()
+ ldc.i4.1
+ stloc.0
+ leave.s before
+
+ }
+ finally
+ {
+ call void hello.Class1::inFinally()
+ endfinally
+ }
+
+ }
+ finally
+ {
+ call void hello.Class1::inFinally2()
+ endfinally
+ }
+ done:
+ ldstr "done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_d.ilproj
new file mode 100644
index 0000000000..d352387b4d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchbackwardswithfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_r.ilproj
new file mode 100644
index 0000000000..4c721da4aa
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchbackwardswithfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchbackwardswithfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally.il b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally.il
new file mode 100644
index 0000000000..1f49386b62
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally.il
@@ -0,0 +1,174 @@
+// branch out of nested try-finally with dead code after try end
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly testit
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module testit.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+
+ .method public hidebysig static void
+ inTry1() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public hidebysig static void
+ inFinally1() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+
+ .method public hidebysig static void
+ inTry0() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public hidebysig static void
+ inFinally0() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+
+ .method public hidebysig static void
+ unreached0() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public hidebysig static void
+ unreached1() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "After try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ .try
+ {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry0()
+
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry1()
+ leave.s done
+
+ }
+ finally
+ {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inFinally1()
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inFinally0()
+ endfinally
+ }
+
+ ldstr "Unreached 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::unreached1()
+ done:
+ ldstr "After try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_d.ilproj
new file mode 100644
index 0000000000..ac02205f98
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoutofnestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_r.ilproj
new file mode 100644
index 0000000000..2d27bdc439
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutofnestedtryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoutofnestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally.il b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally.il
new file mode 100644
index 0000000000..6388a5d050
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally.il
@@ -0,0 +1,108 @@
+// branch out of try finally
+// with dead code after tryend
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly testit
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module testit.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "After try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s aftertry
+
+ }
+ finally
+ {
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ ldstr "Unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ aftertry:
+ ldstr "After try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_d.ilproj
new file mode 100644
index 0000000000..395f52610d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoutoftryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_r.ilproj
new file mode 100644
index 0000000000..983f57e264
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/branchoutoftryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="branchoutoftryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch.il b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch.il
new file mode 100644
index 0000000000..1640d3cbfd
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch.il
@@ -0,0 +1,173 @@
+// forward leave (with dead code after try end) in catch
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3102:0
+}
+.assembly extern common{}
+.assembly branchbackwardswithfinally
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module branchbackwardswithfinally.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inTry2() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In try2"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In finally"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "In catch"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "before try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "after try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+
+ before:
+ ldstr "before try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ beq done
+
+ .try
+ {
+ call void hello.Class1::inTry()
+ .try
+ {
+ call void hello.Class1::inTry2()
+ ldc.i4.1
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s before
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ call void hello.Class1::inCatch()
+ leave.s after
+ }
+
+ }
+ finally
+ {
+ call void hello.Class1::inFinally()
+ endfinally
+ }
+ done:
+ ldstr "unreached"
+ call void [System.Console]System.Console::WriteLine(string)
+ after:
+ ldstr "after try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_d.ilproj
new file mode 100644
index 0000000000..f352117a20
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="forwardleaveincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_r.ilproj
new file mode 100644
index 0000000000..daf9db4970
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/forwardleaveincatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="forwardleaveincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally.il b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally.il
new file mode 100644
index 0000000000..89e0a3218c
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally.il
@@ -0,0 +1,107 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly b30630
+{
+ .hash algorithm 0x00008004
+ .ver 1:0:3018:0
+}
+.module b30630.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace Test
+{
+ .class private auto ansi beforefieldinit App
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (bool V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "after try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s labelbefore
+ labelbefore: leave.s labelafter
+ }
+ finally
+ {
+ labelbegin: ldloc.0
+ brtrue.s labelbegin
+ ldstr "In finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ labelafter: ldstr "after try"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_d.ilproj
new file mode 100644
index 0000000000..cedeffe799
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="labelbeforefinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_r.ilproj
new file mode 100644
index 0000000000..7f9eefc6f8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeforefinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="labelbeforefinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally.il b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally.il
new file mode 100644
index 0000000000..264a75e7ea
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally.il
@@ -0,0 +1,114 @@
+// label at the beginning of finally block
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly b30630
+{
+ .hash algorithm 0x00008004
+ .ver 1:0:3018:0
+}
+.module b30630.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+
+.namespace Test
+{
+ .class private auto ansi beforefieldinit App
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (bool V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally, before br"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally, after br"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "done"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ ldc.i4.0
+ stloc.0
+ .try
+ {
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ }
+ finally
+ {
+ beginfinally:
+ ldloc.0
+ ldstr "In finally, before br"
+ call void [System.Console]System.Console::WriteLine(string)
+ brtrue.s beginfinally
+ ldstr "In finally, after br"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ endfinally
+ }
+ done:
+ ldstr "done"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_d.ilproj
new file mode 100644
index 0000000000..6f11f84f4e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="labelbeginningfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_r.ilproj
new file mode 100644
index 0000000000..bf1881089e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/labelbeginningfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="labelbeginningfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion.il b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion.il
new file mode 100644
index 0000000000..434e712fb4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion.il
@@ -0,0 +1,129 @@
+// a try catch where there is a leave statement whose destination is inside the catch handler
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3300:0
+}
+.assembly extern common{}
+.assembly trycatch
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module trycatch.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+
+
+
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "in Try\n"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_000f: throw
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldstr "in Catch\n"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (class [mscorlib]System.Exception V_0,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in Try\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ IL_0000: call void hello.Class1::inTry()
+ IL_0005: leave.s IL_0015
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0007: stloc.0
+ IL_0008: ldloc.0
+ leave.s IL_0009
+
+ IL_0009: ldloc.0
+ IL_000e: call void hello.Class1::inCatch()
+ IL_0013: leave.s IL_0015
+
+ }
+ IL_0015:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_d.ilproj
new file mode 100644
index 0000000000..9c4c331018
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="leaveinsameregion.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_r.ilproj
new file mode 100644
index 0000000000..772c3d45fa
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveinsameregion_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="leaveinsameregion.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody.il b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody.il
new file mode 100644
index 0000000000..35573c76c4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody.il
@@ -0,0 +1,178 @@
+// try catch, with leave statements from the catch back into trybody (allowed by spec)
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly trycatch
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module trycatch.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 8
+ ldstr "throwing ..."
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldstr "in Catch\n"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.Exception V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in Try ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Try ... (again)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Try ... (again)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Try ... (again), leaving"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ .try
+ {
+ ldstr "in Try ..."
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont1:
+ ldstr "in Try ... (again)"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont2:
+ ldstr "in Try ... (again)"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont3:
+ ldstr "in Try ... (again), leaving"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_001b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ call void hello.Class1::inCatch()
+ ldloc.0
+ brfalse.s zero
+ ldc.i4.1
+ ldloc.0
+ beq.s first
+ leave.s cont3
+
+ zero:
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ leave.s cont1
+
+ first:
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ leave.s cont2
+
+ }
+ IL_001b:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_d.ilproj
new file mode 100644
index 0000000000..02cd7bf9df
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="leaveintotrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_r.ilproj
new file mode 100644
index 0000000000..22c03694ca
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/leaveintotrybody_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="leaveintotrybody.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry.il b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry.il
new file mode 100644
index 0000000000..d0d0440a73
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry.il
@@ -0,0 +1,194 @@
+// try catch with branches into try body
+// try finally at the end of trybody of the try catch
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly trycatch
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module trycatch.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 8
+ ldstr "throwing ..."
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldstr "in Catch\n"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (int32 V_0,
+ class [mscorlib]System.Exception V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "in Try ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ ldstr "in Try ... (again)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ ldstr "in Try ... (again)"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "throwing ..."
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in Catch\n"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ ldstr "in Try ... (again), leaving"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ .try
+ {
+ ldstr "in Try ..."
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont1:
+ ldstr "in Try ... (again)"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont2:
+ ldstr "in Try ... (again)"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void hello.Class1::inTry()
+
+ cont3:
+ nop
+ .try
+ {
+ ldstr "in Try ... (again), leaving"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_001b
+
+ } finally {
+ ldstr "in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ leave.s IL_001b
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ call void hello.Class1::inCatch()
+ ldloc.0
+ brfalse.s zero
+ ldc.i4.1
+ ldloc.0
+ beq.s first
+ leave.s cont3
+
+ zero:
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ leave.s cont1
+
+ first:
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ leave.s cont2
+
+ }
+ IL_001b:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_d.ilproj b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_d.ilproj
new file mode 100644
index 0000000000..4d13f72f24
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallyintrycatchwithleaveintotry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_r.ilproj b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_r.ilproj
new file mode 100644
index 0000000000..b87ec4b987
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/leaves/tryfinallyintrycatchwithleaveintotry_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tryfinallyintrycatchwithleaveintotry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/app.config b/tests/src/JIT/Methodical/eh/mixedhandler/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch.il b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch.il
new file mode 100644
index 0000000000..0f65ee2666
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch.il
@@ -0,0 +1,151 @@
+// try block with both filter/handler and typed handler
+// the filter handles the exception
+// if there are more than one handlers that is suitable, make sure that the
+// handler that appears first is the one executed
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly testmultihandler
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module testmultihandler.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 8
+ IL_0000: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0005: throw
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (class [mscorlib]System.DivideByZeroException V_0,
+ class [mscorlib]System.ArithmeticException V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ start_try:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ end_try:
+
+ div_by_zero:
+ stloc.0
+ ldstr "Caught"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ call void [System.Console]System.Console::WriteLine(object)
+ leave.s done
+ end_div_by_zero:
+
+ filter_begin:
+ pop
+ ldstr "In filter"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.1
+ endfilter
+
+ handler_begin:
+ pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ handler_end:
+
+ catch_arith:
+ stloc.1
+ ldstr "Caught"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.1
+ call void [System.Console]System.Console::WriteLine(object)
+ leave.s done
+ end_catch_arith:
+
+
+ .try start_try to end_try filter filter_begin handler handler_begin to handler_end
+ .try start_try to end_try
+ catch [mscorlib]System.DivideByZeroException handler div_by_zero to end_div_by_zero
+ .try start_try to end_try
+ catch [mscorlib]System.ArithmeticException handler catch_arith to end_catch_arith
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_d.ilproj b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_d.ilproj
new file mode 100644
index 0000000000..c8ce75c100
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchfiltercatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_r.ilproj b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_r.ilproj
new file mode 100644
index 0000000000..31b33468b6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/catchfiltercatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="catchfiltercatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch.il b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch.il
new file mode 100644
index 0000000000..bdca7a8d0e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch.il
@@ -0,0 +1,169 @@
+// try block with both filter/handler and typed handler
+// two filter and two catches, the 2nd filter handles the exception
+// if there are more than one handlers that is suitable, make sure that the
+// handler that appears first is the one executed
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern common{}
+.assembly testmultihandler
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module testmultihandler.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static void
+ inTry() cil managed
+ {
+ .maxstack 8
+ IL_0000: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0005: throw
+ }
+
+ .method public hidebysig static void
+ inCatch() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static void
+ inFinally() cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (class [mscorlib]System.DivideByZeroException V_0,
+ class [mscorlib]System.ArithmeticException V_1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "In try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In handler2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+ start_try:
+ ldstr "In try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+ throw
+ end_try:
+
+ filter_begin:
+ pop
+ ldstr "In filter1"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.0
+ endfilter
+
+ handler_begin:
+ pop
+ ldstr "In handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ handler_end:
+
+ filter2_begin:
+ pop
+ ldstr "In filter2"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4.1
+ endfilter
+
+ handler2_begin:
+ pop
+ ldstr "In handler2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ handler2_end:
+ div_by_zero:
+ stloc.0
+ ldstr "Caught"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ call void [System.Console]System.Console::WriteLine(object)
+ leave.s done
+ end_div_by_zero:
+
+ catch_arith:
+ stloc.1
+ ldstr "Caught"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.1
+ call void [System.Console]System.Console::WriteLine(object)
+ leave.s done
+ end_catch_arith:
+
+
+ .try start_try to end_try filter filter_begin handler handler_begin to handler_end
+ .try start_try to end_try filter filter2_begin handler handler2_begin to handler2_end
+ .try start_try to end_try
+ catch [mscorlib]System.DivideByZeroException handler div_by_zero to end_div_by_zero
+ .try start_try to end_try
+ catch [mscorlib]System.ArithmeticException handler catch_arith to end_catch_arith
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_d.ilproj b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_d.ilproj
new file mode 100644
index 0000000000..e8a66589ec
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="filterfiltercatchcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_r.ilproj b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_r.ilproj
new file mode 100644
index 0000000000..c4773fbcc3
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/mixedhandler/filterfiltercatchcatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="filterfiltercatchcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/app.config b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch.il
new file mode 100644
index 0000000000..d9af8c523d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch.il
@@ -0,0 +1,1497 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module cascadedcatch.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ label40:
+ .try {
+ ldstr "In try 40, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ label41:
+ .try {
+ ldstr "In try 41, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ label42:
+ .try {
+ ldstr "In try 42, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ label43:
+ .try {
+ ldstr "In try 43, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ label44:
+ .try {
+ ldstr "In try 44, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ label45:
+ .try {
+ ldstr "In try 45, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ label46:
+ .try {
+ ldstr "In try 46, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ label47:
+ .try {
+ ldstr "In try 47, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ label48:
+ .try {
+ ldstr "In try 48, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label47
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label46
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label45
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label44
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label43
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label42
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label41
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label40
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label39
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next39:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next40
+ ldloc.0
+ ldc.i4 1
+ beq.s next40a
+ leave begin
+ next40a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next40:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next41
+ ldloc.0
+ ldc.i4 1
+ beq.s next41a
+ leave begin
+ next41a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next41:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next42
+ ldloc.0
+ ldc.i4 1
+ beq.s next42a
+ leave begin
+ next42a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next42:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next43
+ ldloc.0
+ ldc.i4 1
+ beq.s next43a
+ leave begin
+ next43a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next43:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next44
+ ldloc.0
+ ldc.i4 1
+ beq.s next44a
+ leave begin
+ next44a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next44:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next45
+ ldloc.0
+ ldc.i4 1
+ beq.s next45a
+ leave begin
+ next45a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next45:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next46
+ ldloc.0
+ ldc.i4 1
+ beq.s next46a
+ leave begin
+ next46a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next46:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next47
+ ldloc.0
+ ldc.i4 1
+ beq.s next47a
+ leave begin
+ next47a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next47:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next48
+ ldloc.0
+ ldc.i4 1
+ beq.s next48a
+ leave begin
+ next48a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next48:
+ leave done
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_d.ilproj
new file mode 100644
index 0000000000..2d63f2073a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cascadedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_r.ilproj
new file mode 100644
index 0000000000..7ec1904b6b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cascadedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept.il
new file mode 100644
index 0000000000..e3315622cb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept.il
@@ -0,0 +1,1839 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module cascadedexcept.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 50"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ label40:
+ .try {
+ ldstr "In try 40, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ label41:
+ .try {
+ ldstr "In try 41, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ label42:
+ .try {
+ ldstr "In try 42, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ label43:
+ .try {
+ ldstr "In try 43, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ label44:
+ .try {
+ ldstr "In try 44, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ label45:
+ .try {
+ ldstr "In try 45, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ label46:
+ .try {
+ ldstr "In try 46, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ label47:
+ .try {
+ ldstr "In try 47, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ label48:
+ .try {
+ ldstr "In try 48, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label47
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label46
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label45
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label44
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label43
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label42
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label41
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label40
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label39
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next39:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next40
+ ldloc.0
+ ldc.i4 1
+ beq.s next40a
+ leave begin
+ next40a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next40:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next41
+ ldloc.0
+ ldc.i4 1
+ beq.s next41a
+ leave begin
+ next41a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next41:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next42
+ ldloc.0
+ ldc.i4 1
+ beq.s next42a
+ leave begin
+ next42a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next42:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next43
+ ldloc.0
+ ldc.i4 1
+ beq.s next43a
+ leave begin
+ next43a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next43:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next44
+ ldloc.0
+ ldc.i4 1
+ beq.s next44a
+ leave begin
+ next44a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next44:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next45
+ ldloc.0
+ ldc.i4 1
+ beq.s next45a
+ leave begin
+ next45a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next45:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next46
+ ldloc.0
+ ldc.i4 1
+ beq.s next46a
+ leave begin
+ next46a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next46:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next47
+ ldloc.0
+ ldc.i4 1
+ beq.s next47a
+ leave begin
+ next47a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next47:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next48
+ ldloc.0
+ ldc.i4 1
+ beq.s next48a
+ leave begin
+ next48a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next48:
+ leave done
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_d.ilproj
new file mode 100644
index 0000000000..c69498ece1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cascadedexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_r.ilproj
new file mode 100644
index 0000000000..3b56d508b7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cascadedexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch.il
new file mode 100644
index 0000000000..02bae018e1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch.il
@@ -0,0 +1,1677 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module cascadedcatch.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, ldloc.0 is 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, ldloc.0 is 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3, ldloc.0 is 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4, ldloc.0 is 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5, ldloc.0 is 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6, ldloc.0 is 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7, ldloc.0 is 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8, ldloc.0 is 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9, ldloc.0 is 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10, ldloc.0 is 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11, ldloc.0 is 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12, ldloc.0 is 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13, ldloc.0 is 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14, ldloc.0 is 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15, ldloc.0 is 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16, ldloc.0 is 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17, ldloc.0 is 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18, ldloc.0 is 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19, ldloc.0 is 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20, ldloc.0 is 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21, ldloc.0 is 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22, ldloc.0 is 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23, ldloc.0 is 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24, ldloc.0 is 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25, ldloc.0 is 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26, ldloc.0 is 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27, ldloc.0 is 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28, ldloc.0 is 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29, ldloc.0 is 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30, ldloc.0 is 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31, ldloc.0 is 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32, ldloc.0 is 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33, ldloc.0 is 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34, ldloc.0 is 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35, ldloc.0 is 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36, ldloc.0 is 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37, ldloc.0 is 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38, ldloc.0 is 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39, ldloc.0 is 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next39:
+ leave done
+ }
+ } finally {
+ ldstr "In finally 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_d.ilproj
new file mode 100644
index 0000000000..1276e95fae
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_r.ilproj
new file mode 100644
index 0000000000..5a86a48bd5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin.il
new file mode 100644
index 0000000000..d3e3661594
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin.il
@@ -0,0 +1,1856 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwincascadedcatchnofin.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, ldloc.0 is 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, ldloc.0 is 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3, ldloc.0 is 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4, ldloc.0 is 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5, ldloc.0 is 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6, ldloc.0 is 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7, ldloc.0 is 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8, ldloc.0 is 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9, ldloc.0 is 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10, ldloc.0 is 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11, ldloc.0 is 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12, ldloc.0 is 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13, ldloc.0 is 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14, ldloc.0 is 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15, ldloc.0 is 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16, ldloc.0 is 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17, ldloc.0 is 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18, ldloc.0 is 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19, ldloc.0 is 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20, ldloc.0 is 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21, ldloc.0 is 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22, ldloc.0 is 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23, ldloc.0 is 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24, ldloc.0 is 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25, ldloc.0 is 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26, ldloc.0 is 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27, ldloc.0 is 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28, ldloc.0 is 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29, ldloc.0 is 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30, ldloc.0 is 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31, ldloc.0 is 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32, ldloc.0 is 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33, ldloc.0 is 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34, ldloc.0 is 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35, ldloc.0 is 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36, ldloc.0 is 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37, ldloc.0 is 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38, ldloc.0 is 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39, ldloc.0 is 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40, ldloc.0 is 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41, ldloc.0 is 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42, ldloc.0 is 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43, ldloc.0 is 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44, ldloc.0 is 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45, ldloc.0 is 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46, ldloc.0 is 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47, ldloc.0 is 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48, ldloc.0 is 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49, ldloc.0 is 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ label40:
+ .try {
+ ldstr "In try 40, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ label41:
+ .try {
+ ldstr "In try 41, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ label42:
+ .try {
+ ldstr "In try 42, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ label43:
+ .try {
+ ldstr "In try 43, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ label44:
+ .try {
+ ldstr "In try 44, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ label45:
+ .try {
+ ldstr "In try 45, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ label46:
+ .try {
+ ldstr "In try 46, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ label47:
+ .try {
+ ldstr "In try 47, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ label48:
+ .try {
+ ldstr "In try 48, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ label49:
+ .try {
+ ldstr "In try 49, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label48
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label47
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label46
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label45
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label44
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label43
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label42
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label41
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label40
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label39
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next39:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next40
+ ldloc.0
+ ldc.i4 1
+ beq.s next40a
+ leave begin
+ next40a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next40:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next41
+ ldloc.0
+ ldc.i4 1
+ beq.s next41a
+ leave begin
+ next41a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next41:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next42
+ ldloc.0
+ ldc.i4 1
+ beq.s next42a
+ leave begin
+ next42a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next42:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next43
+ ldloc.0
+ ldc.i4 1
+ beq.s next43a
+ leave begin
+ next43a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next43:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next44
+ ldloc.0
+ ldc.i4 1
+ beq.s next44a
+ leave begin
+ next44a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next44:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next45
+ ldloc.0
+ ldc.i4 1
+ beq.s next45a
+ leave begin
+ next45a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next45:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next46
+ ldloc.0
+ ldc.i4 1
+ beq.s next46a
+ leave begin
+ next46a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next46:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next47
+ ldloc.0
+ ldc.i4 1
+ beq.s next47a
+ leave begin
+ next47a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next47:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next48
+ ldloc.0
+ ldc.i4 1
+ beq.s next48a
+ leave begin
+ next48a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next48:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next49
+ ldloc.0
+ ldc.i4 1
+ beq.s next49a
+ leave begin
+ next49a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next49:
+ leave done
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_d.ilproj
new file mode 100644
index 0000000000..8adf04783a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedcatchnofin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_r.ilproj
new file mode 100644
index 0000000000..2b04be4693
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedcatchnofin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept.il
new file mode 100644
index 0000000000..0500fdd17d
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept.il
@@ -0,0 +1,2077 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwincascadedexcept.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 50"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, ldloc.0 is 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, ldloc.0 is 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3, ldloc.0 is 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4, ldloc.0 is 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5, ldloc.0 is 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6, ldloc.0 is 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7, ldloc.0 is 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8, ldloc.0 is 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9, ldloc.0 is 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10, ldloc.0 is 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11, ldloc.0 is 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12, ldloc.0 is 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13, ldloc.0 is 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14, ldloc.0 is 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15, ldloc.0 is 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16, ldloc.0 is 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17, ldloc.0 is 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18, ldloc.0 is 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19, ldloc.0 is 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20, ldloc.0 is 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21, ldloc.0 is 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22, ldloc.0 is 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23, ldloc.0 is 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24, ldloc.0 is 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25, ldloc.0 is 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26, ldloc.0 is 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27, ldloc.0 is 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28, ldloc.0 is 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29, ldloc.0 is 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30, ldloc.0 is 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31, ldloc.0 is 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32, ldloc.0 is 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33, ldloc.0 is 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34, ldloc.0 is 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35, ldloc.0 is 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36, ldloc.0 is 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37, ldloc.0 is 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38, ldloc.0 is 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39, ldloc.0 is 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 50"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next39:
+ leave done
+ }
+ } finally {
+ ldstr "In finally 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_d.ilproj
new file mode 100644
index 0000000000..cd7fb52165
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_r.ilproj
new file mode 100644
index 0000000000..165a98ddeb
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin.il b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin.il
new file mode 100644
index 0000000000..4aefdad808
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin.il
@@ -0,0 +1,2357 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwincascadedexceptnofin.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 50"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, ldloc.0 is 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, ldloc.0 is 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3, ldloc.0 is 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4, ldloc.0 is 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5, ldloc.0 is 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6, ldloc.0 is 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7, ldloc.0 is 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8, ldloc.0 is 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9, ldloc.0 is 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10, ldloc.0 is 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11, ldloc.0 is 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12, ldloc.0 is 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13, ldloc.0 is 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14, ldloc.0 is 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15, ldloc.0 is 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16, ldloc.0 is 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17, ldloc.0 is 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18, ldloc.0 is 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19, ldloc.0 is 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20, ldloc.0 is 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21, ldloc.0 is 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22, ldloc.0 is 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23, ldloc.0 is 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24, ldloc.0 is 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25, ldloc.0 is 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26, ldloc.0 is 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27, ldloc.0 is 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28, ldloc.0 is 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29, ldloc.0 is 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30, ldloc.0 is 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31, ldloc.0 is 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32, ldloc.0 is 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33, ldloc.0 is 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34, ldloc.0 is 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35, ldloc.0 is 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36, ldloc.0 is 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37, ldloc.0 is 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38, ldloc.0 is 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39, ldloc.0 is 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40, ldloc.0 is 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41, ldloc.0 is 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42, ldloc.0 is 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43, ldloc.0 is 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44, ldloc.0 is 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45, ldloc.0 is 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46, ldloc.0 is 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47, ldloc.0 is 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48, ldloc.0 is 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49, ldloc.0 is 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 50"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ label4:
+ .try {
+ ldstr "In try 4, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ label5:
+ .try {
+ ldstr "In try 5, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ label6:
+ .try {
+ ldstr "In try 6, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ label7:
+ .try {
+ ldstr "In try 7, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ label8:
+ .try {
+ ldstr "In try 8, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ label9:
+ .try {
+ ldstr "In try 9, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ label10:
+ .try {
+ ldstr "In try 10, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ label11:
+ .try {
+ ldstr "In try 11, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ label12:
+ .try {
+ ldstr "In try 12, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ label13:
+ .try {
+ ldstr "In try 13, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ label14:
+ .try {
+ ldstr "In try 14, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ label15:
+ .try {
+ ldstr "In try 15, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ label16:
+ .try {
+ ldstr "In try 16, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ label17:
+ .try {
+ ldstr "In try 17, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ label18:
+ .try {
+ ldstr "In try 18, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ label19:
+ .try {
+ ldstr "In try 19, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ label20:
+ .try {
+ ldstr "In try 20, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ label21:
+ .try {
+ ldstr "In try 21, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ label22:
+ .try {
+ ldstr "In try 22, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ label23:
+ .try {
+ ldstr "In try 23, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ label24:
+ .try {
+ ldstr "In try 24, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ label25:
+ .try {
+ ldstr "In try 25, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ label26:
+ .try {
+ ldstr "In try 26, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ label27:
+ .try {
+ ldstr "In try 27, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ label28:
+ .try {
+ ldstr "In try 28, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ label29:
+ .try {
+ ldstr "In try 29, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ label30:
+ .try {
+ ldstr "In try 30, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ label31:
+ .try {
+ ldstr "In try 31, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ label32:
+ .try {
+ ldstr "In try 32, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ label33:
+ .try {
+ ldstr "In try 33, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ label34:
+ .try {
+ ldstr "In try 34, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ label35:
+ .try {
+ ldstr "In try 35, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ label36:
+ .try {
+ ldstr "In try 36, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ label37:
+ .try {
+ ldstr "In try 37, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ label38:
+ .try {
+ ldstr "In try 38, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ label39:
+ .try {
+ ldstr "In try 39, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ label40:
+ .try {
+ ldstr "In try 40, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ label41:
+ .try {
+ ldstr "In try 41, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ label42:
+ .try {
+ ldstr "In try 42, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ label43:
+ .try {
+ ldstr "In try 43, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ label44:
+ .try {
+ ldstr "In try 44, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ label45:
+ .try {
+ ldstr "In try 45, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ label46:
+ .try {
+ ldstr "In try 46, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ label47:
+ .try {
+ ldstr "In try 47, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ label48:
+ .try {
+ ldstr "In try 48, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ label49:
+ .try {
+ ldstr "In try 49, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ pop
+ ldstr "In except 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label48
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label47
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label46
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label45
+ next3:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next4
+ ldloc.0
+ ldc.i4 1
+ beq.s next4a
+ leave begin
+ next4a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label44
+ next4:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next5
+ ldloc.0
+ ldc.i4 1
+ beq.s next5a
+ leave begin
+ next5a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label43
+ next5:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next6
+ ldloc.0
+ ldc.i4 1
+ beq.s next6a
+ leave begin
+ next6a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label42
+ next6:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next7
+ ldloc.0
+ ldc.i4 1
+ beq.s next7a
+ leave begin
+ next7a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label41
+ next7:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next8
+ ldloc.0
+ ldc.i4 1
+ beq.s next8a
+ leave begin
+ next8a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label40
+ next8:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next9
+ ldloc.0
+ ldc.i4 1
+ beq.s next9a
+ leave begin
+ next9a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label39
+ next9:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next10
+ ldloc.0
+ ldc.i4 1
+ beq.s next10a
+ leave begin
+ next10a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label38
+ next10:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next11
+ ldloc.0
+ ldc.i4 1
+ beq.s next11a
+ leave begin
+ next11a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label37
+ next11:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next12
+ ldloc.0
+ ldc.i4 1
+ beq.s next12a
+ leave begin
+ next12a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label36
+ next12:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next13
+ ldloc.0
+ ldc.i4 1
+ beq.s next13a
+ leave begin
+ next13a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label35
+ next13:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next14
+ ldloc.0
+ ldc.i4 1
+ beq.s next14a
+ leave begin
+ next14a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label34
+ next14:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next15
+ ldloc.0
+ ldc.i4 1
+ beq.s next15a
+ leave begin
+ next15a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label33
+ next15:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next16
+ ldloc.0
+ ldc.i4 1
+ beq.s next16a
+ leave begin
+ next16a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label32
+ next16:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next17
+ ldloc.0
+ ldc.i4 1
+ beq.s next17a
+ leave begin
+ next17a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label31
+ next17:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next18
+ ldloc.0
+ ldc.i4 1
+ beq.s next18a
+ leave begin
+ next18a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label30
+ next18:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next19
+ ldloc.0
+ ldc.i4 1
+ beq.s next19a
+ leave begin
+ next19a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label29
+ next19:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next20
+ ldloc.0
+ ldc.i4 1
+ beq.s next20a
+ leave begin
+ next20a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label28
+ next20:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next21
+ ldloc.0
+ ldc.i4 1
+ beq.s next21a
+ leave begin
+ next21a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label27
+ next21:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next22
+ ldloc.0
+ ldc.i4 1
+ beq.s next22a
+ leave begin
+ next22a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label26
+ next22:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next23
+ ldloc.0
+ ldc.i4 1
+ beq.s next23a
+ leave begin
+ next23a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label25
+ next23:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next24
+ ldloc.0
+ ldc.i4 1
+ beq.s next24a
+ leave begin
+ next24a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label24
+ next24:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next25
+ ldloc.0
+ ldc.i4 1
+ beq.s next25a
+ leave begin
+ next25a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label23
+ next25:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next26
+ ldloc.0
+ ldc.i4 1
+ beq.s next26a
+ leave begin
+ next26a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label22
+ next26:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next27
+ ldloc.0
+ ldc.i4 1
+ beq.s next27a
+ leave begin
+ next27a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label21
+ next27:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next28
+ ldloc.0
+ ldc.i4 1
+ beq.s next28a
+ leave begin
+ next28a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label20
+ next28:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next29
+ ldloc.0
+ ldc.i4 1
+ beq.s next29a
+ leave begin
+ next29a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label19
+ next29:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next30
+ ldloc.0
+ ldc.i4 1
+ beq.s next30a
+ leave begin
+ next30a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label18
+ next30:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next31
+ ldloc.0
+ ldc.i4 1
+ beq.s next31a
+ leave begin
+ next31a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label17
+ next31:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next32
+ ldloc.0
+ ldc.i4 1
+ beq.s next32a
+ leave begin
+ next32a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label16
+ next32:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next33
+ ldloc.0
+ ldc.i4 1
+ beq.s next33a
+ leave begin
+ next33a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label15
+ next33:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next34
+ ldloc.0
+ ldc.i4 1
+ beq.s next34a
+ leave begin
+ next34a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label14
+ next34:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next35
+ ldloc.0
+ ldc.i4 1
+ beq.s next35a
+ leave begin
+ next35a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label13
+ next35:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next36
+ ldloc.0
+ ldc.i4 1
+ beq.s next36a
+ leave begin
+ next36a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label12
+ next36:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next37
+ ldloc.0
+ ldc.i4 1
+ beq.s next37a
+ leave begin
+ next37a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label11
+ next37:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next38
+ ldloc.0
+ ldc.i4 1
+ beq.s next38a
+ leave begin
+ next38a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label10
+ next38:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next39
+ ldloc.0
+ ldc.i4 1
+ beq.s next39a
+ leave begin
+ next39a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label9
+ next39:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next40
+ ldloc.0
+ ldc.i4 1
+ beq.s next40a
+ leave begin
+ next40a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label8
+ next40:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next41
+ ldloc.0
+ ldc.i4 1
+ beq.s next41a
+ leave begin
+ next41a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label7
+ next41:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next42
+ ldloc.0
+ ldc.i4 1
+ beq.s next42a
+ leave begin
+ next42a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label6
+ next42:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next43
+ ldloc.0
+ ldc.i4 1
+ beq.s next43a
+ leave begin
+ next43a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label5
+ next43:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next44
+ ldloc.0
+ ldc.i4 1
+ beq.s next44a
+ leave begin
+ next44a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label4
+ next44:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next45
+ ldloc.0
+ ldc.i4 1
+ beq.s next45a
+ leave begin
+ next45a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label3
+ next45:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next46
+ ldloc.0
+ ldc.i4 1
+ beq.s next46a
+ leave begin
+ next46a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next46:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next47
+ ldloc.0
+ ldc.i4 1
+ beq.s next47a
+ leave begin
+ next47a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next47:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next48
+ ldloc.0
+ ldc.i4 1
+ beq.s next48a
+ leave begin
+ next48a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next48:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next49
+ ldloc.0
+ ldc.i4 1
+ beq.s next49a
+ leave begin
+ next49a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next49:
+ leave done
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_d.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_d.ilproj
new file mode 100644
index 0000000000..a1de51bbd2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_d.ilproj
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <SizeOfStackReserve>2000000</SizeOfStackReserve>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedexceptnofin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_r.ilproj b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_r.ilproj
new file mode 100644
index 0000000000..8669e15446
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwincascadedexceptnofin.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/general/app.config b/tests/src/JIT/Methodical/eh/nested/general/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/eh/nested/general/app.config
+++ b/tests/src/JIT/Methodical/eh/nested/general/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/nested/general/localvarincatch.il b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch.il
new file mode 100644
index 0000000000..7b10e6829e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch.il
@@ -0,0 +1,202 @@
+// local variable value should be preserved in all nested handlers
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module localvarincatch.exe
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ int32 V_0,
+ int32 V1,
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 0, ldloc.0 is 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1, ldloc.0 is 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2, ldloc.0 is 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3, ldloc.0 is 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "begin"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ ldc.i4 0
+ stloc.0
+begin:
+ ldstr "begin"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brtrue done
+ label0:
+ .try {
+ ldstr "In try 0, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ label1:
+ .try {
+ ldstr "In try 1, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ label2:
+ .try {
+ ldstr "In try 2, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ label3:
+ .try {
+ ldstr "In try 3, ldloc.0 is "
+ call void [System.Console]System.Console::Write(string)
+ ldloc.0
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.1
+ add
+ stloc.0
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.Exception {
+ pop
+ ldstr "In catch [mscorlib]System.Exception 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ brfalse.s next0
+ ldloc.0
+ ldc.i4 1
+ beq.s next0a
+ leave begin
+ next0a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label2
+ next0:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next1
+ ldloc.0
+ ldc.i4 1
+ beq.s next1a
+ leave begin
+ next1a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label1
+ next1:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next2
+ ldloc.0
+ ldc.i4 1
+ beq.s next2a
+ leave begin
+ next2a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next2:
+ leave done
+ }
+ ldloc.0
+ brfalse.s next3
+ ldloc.0
+ ldc.i4 1
+ beq.s next3a
+ leave begin
+ next3a:
+ ldstr "Unreached !!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave label0
+ next3:
+ leave done
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_d.ilproj
new file mode 100644
index 0000000000..2d4157c853
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="localvarincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_r.ilproj
new file mode 100644
index 0000000000..8baf76d17f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/localvarincatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="localvarincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch.il b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch.il
new file mode 100644
index 0000000000..13adb5cf7c
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch.il
@@ -0,0 +1,96 @@
+// Throwing an exception from an inner catch guarded with multiple catch blocks.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwinnestedcatch.exe
+
+.class private auto ansi beforefieldinit test extends [mscorlib]System.Object
+{
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\ttry"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\tcatch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog test::testLog
+ ret
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr "\ttry"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "\tcatch"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.DivideByZeroException::.ctor()
+ throw
+ leave IL_INNER
+ }
+ IL_INNER: leave IL_END
+ }
+ catch [mscorlib]System.DivideByZeroException
+ {
+ pop
+ ldstr "catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave IL_END
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "Fail"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave IL_END
+ }
+ IL_END:
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_d.ilproj
new file mode 100644
index 0000000000..6c7d21ec14
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_r.ilproj
new file mode 100644
index 0000000000..ad191b0f07
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/general/throwinnestedcatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedcatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/app.config b/tests/src/JIT/Methodical/eh/nested/nestedtry/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch.il
new file mode 100644
index 0000000000..e06f478762
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch.il
@@ -0,0 +1,649 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module nestedtrycatch.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_d.ilproj
new file mode 100644
index 0000000000..3514c8b12f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_r.ilproj
new file mode 100644
index 0000000000..7701446914
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtrycatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept.il
new file mode 100644
index 0000000000..937324780f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept.il
@@ -0,0 +1,999 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module nestedtryexcept.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ } filter {
+ pop
+ ldstr "In filter 50"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ ldstr "In except 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_d.ilproj
new file mode 100644
index 0000000000..28978b8ea4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_r.ilproj
new file mode 100644
index 0000000000..a7170f1ac6
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault.il
new file mode 100644
index 0000000000..e71699d2cc
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault.il
@@ -0,0 +1,599 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module nestedtryfault.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ } fault {
+ ldstr "In fault 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_d.ilproj
new file mode 100644
index 0000000000..935f5db2c2
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_r.ilproj
new file mode 100644
index 0000000000..b175712403
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfault_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally.il
new file mode 100644
index 0000000000..8df54824c7
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally.il
@@ -0,0 +1,749 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module nestedtryfinally.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ } finally {
+ ldstr "In finally 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_d.ilproj
new file mode 100644
index 0000000000..2720beee0b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_r.ilproj
new file mode 100644
index 0000000000..47d5cb136e
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/nestedtryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch.il
new file mode 100644
index 0000000000..d6ea3fabbe
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch.il
@@ -0,0 +1,653 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwinnestedtrycatch.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.SystemException {
+ ldstr "In catch [mscorlib]System.SystemException 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_d.ilproj
new file mode 100644
index 0000000000..61043ef99b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_r.ilproj
new file mode 100644
index 0000000000..a641a5f7d4
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtrycatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtrycatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept.il
new file mode 100644
index 0000000000..456e183230
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept.il
@@ -0,0 +1,1153 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwinnestedtryexcept.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 50"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In filter 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In except 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } filter {
+ pop
+ ldstr "In filter 50"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ endfilter
+ }
+ {
+ ldstr "In except 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+ } filter {
+ pop
+ ldstr "In filter 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ endfilter
+ }
+ {
+ ldstr "In except 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_d.ilproj
new file mode 100644
index 0000000000..18c4217bc0
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_r.ilproj
new file mode 100644
index 0000000000..6e91fcfdf3
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryexcept_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryexcept.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault.il
new file mode 100644
index 0000000000..5e39a37b4a
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault.il
@@ -0,0 +1,751 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwinnestedtryfault.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In fault 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } fault {
+ ldstr "In fault 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } fault {
+ ldstr "In fault 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfault
+ }
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_d.ilproj
new file mode 100644
index 0000000000..d740cc72c5
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_r.ilproj
new file mode 100644
index 0000000000..76c0fb6ee9
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfault_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryfault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally.il b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally.il
new file mode 100644
index 0000000000..5d77c2a687
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally.il
@@ -0,0 +1,751 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module throwinnestedtryfinally.exe
+
+
+.method public static int32 main() {
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "In try 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In try 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In innermost try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 49"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 48"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 47"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 46"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 45"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 44"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 43"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 42"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 41"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 40"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 39"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 38"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 37"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 36"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 35"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 34"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 33"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 32"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 31"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 30"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 29"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 28"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 27"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 26"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 25"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 24"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 23"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 22"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 21"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 20"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 19"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 18"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 17"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 16"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 15"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 14"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 13"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 12"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 11"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 10"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 9"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 8"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 7"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 6"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 5"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 4"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 3"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "In catch [mscorlib]System.Exception 0"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+begin:
+ .try {
+ ldstr "In try 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr "In try 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "In innermost try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ } finally {
+ ldstr "In finally 49"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 48"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 47"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 46"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 45"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 44"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 43"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 42"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 41"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 40"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 39"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 38"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 37"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 36"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 35"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 34"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 33"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 32"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 31"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 30"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 29"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 28"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 27"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 26"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 25"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 24"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 23"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 22"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 21"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 20"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 19"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 18"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 17"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 16"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 15"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 14"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 13"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 12"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 11"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 10"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 9"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 8"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 7"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 6"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 5"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 4"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 3"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } finally {
+ ldstr "In finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ } catch [mscorlib]System.Exception {
+ ldstr "In catch [mscorlib]System.Exception 0"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s done
+ leave begin
+ }
+
+ done:
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_d.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_d.ilproj
new file mode 100644
index 0000000000..8444acfe81
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_r.ilproj b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_r.ilproj
new file mode 100644
index 0000000000..8a87fd1e5f
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/nested/nestedtry/throwinnestedtryfinally_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinnestedtryfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/rethrow/app.config b/tests/src/JIT/Methodical/eh/rethrow/app.config
index 8077c95440..6f7bbd9d2b 100644
--- a/tests/src/JIT/Methodical/eh/rethrow/app.config
+++ b/tests/src/JIT/Methodical/eh/rethrow/app.config
@@ -24,4 +24,4 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
-</configuration> \ No newline at end of file
+</configuration>
diff --git a/tests/src/JIT/Methodical/eh/rethrow/project.lock.json b/tests/src/JIT/Methodical/eh/rethrow/project.lock.json
index 9eb9c16dc0..f02c27eb42 100644
--- a/tests/src/JIT/Methodical/eh/rethrow/project.lock.json
+++ b/tests/src/JIT/Methodical/eh/rethrow/project.lock.json
@@ -1,5 +1,5 @@
{
- "locked": false,
+ "locked": true,
"version": 2,
"targets": {
"DNXCore,Version=v5.0": {
diff --git a/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch.il b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch.il
new file mode 100644
index 0000000000..b7eb3698c1
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch.il
@@ -0,0 +1,160 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly rethrowinfinallyaftercatch {}
+
+.module rethrowinfinallyaftercatch.exe
+
+.namespace Test
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.IO.StringWriter expectedOut)
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+
+ ldloc.s expectedOut
+ ldstr "try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\ttry - throwing outer exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\tcatch - Outer Exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\t\ttry - throwing inner exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\t\tcatch - Inner Exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "\t\tfinally - Rethrowing Outer Exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "catch - Outer Exception"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog Test.Class1::testLog
+ ret
+ }
+
+ .method public hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class [mscorlib]System.Exception eo,
+ class [mscorlib]System.Exception ei,
+ class [mscorlib]System.Exception e,
+ int32 V_3)
+
+ ldsfld class [common]TestUtil.TestLog Test.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr "\ttry - throwing outer exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "Outer Exception"
+ newobj instance void [mscorlib]System.Exception::.ctor(string)
+ throw
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ stloc.0
+ ldstr "\tcatch - "
+ ldloc.0
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string,
+ string)
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ .try
+ {
+ ldstr "\t\ttry - throwing inner exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldstr "Inner Exception"
+ newobj instance void [mscorlib]System.Exception::.ctor(string)
+ throw
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ stloc.1
+ ldstr "\t\tcatch - "
+ ldloc.1
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string,
+ string)
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s L1
+
+ }
+ L1:
+ leave.s L2
+
+ }
+ finally
+ {
+ ldstr "\t\tfinally - Rethrowing Outer Exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ rethrow
+ }
+ L2:
+ br.s L2
+
+ }
+ }
+ catch [mscorlib]System.Exception
+ {
+ stloc.2
+ ldstr "catch - "
+ ldloc.2
+ callvirt instance string [mscorlib]System.Exception::get_Message()
+ call string [mscorlib]System.String::Concat(string,
+ string)
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s L3
+
+ }
+ L3:
+ ldsfld class [common]TestUtil.TestLog Test.Class1::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog Test.Class1::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_d.ilproj b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_d.ilproj
new file mode 100644
index 0000000000..d36b611e7b
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_d.ilproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rethrowinfinallyinsidecatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_r.ilproj b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_r.ilproj
new file mode 100644
index 0000000000..241ccdb4a8
--- /dev/null
+++ b/tests/src/JIT/Methodical/eh/rethrow/rethrowinfinallyinsidecatch_r.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="rethrowinfinallyinsidecatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/explicit/misc/_il_dbgrefarg_box_f8.ilproj b/tests/src/JIT/Methodical/explicit/misc/_il_dbgrefarg_box_f8.ilproj
new file mode 100644
index 0000000000..1eccdb4c0c
--- /dev/null
+++ b/tests/src/JIT/Methodical/explicit/misc/_il_dbgrefarg_box_f8.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refarg_box_f8.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/explicit/misc/_il_relrefarg_box_f8.ilproj b/tests/src/JIT/Methodical/explicit/misc/_il_relrefarg_box_f8.ilproj
new file mode 100644
index 0000000000..c4bbf998e6
--- /dev/null
+++ b/tests/src/JIT/Methodical/explicit/misc/_il_relrefarg_box_f8.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="refarg_box_f8.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/explicit/misc/refarg_box_f8.il b/tests/src/JIT/Methodical/explicit/misc/refarg_box_f8.il
new file mode 100644
index 0000000000..db1a4a641a
--- /dev/null
+++ b/tests/src/JIT/Methodical/explicit/misc/refarg_box_f8.il
@@ -0,0 +1,133 @@
+
+
+.assembly extern mscorlib
+{
+
+
+
+
+}
+.assembly 'refarg_box_f8'
+{
+
+
+
+}
+.module 'refarg_box_f8.exe'
+.namespace Test
+{
+ .class private auto ansi App extends [mscorlib]System.Object
+ {
+ .field private static class System.Object s_aa
+ .method private hidebysig static void
+ Litter() il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0,
+ int32[] V_1)
+ IL_0000: call void [mscorlib]System.GC::Collect()
+ IL_0005: ldc.i4.0
+ IL_0006: stloc.0
+ IL_0007: br.s IL_0018
+
+ IL_0009: ldc.i4 0x3e8
+ IL_000e: newarr [mscorlib]System.Int32
+ IL_0013: stloc.1
+ IL_0014: ldloc.0
+ IL_0015: ldc.i4.1
+ IL_0016: add
+ IL_0017: stloc.0
+ IL_0018: ldloc.0
+ IL_0019: ldc.i4 0x3e8
+ IL_001e: blt.s IL_0009
+
+ IL_0020: call void [mscorlib]System.GC::Collect()
+ call void [mscorlib]System.GC::WaitForPendingFinalizers()
+ IL_0025: ret
+ }
+
+ .method private hidebysig static int32
+ Test(float64& n) il managed
+ {
+ .maxstack 4
+ .locals (int32 V_0)
+ IL_0000: ldnull
+ IL_0001: stsfld class System.Object Test.App::s_aa
+ IL_0006: call void Test.App::Litter()
+ IL_000b: ldarg.0
+ IL_000c: ldind.r8
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ IL_000d: ldc.r8 3.1415926535896999
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ IL_0016: beq.s IL_0026
+
+ IL_0018: ldstr "*** failed ***"
+ IL_001d: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0022: ldc.i4.1
+ IL_0023: stloc.0
+ IL_0024: br.s IL_0034
+
+ IL_0026: ldstr "*** passed ***"
+ IL_002b: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0030: ldc.i4 0x64
+ IL_0031: stloc.0
+ IL_0032: br.s IL_0034
+
+ IL_0034: ldloc.0
+ IL_0035: ret
+ }
+
+ .method private hidebysig static int32
+ Main() il managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals (float64 ZZZZ,
+ int32 V_1,
+ int32 V_2)
+ IL_0000: ldc.r8 0.
+ IL_0009: stloc.0
+
+ ldsfld class System.Object Test.App::s_aa
+ unbox [mscorlib]System.Double
+
+ IL_000c: call int32 Test.App::Test(float64&)
+ IL_0011: stloc.1
+ IL_0012: call void [mscorlib]System.GC::Collect()
+ IL_0017: call void [mscorlib]System.GC::WaitForPendingFinalizers()
+ IL_001c: ldloc.1
+ IL_001d: stloc.2
+ IL_001e: br.s IL_0020
+
+ IL_0020: ldloc.2
+ IL_0021: ret
+ }
+
+ .method public hidebysig specialname rtspecialname static
+ void .cctor() il managed
+ {
+ .maxstack 1
+ .locals (float64 V_0)
+ IL_0000: ldc.r8 3.1415926535896999
+ IL_0009: stloc.0
+ IL_000a: ldloc.s V_0
+ IL_000c: box [mscorlib]System.Double
+ IL_0011: stsfld class System.Object Test.App::s_aa
+ IL_0016: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentLifetimes.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentLifetimes.il
new file mode 100644
index 0000000000..def94d7d26
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentLifetimes.il
@@ -0,0 +1,62 @@
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly small_repro
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+}
+
+
+.class private auto ansi beforefieldinit BugRepro
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (object V_0,
+ object & V_1)
+ ldc.i4.5
+ box int32
+ stloc.0
+
+ ldloca.s V_0
+ stloc.1
+
+ ldloca.s V_1
+ conv.u
+ conv.u8
+ call void [System.Console]System.Console::WriteLine(uint64)
+
+ ldloc.1
+ ldind.ref
+ dup
+ callvirt instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ call void [System.Console]System.Console::WriteLine(object)
+ call void [System.Console]System.Console::WriteLine(object)
+
+ call void [mscorlib]System.GC::Collect()
+
+ ldloc.1
+ ldind.ref
+ dup
+ callvirt instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ call void [System.Console]System.Console::WriteLine(object)
+ call void [System.Console]System.Console::WriteLine(object)
+
+ ldc.i4 100
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentlifetimes.ilproj b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentlifetimes.ilproj
new file mode 100644
index 0000000000..eb827fc583
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/dependentlifetimes.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="dependentLifetimes.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.il
new file mode 100644
index 0000000000..dc25a8c7c6
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.il
@@ -0,0 +1,206 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { auto }
+.assembly extern System { auto }
+.assembly EHTest {}
+.class public EHTest
+{
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 135258854
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 669963539
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+
+.method public static int32 f1() cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3,
+ int64 V_4,
+ int32 V_5,
+ int32 V_6)
+br start_try1
+start_fault1:
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+nop
+ TARGET_2_0:
+ TARGET_2_1:
+ TARGET_2_2:
+ TARGET_2_3:
+ TARGET_2_4:
+ ldc.i8 1
+ ldftn int32 EHTest::GetInt32_tailcall()
+ calli int32 ()
+ newarr [mscorlib]System.Int64
+ ldc.i4 24
+ stloc 6
+ ldloc 6
+ conv.i4
+ ldc.i4 62
+ rem
+ ldelem.i8
+ rem
+ ldc.i8 23
+ bgt TARGET_2_4
+try1_out:
+leave OUT0
+end_try1:
+
+OUT0:
+call void EHTest::f2()
+br start_try2
+start_fault2:
+br fault2_br
+start_catch1:
+catch1_out:
+call void EHTest::f2()
+pop
+newobj instance void [mscorlib]System.ArithmeticException::.ctor()
+throw
+end_catch1:
+
+
+start_catch2:
+pop
+br catch2_br
+catch2_br:
+start_try4:
+try4_out:
+newobj instance void [mscorlib]System.ArgumentNullException::.ctor()
+throw
+end_try4:
+
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+catch2_out:
+call void EHTest::f2()
+newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+throw
+end_catch2:
+
+
+exception_filter1:
+pop
+ldc.i4.1
+endfilter
+start_filter1:
+pop
+filter1_out: leave fault2_out
+end_filter1:
+
+fault2_br:
+start_try3:
+call void EHTest::f2()
+try3_out:
+leave fault2_out
+end_try3:
+
+exception_filter2:
+pop
+ldc.i4.0
+endfilter
+start_filter2:
+pop
+call void EHTest::f2()
+filter2_out: leave fault2_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.0
+endfilter
+start_filter3:
+pop
+call void EHTest::f2()
+filter3_out: leave fault2_out
+end_filter3:
+
+call void EHTest::f2()
+fault2_out: endfault
+end_fault2:
+
+
+start_try2:
+call void EHTest::f2()
+try2_out:
+newobj instance void [mscorlib]System.ArgumentOutOfRangeException::.ctor()
+throw
+end_try2:
+OUT:
+ ldc.i4.8
+ret
+OUT1:
+leave OUT
+.try start_try4 to end_try4 finally handler start_finally1 to end_finally1
+.try start_try3 to end_try3 catch [mscorlib]System.MethodAccessException handler start_catch1 to end_catch1
+.try start_try3 to end_try3 catch [mscorlib]System.ArithmeticException handler start_catch2 to end_catch2
+.try start_try3 to end_try3 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try3 to end_try3 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try3 to end_try3 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try2 to end_try2 fault handler start_fault2 to end_fault2
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int32 V_3,
+ int32 V_4)
+.try
+{
+call int32 EHTest::f1()
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
+
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.ilproj b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.ilproj
new file mode 100644
index 0000000000..0dcda9992b
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/ehDescriptorPtrUpdate.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ehDescriptorPtrUpdate.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.il
new file mode 100644
index 0000000000..a19dec370c
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.il
@@ -0,0 +1,988 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { auto }
+.assembly extern System { auto }
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int64 fld0
+ .field private static int64 fld1
+ .field private static int32 fld2
+ .field private static int64 fld3
+ .field private static int64 fld4
+ .field private static int32 fld5
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 1136776502
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 1108205630
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+.method public static int64 f0(int64 arg0,int32 arg1,int64 arg2) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2)
+br start_try1
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+start_try1:
+br try1_br
+try1_br:
+start_try2:
+call void EHTest::f2()
+try2_out:
+newobj instance void [mscorlib]System.CannotUnloadAppDomainException::.ctor()
+throw
+end_try2:
+
+start_fault1:
+br fault1_br
+start_finally2:
+finally2_out: endfinally
+end_finally2:
+
+
+fault1_br:
+start_try3:
+nop
+ TARGET_0_0:
+ ldc.i4 94
+ starg.s arg1
+ ldc.i4 118
+ stsfld int32 EHTest::fld2
+ ldc.i4 33
+ ldc.i4 64
+ or
+ ldc.i4 95
+ starg.s arg1
+ ldc.i4 12
+ or
+ ldc.i4 12
+ ble TARGET_0_2
+ TARGET_0_1:
+ ldc.i4 63
+ ldc.i4 64
+ stloc.0
+ ldc.i4.5
+ stsfld int32 EHTest::fld5
+ ldc.i4 75
+ ldc.i4 52
+ starg.s arg1
+ ldc.i4 99
+ starg.s arg1
+ ldc.i4 16
+ ldc.i4 64
+ stsfld int32 EHTest::fld5
+ ldc.i4 67
+ ldc.i4 38
+ stsfld int32 EHTest::fld5
+ ldc.i4 100
+ ldc.i4 32
+ stsfld int32 EHTest::fld5
+ ldc.i4 63
+ ldc.i4 121
+ ldc.i4 80
+ ldc.i4 74
+ ldc.i4 51
+ ldc.i4 37
+ ldc.i4 43
+ stsfld int32 EHTest::fld2
+ ldc.i4 88
+ ldc.i4 67
+ ldc.i4 110
+ stloc.0
+ ldc.i4 93
+ stsfld int32 EHTest::fld5
+ ldc.i4 35
+ ldc.i4 69
+ starg.s arg1
+ ldc.i4 30
+ stsfld int32 EHTest::fld5
+ ldc.i4 117
+ ldc.i4 68
+ stsfld int32 EHTest::fld5
+ ldc.i4 88
+ ldc.i4 32
+ ldc.i4 55
+ starg.s arg1
+ ldc.i4 115
+ ldc.i4.5
+ ldc.i4 87
+ ldc.i4 12
+ ldc.i4 87
+ ldc.i4 100
+ stloc.0
+ ldc.i4 22
+ ldc.i4 68
+ stsfld int32 EHTest::fld5
+ ldc.i4 108
+ ldc.i4 81
+ ldc.i4 54
+ ldc.i4 32
+ ldc.i4 94
+ ldc.i4 91
+ starg.s arg1
+ ldc.i4 125
+ starg.s arg1
+ ldc.i4 19
+ ldc.i4 121
+ stloc.0
+ ldc.i4 56
+ newobj instance void int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4.8
+ ldc.i4.6
+ ldc.i4 38
+ ldc.i4 71
+ starg.s arg1
+ ldc.i4 63
+ stsfld int32 EHTest::fld5
+ ldc.i4 40
+ ldc.i4.5
+ starg.s arg1
+ ldc.i4 108
+ ldc.i4.7
+ ldc.i4 68
+ starg.s arg1
+ ldc.i4 56
+ ldc.i4 26
+ stloc.0
+ ldc.i4 43
+ stloc.0
+ ldc.i4 124
+ starg.s arg1
+ ldc.i4 98
+ ldc.i4.2
+ stsfld int32 EHTest::fld5
+ ldc.i4 94
+ stsfld int32 EHTest::fld5
+ ldc.i4 82
+ stsfld int32 EHTest::fld5
+ ldc.i4 38
+ ldc.i4 72
+ starg.s arg1
+ ldc.i4 9
+ stloc.0
+ ldc.i4 85
+ ldc.i4 113
+ ldc.i4 74
+ ldc.i4 75
+ ldc.i4.5
+ ldc.i4 110
+ stloc.0
+ ldc.i4 84
+ ldc.i4 36
+ ldc.i4 69
+ ldc.i4 98
+ ldc.i4.7
+ starg.s arg1
+ ldc.i4 18
+ stloc.0
+ ldc.i4 82
+ ldc.i4 114
+ stloc.0
+ ldc.i4 75
+ stsfld int32 EHTest::fld2
+ ldc.i4 108
+ ldc.i4 61
+ ldc.i4 94
+ starg.s arg1
+ ldc.i4 87
+ ldc.i4 12
+ stloc.0
+ ldc.i4 126
+ stloc.0
+ ldc.i4 72
+ ldc.i4 16
+ ldc.i4 39
+ ldc.i4 39
+ ldc.i4 53
+ starg.s arg1
+ ldc.i4 89
+ ldc.i4 90
+ stsfld int32 EHTest::fld2
+ ldc.i4 47
+ ldc.i4 120
+ ldc.i4 47
+ stloc.0
+ ldc.i4 95
+ call instance int32 int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ not
+ neg
+ neg
+ ldc.i4 81
+ bge TARGET_0_3
+ TARGET_0_2:
+ call int32 EHTest::GetInt32()
+ ldc.i4 85
+ cgt
+ stsfld int32 EHTest::fld5
+ ldc.i4 32
+ ldc.i4 59
+ stsfld int32 EHTest::fld5
+ ldc.i4 37
+ starg.s arg1
+ ldc.i4 71
+ bge.un TARGET_0_3
+ TARGET_0_3:
+ sizeof native int
+ stloc.0
+ ldc.i4 92
+ ldc.i4 98
+ clt
+ ldc.i4.0
+ stloc.0
+ ldc.i4 83
+ bge.un TARGET_0_4
+ TARGET_0_4:
+ ldc.i8 0x123456
+ starg.s arg0
+ ldc.i8 109
+ ldc.i8 64
+ stsfld int64 EHTest::fld1
+ ldc.i8 62
+ mul
+ ldc.i8 52
+ blt TARGET_0_4
+try3_out:
+leave fault1_out
+end_try3:
+
+fault1_out: endfault
+end_fault1:
+
+
+call void EHTest::f2()
+try1_out:
+leave OUT0
+end_try1:
+
+OUT0:
+nop
+ TARGET_1_0:
+ ldc.i4 106
+ ldc.i4 24
+ shl
+ starg.s arg1
+ ldc.i4 40
+ starg.s arg1
+ ldc.i4 88
+ neg
+ ldc.i4 71
+ ble.un TARGET_1_4
+ TARGET_1_1:
+ ldarg.1
+ stloc.0
+ ldc.i4 56
+ conv.i8
+ starg.s arg2
+ ldc.i8 56
+ ldc.i8 5
+ div
+ ldc.i8 4
+ rem
+ ldc.i8 105
+ ceq
+ stsfld int32 EHTest::fld2
+ ldc.i4.0
+ starg.s arg1
+ ldc.i4 57
+ conv.i4
+ ldc.i4 90
+ add
+ ldc.i4 79
+ bgt.un TARGET_1_1
+ TARGET_1_2:
+ ldc.i4 101
+ ldc.i4 9
+ stloc.0
+ ldc.i4 65
+ starg.s arg1
+ ldc.i4 122
+ ldc.i4 107
+ ldc.i4.6
+ ldc.i4 32
+ starg.s arg1
+ ldc.i4 50
+ stsfld int32 EHTest::fld5
+ ldc.i4 126
+ ldc.i4 113
+ newobj instance void int32[13...,68...,1...,3...,98...,23...]::.ctor(int32,int32,int32,int32,int32,int32)
+ ldc.i4 18
+ ldc.i4 71
+ ldc.i4 106
+ stsfld int32 EHTest::fld5
+ ldc.i4 92
+ ldc.i4 74
+ ldc.i4 92
+ ldc.i4 93
+ call instance int32 int32[13...,68...,1...,3...,98...,23...]::Get(int32,int32,int32,int32,int32,int32)
+ ldc.i4 66
+ blt.un TARGET_1_1
+ TARGET_1_3:
+ ldc.i8 114
+ stsfld int64 EHTest::fld4
+ ldsfld int64 EHTest::fld4
+ starg.s arg0
+ sizeof [mscorlib]System.UIntPtr
+ starg.s arg1
+ ldc.i4 87
+ starg.s arg1
+ ldc.i4 62
+ ldc.i4 83
+ stloc.0
+ ldc.i4 96
+ stloc.0
+ ldc.i4 78
+ mul
+ newarr [mscorlib]System.Int32
+ ldc.i4.2
+ ldelem.i4
+ ldc.i4 62
+ starg.s arg1
+ ldc.i4 105
+ starg.s arg1
+ ldc.i4 35
+ ldc.i4 77
+ ldc.i4 36
+ stloc.0
+ ldc.i4 30
+ ldc.i4 36
+ starg.s arg1
+ ldc.i4 38
+ starg.s arg1
+ ldc.i4 47
+ ldc.i4 50
+ ldc.i4 44
+ ldc.i4 72
+ stloc.0
+ ldc.i4 90
+ ldc.i4 89
+ ldc.i4 121
+ ldc.i4 10
+ ldc.i4 83
+ stloc.0
+ ldc.i4 34
+ ldc.i4 119
+ ldc.i4 94
+ ldc.i4 62
+ stloc.0
+ ldc.i4.4
+ ldc.i4 33
+ newobj instance void int64[89...,0...,2...,34...,75...,124...,10...,86...,126...,126...,78...,113...,42...,2...,105...,44...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 124
+ ldc.i4 34
+ ldc.i4.8
+ ldc.i4 54
+ ldc.i4 46
+ ldc.i4 11
+ starg.s arg1
+ ldc.i4 36
+ ldc.i4 124
+ ldc.i4 72
+ ldc.i4 94
+ ldc.i4 42
+ ldc.i4 99
+ starg.s arg1
+ ldc.i4 96
+ starg.s arg1
+ ldc.i4 42
+ starg.s arg1
+ ldc.i4 37
+ ldc.i4 70
+ stloc.0
+ ldc.i4 17
+ starg.s arg1
+ ldc.i4 65
+ stsfld int32 EHTest::fld2
+ ldc.i4 88
+ ldc.i4 35
+ ldc.i4 94
+ stloc.0
+ ldc.i4 20
+ ldc.i4 23
+ ldc.i4 112
+ call instance int64 int64[89...,0...,2...,34...,75...,124...,10...,86...,126...,126...,78...,113...,42...,2...,105...,44...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4.8
+ stsfld int32 EHTest::fld2
+ ldc.i4 103
+ newarr [mscorlib]System.Int64
+ ldc.i4 122
+ ldelem.i8
+ starg.s arg0
+ ldarg.0
+ blt TARGET_1_2
+ TARGET_1_4:
+ldc.i4 0
+ ldc.i4.5
+ ldc.i4 55
+ stloc.0
+ ldc.i4 32
+ mul
+ bge TARGET_1_0
+br start_try4
+start_try4:
+nop
+ TARGET_2_0:
+ ldc.i8 15
+ ldc.i8 127
+ starg.s arg0
+ ldc.i8 117
+ or
+ stsfld int64 EHTest::fld3
+ ldc.i8 49
+ ldc.i8 17
+ ble.un TARGET_2_4
+ TARGET_2_1:
+ldc.i8 0
+ ldc.i8 82
+ blt TARGET_2_3
+ TARGET_2_2:
+ ldarga arg1
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ starg.s arg1
+ ldc.i4 83
+ ldc.i4 112
+ blt.un TARGET_2_3
+ TARGET_2_3:
+ ldsfld int32 EHTest::fld2
+ newarr [mscorlib]System.Int32
+ ldc.i4 91
+ ldelem.i4
+ ldc.i4 77
+ starg.s arg1
+ ldc.i4 34
+ stloc.0
+ ldc.i4 114
+ stsfld int32 EHTest::fld5
+ ldc.i4 109
+ stloc.0
+ ldc.i4 99
+ ldc.i4 106
+ mul
+ ble.un TARGET_2_0
+ TARGET_2_4:
+ ldsfld int64 EHTest::fld4
+ ldc.i8 41
+ stloc 2
+ ldloca 2
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ stloc.2
+ ldarg.0
+ stsfld int64 EHTest::fld3
+ ldc.i8 100
+ neg
+ ble.un TARGET_2_3
+try4_out:
+newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+throw
+end_try4:
+
+start_catch1:
+catch1_out:
+pop
+newobj instance void [mscorlib]System.NullReferenceException::.ctor()
+throw
+end_catch1:
+
+
+start_catch2:
+pop
+catch2_out:
+nop
+ TARGET_3_0:
+ ldc.i4 31
+ ldc.i4 11
+ shl
+ ldc.i4 118
+ stloc.0
+ ldc.i4 95
+ beq TARGET_3_1
+ TARGET_3_1:
+ ldc.i8 61
+ ldc.i8 109
+ add
+ stloc.2
+ ldc.i8 14
+ stloc.1
+ ldc.i8 120
+ box int64
+ unbox int64
+ ldind.i8
+ neg
+ starg.s arg0
+ ldc.i8 82
+ ldc.i8 56
+ ble.un TARGET_3_2
+ TARGET_3_2:
+ call int32 EHTest::GetInt32()
+ ldc.i4 117
+ add
+ ldc.i4 102
+ starg.s arg1
+ ldc.i4 25
+ bge.un TARGET_3_3
+ TARGET_3_3:
+ ldarg.0
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ bge.un TARGET_3_3
+ TARGET_3_4:
+ call int64 EHTest::GetInt64()
+ stloc.1
+ ldsfld int32 EHTest::fld5
+ newarr [mscorlib]System.Int64
+ ldc.i4 59
+ ldc.i4 12
+ shl
+ ldelem.i8
+ starg.s arg2
+ ldc.i8 42
+ ldc.i8 37
+ stloc.1
+ ldc.i8 102
+ starg.s arg0
+ ldc.i8 99
+ stsfld int64 EHTest::fld1
+ ldc.i8 43
+ stloc.2
+ ldc.i8 83
+ starg.s arg0
+ ldc.i8 121
+ starg.s arg0
+ ldc.i8 72
+ rem
+ ldc.i8 124
+ clt
+ ldc.i4.3
+ or
+ ldc.i4 123
+ stloc.0
+ ldc.i4 78
+ beq TARGET_3_2
+newobj instance void [mscorlib]System.OverflowException::.ctor()
+throw
+end_catch2:
+
+
+exception_filter1:
+pop
+ldc.i4.1
+endfilter
+start_filter1:
+pop
+call void EHTest::f2()
+filter1_out: leave OUT1
+end_filter1:
+
+exception_filter2:
+pop
+ldc.i4.0
+endfilter
+start_filter2:
+pop
+filter2_out: leave OUT1
+end_filter2:
+
+OUT1:
+leave OUT
+OUT:
+ ldc.i8 31
+ret
+.try start_try4 to end_try4 catch [mscorlib]System.StackOverflowException handler start_catch1 to end_catch1
+.try start_try4 to end_try4 catch [mscorlib]System.NullReferenceException handler start_catch2 to end_catch2
+.try start_try4 to end_try4 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try4 to end_try4 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try3 to end_try3 finally handler start_finally2 to end_finally2
+.try start_try2 to end_try2 fault handler start_fault1 to end_fault1
+.try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+}
+
+.method public static int32 f1(int32 arg0,int64 arg1,int64 arg2,int32 arg3,int64 arg4) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1)
+br start_try1
+start_try1:
+br try1_br
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+try1_br:
+start_try2:
+nop
+ TARGET_4_0:
+ ldc.i8 118
+ ldc.i8 88
+ clt
+ ldc.i8 113
+ ldc.i8 124
+ cgt
+ starg.s arg0
+ ldc.i4 125
+ ldc.i4 119
+ rem
+ ldc.i4 107
+ or
+ stsfld int32 EHTest::fld2
+ ldc.i4 19
+ stsfld int32 EHTest::fld2
+ ldc.i4 65
+ ldc.i4 31
+ starg.s arg3
+ ldc.i4 25
+ ldc.i4 120
+ ldc.i4 42
+ ldc.i4 90
+ ldc.i4 62
+ ldc.i4 88
+ stsfld int32 EHTest::fld5
+ ldc.i4 10
+ ldc.i4 55
+ stloc.0
+ ldc.i4 99
+ stloc.0
+ ldc.i4 124
+ stsfld int32 EHTest::fld5
+ ldc.i4 100
+ ldc.i4 112
+ ldc.i4 39
+ ldc.i4.5
+ starg.s arg0
+ ldc.i4 121
+ ldc.i4 51
+ stsfld int32 EHTest::fld5
+ ldc.i4 53
+ ldc.i4 33
+ ldc.i4 47
+ ldc.i4 56
+ starg.s arg3
+ ldc.i4 54
+ starg.s arg3
+ ldc.i4 95
+ ldc.i4 53
+ ldc.i4 104
+ stloc.0
+ ldc.i4 32
+ ldc.i4 127
+ newobj instance void int64[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 72
+ starg.s arg0
+ ldc.i4 100
+ ldc.i4 89
+ starg.s arg0
+ ldc.i4 115
+ ldc.i4 15
+ stloc.0
+ ldc.i4 41
+ ldc.i4 95
+ ldc.i4 94
+ ldc.i4 51
+ ldc.i4 81
+ ldc.i4 118
+ ldc.i4 22
+ ldc.i4 82
+ ldc.i4 73
+ stsfld int32 EHTest::fld5
+ ldc.i4 83
+ ldc.i4 114
+ stloc.0
+ ldc.i4 68
+ ldc.i4 31
+ stsfld int32 EHTest::fld2
+ ldc.i4 59
+ stsfld int32 EHTest::fld2
+ ldc.i4 118
+ ldc.i4 25
+ stsfld int32 EHTest::fld2
+ ldc.i4 70
+ ldc.i4 32
+ stloc.0
+ ldc.i4 17
+ ldc.i4 33
+ starg.s arg3
+ ldc.i4 47
+ stsfld int32 EHTest::fld5
+ ldc.i4 9
+ ldc.i4 89
+ ldc.i4 18
+ ldc.i4 37
+ stsfld int32 EHTest::fld2
+ ldc.i4 44
+ starg.s arg0
+ ldc.i4 43
+ starg.s arg0
+ ldc.i4.7
+ call instance int64 int64[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ stloc.1
+ ldc.i8 70
+ ldc.i8 14
+ xor
+ ldc.i8 92
+ starg.s arg1
+ ldc.i8 112
+ bge TARGET_4_2
+ TARGET_4_1:
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i8 80
+ stsfld int64 EHTest::fld3
+ ldc.i8 27
+ stsfld int64 EHTest::fld4
+ ldc.i8 102
+ not
+ bgt.un TARGET_4_3
+ TARGET_4_2:
+ ldloc.1
+ ldc.i8 50
+ ldc.i8 107
+ sub
+ starg.s arg2
+ ldc.i8 55
+ bge.un TARGET_4_0
+ TARGET_4_3:
+ ldc.i4 96
+ ldarg.3
+ starg.s arg0
+ ldarg.3
+ div
+ stloc.0
+ ldc.i4 68
+ ldc.i4.1
+ stloc.0
+ ldc.i4 107
+ beq TARGET_4_0
+ TARGET_4_4:
+ ldloc.1
+ stsfld int64 EHTest::fld0
+ ldc.i8 9
+ stsfld int64 EHTest::fld3
+ ldc.i8 98
+ ldc.i8 85
+ bge TARGET_4_1
+try2_out:
+newobj instance void [mscorlib]System.ArgumentNullException::.ctor()
+throw
+end_try2:
+
+call void EHTest::f2()
+try1_out:
+newobj instance void [mscorlib]System.OutOfMemoryException::.ctor()
+throw
+end_try1:
+
+start_finally2:
+br finally2_br
+start_catch1:
+catch1_out:
+pop
+newobj instance void [mscorlib]System.NotFiniteNumberException::.ctor()
+throw
+end_catch1:
+
+
+exception_filter1:
+pop
+ldc.i4.1
+endfilter
+start_filter1:
+pop
+nop
+ TARGET_5_0:
+ ldc.i4 27
+ starg.s arg0
+ ldc.i4 36
+ starg.s arg0
+ ldc.i4 92
+ starg.s arg3
+ ldc.i4 50
+ stloc.0
+ ldc.i4 23
+ ldc.i4 14
+ mul
+ ldc.i4 72
+ stsfld int32 EHTest::fld2
+ ldc.i4 27
+ cgt
+ ldc.i4.6
+ stloc.0
+ ldc.i4 19
+ bgt.un TARGET_5_4
+ TARGET_5_1:
+ ldsfld int64 EHTest::fld1
+ ldc.i8 103
+ bgt TARGET_5_2
+ TARGET_5_2:
+ ldc.i8 127
+ ldc.i8 113
+ xor
+ ldc.i8 106
+ blt TARGET_5_4
+ TARGET_5_3:
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ starg.s arg1
+ ldc.i8 108
+ ldc.i8 69
+ sub
+ ldc.i8 21
+ starg.s arg4
+ ldc.i8 27
+ blt.un TARGET_5_0
+ TARGET_5_4:
+ ldc.i4 101
+ ldc.i4 103
+ stloc.0
+ ldc.i4 86
+ mul
+ ldc.i4 124
+ starg.s arg0
+ ldc.i4 95
+ add
+ newarr [mscorlib]System.Int64
+ ldc.i4 70
+ stloc.0
+ ldc.i4 61
+ ldelem.i8
+ stsfld int64 EHTest::fld1
+ ldc.i8 45
+ ldc.i8 75
+ starg.s arg1
+ ldc.i8 49
+ bge.un TARGET_5_2
+filter1_out: leave finally2_out
+end_filter1:
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+filter2_out: leave finally2_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.0
+endfilter
+start_filter3:
+pop
+br filter3_br
+start_finally3:
+call void EHTest::f2()
+finally3_out: endfinally
+end_finally3:
+
+
+filter3_br:
+start_try4:
+call void EHTest::f2()
+try4_out:
+newobj instance void [mscorlib]System.MissingFieldException::.ctor()
+throw
+end_try4:
+
+call void EHTest::f2()
+filter3_out: leave finally2_out
+end_filter3:
+
+finally2_br:
+start_try3:
+call void EHTest::f2()
+try3_out:
+leave finally2_out
+end_try3:
+
+call void EHTest::f2()
+finally2_out: endfinally
+end_finally2:
+
+
+OUT:
+ ldc.i4 87
+ret
+OUT0:
+leave OUT
+.try start_try4 to end_try4 finally handler start_finally3 to end_finally3
+.try start_try3 to end_try3 catch [mscorlib]System.OutOfMemoryException handler start_catch1 to end_catch1
+.try start_try3 to end_try3 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try3 to end_try3 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try3 to end_try3 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try2 to end_try2 finally handler start_finally1 to end_finally1
+.try start_try1 to end_try1 finally handler start_finally2 to end_finally2
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int64 V_3,
+ int32 V_4,
+ int32 V_5)
+.try
+{
+ ldc.i4.6
+ ldc.i8 43
+ ldc.i8 90
+ ldc.i4 113
+ ldc.i8 22
+call int32 EHTest::f1(int32 ,int64 ,int64 ,int32 ,int64 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.ilproj b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.ilproj
new file mode 100644
index 0000000000..52a05f47f2
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="fgloop.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.il
new file mode 100644
index 0000000000..d15ca6f4f6
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.il
@@ -0,0 +1,903 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { auto }
+.assembly extern System { auto }
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int64 fld0
+ .field private static int64 fld1
+ .field private static int64 fld2
+ .field private static int64 fld3
+ .field private static int32 fld4
+ .field private static int64 fld5
+ .field private static int64 fld6
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 1229647333
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 198558402
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_jmp()
+ {
+ jmp int32 EHTest::GetInt32()
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_jmp()
+ {
+ jmp int64 EHTest::GetInt64()
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+.method public static int32 f0() cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int32 V_3,
+ int32 V_4)
+br start_try1
+start_fault1:
+br fault1_br
+start_finally1:
+nop
+ TARGET_0_0:
+ ldc.i8 62
+ ldc.i8 122
+ add
+ ldc.i8 82
+ bgt TARGET_0_4
+ TARGET_0_1:
+ ldc.i8 111
+ stsfld int64 EHTest::fld5
+ ldc.i8 63
+ ldc.i8 118
+ add
+ stsfld int64 EHTest::fld3
+ ldc.i8 121
+ ldc.i8 109
+ blt TARGET_0_0
+ TARGET_0_2:
+ ldc.i4 57
+ not
+ ldc.i4 5
+ shr
+ ldc.i4 75
+ stloc 4
+ ldc.i4 83
+ stsfld int32 EHTest::fld4
+ ldc.i4 18
+ ble TARGET_0_3
+ TARGET_0_3:
+ ldc.i4 11
+ ldc.i4 36
+ or
+ newarr [mscorlib]System.Int32
+ ldc.i4 32
+ stloc.0
+ ldc.i4 68
+ ldelem.i4
+ newarr [mscorlib]System.Int64
+ ldc.i4 95
+ ldelem.i8
+ ldc.i8 62
+ div
+ ldc.i8 0
+ bge TARGET_0_2
+ TARGET_0_4:
+ ldc.i8 73
+ stloc 1
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldsfld int64 EHTest::fld3
+ stloc.1
+ ldc.i8 56
+ neg
+ ble TARGET_0_0
+finally1_out: endfinally
+end_finally1:
+
+
+fault1_br:
+start_try2:
+try2_out:
+newobj instance void [mscorlib]System.DllNotFoundException::.ctor()
+throw
+end_try2:
+
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+try1_out:
+newobj instance void [mscorlib]System.EntryPointNotFoundException::.ctor()
+throw
+end_try1:
+
+OUT:
+ ldc.i4 74
+ stloc.0
+ ldc.i4 56
+ stloc.0
+ ldc.i4 102
+ stloc.2
+ ldc.i4 60
+ stsfld int32 EHTest::fld4
+ ldc.i4 96
+ret
+OUT0:
+leave OUT
+.try start_try2 to end_try2 finally handler start_finally1 to end_finally1
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static int32 f1(int64 arg0,int64 arg1) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2)
+br start_try1
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+start_try1:
+br try1_br
+start_finally2:
+br finally2_br
+finally2_br:
+start_try3:
+try3_out:
+newobj instance void [mscorlib]System.PlatformNotSupportedException::.ctor()
+throw
+end_try3:
+
+start_fault1:
+fault1_out: endfault
+end_fault1:
+
+
+finally2_out: endfinally
+end_finally2:
+
+
+try1_br:
+start_try2:
+br try2_br
+start_fault2:
+fault2_out: endfault
+end_fault2:
+
+
+try2_br:
+start_try4:
+nop
+ TARGET_1_0:
+ ldc.i4 35
+ ldc.i4 28
+ shr
+ ldc.i4 83
+ ldc.i4 113
+ ldc.i4 99
+ stloc.0
+ ldc.i4 43
+ stsfld int32 EHTest::fld4
+ ldc.i4 22
+ ldc.i4 125
+ stloc.0
+ ldc.i4 92
+ ldc.i4.5
+ stloc.0
+ ldc.i4 83
+ ldc.i4 54
+ ldc.i4 23
+ ldc.i4 20
+ stsfld int32 EHTest::fld4
+ ldc.i4 73
+ ldc.i4 106
+ ldc.i4 111
+ stsfld int32 EHTest::fld4
+ ldc.i4 58
+ stsfld int32 EHTest::fld4
+ ldc.i4 113
+ stloc.0
+ ldc.i4 72
+ ldc.i4 19
+ ldc.i4 87
+ newobj instance void int32[,,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 46
+ ldc.i4 51
+ ldc.i4 92
+ ldc.i4 32
+ ldc.i4 124
+ stsfld int32 EHTest::fld4
+ ldc.i4 47
+ ldc.i4.6
+ ldc.i4 64
+ ldc.i4 18
+ ldc.i4 16
+ stsfld int32 EHTest::fld4
+ ldc.i4.8
+ ldc.i4 21
+ stsfld int32 EHTest::fld4
+ ldc.i4 47
+ ldc.i4 13
+ ldc.i4.3
+ ldc.i4 27
+ call instance int32 int32[,,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 98
+ stsfld int32 EHTest::fld4
+ ldc.i4 21
+ bge TARGET_1_4
+ TARGET_1_1:
+ ldarg.1
+ starg.s arg0
+ ldc.i8 87
+ ldc.i8 66
+ bgt TARGET_1_1
+ TARGET_1_2:
+ ldarg.1
+ ldftn int64 EHTest::GetInt64_tailcall()
+ calli int64 ()
+ conv.i4
+ ldc.i4 21
+ ldc.i4 47
+ ldc.i4 82
+ ldc.i4 80
+ ldc.i4 94
+ stsfld int32 EHTest::fld4
+ ldc.i4 29
+ stsfld int32 EHTest::fld4
+ ldc.i4 98
+ stsfld int32 EHTest::fld4
+ ldc.i4 90
+ ldc.i4 61
+ ldc.i4.3
+ stloc.0
+ ldc.i4 61
+ ldc.i4 107
+ ldc.i4 115
+ ldc.i4 41
+ ldc.i4 103
+ ldc.i4 64
+ ldc.i4 18
+ stloc.0
+ ldc.i4.8
+ ldc.i4 96
+ ldc.i4 74
+ ldc.i4 122
+ ldc.i4 79
+ stloc.0
+ ldc.i4 124
+ ldc.i4 30
+ stloc.0
+ ldc.i4 32
+ ldc.i4 62
+ stsfld int32 EHTest::fld4
+ ldc.i4 45
+ ldc.i4.0
+ ldc.i4 112
+ ldc.i4.5
+ stsfld int32 EHTest::fld4
+ ldc.i4 114
+ stloc.0
+ ldc.i4 28
+ newobj instance void int32[55...85,102...113,84...104,55...104,43...83,64...93,118...122,67...71,76...105,83...123,115...124,16...56,117...127,26...104,51...97,60...104,88...110,18...80,27...47,119...123,103...122,111...112]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 99
+ stsfld int32 EHTest::fld4
+ ldc.i4.2
+ stsfld int32 EHTest::fld4
+ ldc.i4 32
+ ldc.i4 51
+ ldc.i4 122
+ ldc.i4 11
+ ldc.i4 37
+ ldc.i4 43
+ ldc.i4 105
+ ldc.i4 120
+ ldc.i4 101
+ stsfld int32 EHTest::fld4
+ ldc.i4 101
+ ldc.i4 73
+ ldc.i4 91
+ stsfld int32 EHTest::fld4
+ ldc.i4 121
+ ldc.i4 71
+ stsfld int32 EHTest::fld4
+ ldc.i4 37
+ stloc.0
+ ldc.i4 34
+ ldc.i4.3
+ stsfld int32 EHTest::fld4
+ ldc.i4.3
+ stsfld int32 EHTest::fld4
+ ldc.i4.3
+ ldc.i4 85
+ ldc.i4 28
+ ldc.i4 102
+ stsfld int32 EHTest::fld4
+ ldc.i4 12
+ stloc.0
+ ldc.i4.7
+ ldc.i4 126
+ stloc.0
+ ldc.i4 25
+ stloc.0
+ ldc.i4 100
+ ldc.i4 81
+ stloc.0
+ ldc.i4 82
+ ldc.i4 51
+ ldc.i4 87
+ ldc.i4 126
+ stloc.0
+ ldc.i4 102
+ stsfld int32 EHTest::fld4
+ ldc.i4 119
+ stloc.0
+ ldc.i4 67
+ stsfld int32 EHTest::fld4
+ ldc.i4 58
+ ldc.i4 126
+ stsfld int32 EHTest::fld4
+ ldc.i4 61
+ stloc.0
+ ldc.i4.5
+ call instance int32 int32[55...85,102...113,84...104,55...104,43...83,64...93,118...122,67...71,76...105,83...123,115...124,16...56,117...127,26...104,51...97,60...104,88...110,18...80,27...47,119...123,103...122,111...112]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ newarr [mscorlib]System.Int32
+ ldc.i4.6
+ stsfld int32 EHTest::fld4
+ ldc.i4 96
+ stsfld int32 EHTest::fld4
+ ldc.i4 14
+ ldelem.i4
+ ldc.i4 44
+ ldc.i4 64
+ ldc.i4 107
+ stsfld int32 EHTest::fld4
+ ldc.i4 48
+ stsfld int32 EHTest::fld4
+ ldc.i4 109
+ ldc.i4 53
+ ldc.i4 74
+ ldc.i4 61
+ stsfld int32 EHTest::fld4
+ ldc.i4 56
+ stloc.0
+ ldc.i4 111
+ ldc.i4 45
+ stsfld int32 EHTest::fld4
+ ldc.i4 60
+ stsfld int32 EHTest::fld4
+ ldc.i4 85
+ ldc.i4 45
+ ldc.i4 58
+ ldc.i4 69
+ ldc.i4 55
+ ldc.i4 121
+ ldc.i4 41
+ ldc.i4 80
+ ldc.i4 107
+ ldc.i4 125
+ stsfld int32 EHTest::fld4
+ ldc.i4 112
+ stsfld int32 EHTest::fld4
+ ldc.i4 115
+ stloc.0
+ ldc.i4 74
+ stloc.0
+ ldc.i4 107
+ ldc.i4 112
+ ldc.i4 95
+ stsfld int32 EHTest::fld4
+ ldc.i4.0
+ stloc.0
+ ldc.i4 100
+ ldc.i4 46
+ ldc.i4.5
+ ldc.i4 80
+ ldc.i4 56
+ ldc.i4 20
+ ldc.i4 36
+ ldc.i4 56
+ ldc.i4 97
+ stsfld int32 EHTest::fld4
+ ldc.i4 78
+ stsfld int32 EHTest::fld4
+ ldc.i4 122
+ ldc.i4 121
+ newobj instance void int32[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 94
+ ldc.i4.6
+ ldc.i4 86
+ ldc.i4 76
+ ldc.i4.1
+ stsfld int32 EHTest::fld4
+ ldc.i4 118
+ ldc.i4 74
+ ldc.i4 38
+ ldc.i4 113
+ stsfld int32 EHTest::fld4
+ ldc.i4 80
+ ldc.i4 69
+ stsfld int32 EHTest::fld4
+ ldc.i4 13
+ ldc.i4 67
+ stsfld int32 EHTest::fld4
+ ldc.i4 123
+ ldc.i4 105
+ ldc.i4 55
+ stsfld int32 EHTest::fld4
+ ldc.i4 78
+ stsfld int32 EHTest::fld4
+ ldc.i4 19
+ ldc.i4.4
+ ldc.i4 87
+ ldc.i4 99
+ ldc.i4 76
+ ldc.i4 42
+ stsfld int32 EHTest::fld4
+ ldc.i4 60
+ ldc.i4 102
+ ldc.i4 43
+ stloc.0
+ ldc.i4 117
+ ldc.i4 30
+ ldc.i4.1
+ ldc.i4 9
+ stsfld int32 EHTest::fld4
+ ldc.i4 111
+ ldc.i4 113
+ stsfld int32 EHTest::fld4
+ ldc.i4 62
+ ldc.i4 104
+ ldc.i4 115
+ ldc.i4 51
+ ldc.i4 76
+ ldc.i4 110
+ ldc.i4 99
+ call instance int32 int32[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 63
+ ldc.i4 106
+ stsfld int32 EHTest::fld4
+ ldc.i4 122
+ ldc.i4 14
+ stsfld int32 EHTest::fld4
+ ldc.i4 125
+ ldc.i4 100
+ ldc.i4 77
+ ldc.i4 127
+ ldc.i4 22
+ ldc.i4 22
+ stloc.0
+ ldc.i4 123
+ stsfld int32 EHTest::fld4
+ ldc.i4 33
+ ldc.i4 112
+ stsfld int32 EHTest::fld4
+ ldc.i4 30
+ stsfld int32 EHTest::fld4
+ ldc.i4 70
+ ldc.i4 59
+ ldc.i4 114
+ ldc.i4 11
+ ldc.i4 91
+ stloc.0
+ ldc.i4 99
+ ldc.i4 65
+ stsfld int32 EHTest::fld4
+ ldc.i4 11
+ ldc.i4 16
+ ldc.i4 10
+ newobj instance void int64[,,,,,,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 75
+ ldc.i4 75
+ ldc.i4 123
+ stloc.0
+ ldc.i4 108
+ ldc.i4 110
+ stloc.0
+ ldc.i4 64
+ stsfld int32 EHTest::fld4
+ ldc.i4 80
+ ldc.i4 88
+ ldc.i4.5
+ ldc.i4 97
+ ldc.i4 18
+ stloc.0
+ ldc.i4 93
+ ldc.i4 9
+ ldc.i4 43
+ stsfld int32 EHTest::fld4
+ ldc.i4 79
+ stsfld int32 EHTest::fld4
+ ldc.i4 124
+ stloc.0
+ ldc.i4 107
+ ldc.i4 43
+ ldc.i4 91
+ ldc.i4 25
+ ldc.i4 33
+ stloc.0
+ ldc.i4 70
+ ldc.i4 111
+ ldc.i4 119
+ ldc.i4 78
+ stsfld int32 EHTest::fld4
+ ldc.i4 10
+ call instance int64 int64[,,,,,,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ bgt.un TARGET_1_2
+ TARGET_1_3:
+ call int64 EHTest::GetInt64_jmp()
+ ldarg.0
+ mul
+ ldc.i8 119
+ xor
+ starg.s arg0
+ ldc.i8 61
+ ldc.i8 11
+ beq TARGET_1_2
+ TARGET_1_4:
+ ldc.i4 43
+ ldc.i4 89
+ ldc.i4 29
+ rem
+ ldc.i4 8
+ shr
+ ldc.i4 42
+ ceq
+ blt.un TARGET_1_4
+try4_out:
+newobj instance void [mscorlib]System.AppDomainUnloadedException::.ctor()
+throw
+end_try4:
+
+try2_out:
+newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+throw
+end_try2:
+
+nop
+ TARGET_2_0:
+ call int64 EHTest::GetInt64()
+ stloc.1
+ ldc.i8 25
+ ldc.i8 16
+ stsfld int64 EHTest::fld2
+ ldc.i8 15
+ beq TARGET_2_3
+ TARGET_2_1:
+ call int64 EHTest::GetInt64()
+ conv.i8
+ ldsfld int64 EHTest::fld2
+ ble.un TARGET_2_1
+ TARGET_2_2:
+ ldc.i4 47
+ ldc.i4 86
+ ldc.i4 61
+ rem
+ stloc.0
+ ldc.i4 66
+ box int32
+ unbox int32
+ ldind.i4
+ blt.un TARGET_2_2
+ TARGET_2_3:
+ ldc.i4 33
+ stloc.0
+ ldc.i4 55
+ ldc.i4.5
+ or
+ stsfld int32 EHTest::fld4
+ ldc.i4 58
+ ldc.i4 52
+ or
+ stsfld int32 EHTest::fld4
+ ldc.i4 44
+ newarr [mscorlib]System.Int64
+ ldc.i4 36
+ ldelem.i8
+ ldc.i8 15
+ ldc.i8 26
+ sub
+ stsfld int64 EHTest::fld2
+ ldc.i8 81
+ stsfld int64 EHTest::fld6
+ ldc.i8 80
+ ldc.i8 88
+ sub
+ bge.un TARGET_2_2
+ TARGET_2_4:
+ ldc.i8 8
+ ldc.i8 68
+ div
+ ldc.i8 8
+ sub
+ ldc.i8 117
+ mul
+ box int64
+ unbox int64
+ ldind.i8
+ starg.s arg1
+ ldc.i8 56
+ ldc.i8 20
+ starg.s arg0
+ ldc.i8 45
+ beq TARGET_2_0
+try1_out:
+leave OUT0
+end_try1:
+OUT:
+ ldc.i4 29
+ newarr [mscorlib]System.Int32
+ ldc.i4 103
+ stsfld int32 EHTest::fld4
+ ldc.i4 15
+ ldelem.i4
+ not
+ stsfld int32 EHTest::fld4
+ ldc.i4 48
+ ldc.i4 74
+ stloc.0
+ ldc.i4 16
+ ceq
+ stloc.0
+ ldc.i4 87
+ stloc.0
+ ldc.i4 42
+ stsfld int32 EHTest::fld4
+ ldc.i4 30
+ stsfld int32 EHTest::fld4
+ ldc.i4 28
+ stloc.0
+ ldc.i4.7
+ret
+OUT0:
+nop
+ TARGET_3_0:
+ ldc.i8 78
+ ldc.i8 19
+ div
+ stloc.1
+ ldc.i8 21
+ box int64
+ unbox int64
+ ldind.i8
+ ldc.i8 85
+ blt TARGET_3_0
+ TARGET_3_1:
+ ldsflda int64 EHTest::fld3
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i8 85
+ stloc.2
+ ldc.i8 25
+ stsfld int64 EHTest::fld1
+ ldc.i8 103
+ clt
+ stsfld int32 EHTest::fld4
+ ldc.i4 77
+ conv.i4
+ ldc.i4 88
+ stloc.0
+ ldc.i4 69
+ ldc.i4 84
+ ldc.i4.5
+ ldc.i4 105
+ ldc.i4 32
+ ldc.i4 81
+ stloc.0
+ ldc.i4 103
+ ldc.i4 12
+ ldc.i4 40
+ stsfld int32 EHTest::fld4
+ ldc.i4 91
+ ldc.i4 123
+ ldc.i4 100
+ stsfld int32 EHTest::fld4
+ ldc.i4 91
+ stloc.0
+ ldc.i4 47
+ ldc.i4 67
+ ldc.i4 107
+ ldc.i4 77
+ ldc.i4 16
+ ldc.i4 89
+ ldc.i4 13
+ stsfld int32 EHTest::fld4
+ ldc.i4 52
+ ldc.i4 121
+ ldc.i4 19
+ ldc.i4 47
+ ldc.i4.8
+ stsfld int32 EHTest::fld4
+ ldc.i4.7
+ ldc.i4 36
+ stsfld int32 EHTest::fld4
+ ldc.i4 61
+ stsfld int32 EHTest::fld4
+ ldc.i4 27
+ stsfld int32 EHTest::fld4
+ ldc.i4 125
+ ldc.i4 36
+ stsfld int32 EHTest::fld4
+ ldc.i4 96
+ ldc.i4 39
+ ldc.i4 77
+ stsfld int32 EHTest::fld4
+ ldc.i4 29
+ ldc.i4 20
+ ldc.i4 15
+ stsfld int32 EHTest::fld4
+ ldc.i4 88
+ ldc.i4 126
+ ldc.i4.0
+ newobj instance void int32[67...72,77...122,8...55,10...14,49...124,5...38,81...103,40...104,68...93,75...101,8...91,70...78,75...85,106...109,1...71,71...126,105...109,88...123,122...123,5...127,89...103,18...73,90...113,116...119,15...78,100...100,46...75,76...120,76...87]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 120
+ ldc.i4 12
+ stsfld int32 EHTest::fld4
+ ldc.i4 109
+ ldc.i4.1
+ stsfld int32 EHTest::fld4
+ ldc.i4 29
+ ldc.i4 121
+ ldc.i4 19
+ ldc.i4 76
+ ldc.i4 122
+ ldc.i4 101
+ ldc.i4 9
+ ldc.i4 66
+ ldc.i4 115
+ ldc.i4 79
+ stsfld int32 EHTest::fld4
+ ldc.i4 31
+ ldc.i4 102
+ stsfld int32 EHTest::fld4
+ ldc.i4 55
+ ldc.i4 40
+ ldc.i4 25
+ stloc.0
+ ldc.i4 108
+ ldc.i4 89
+ ldc.i4 86
+ ldc.i4 123
+ ldc.i4.4
+ ldc.i4 124
+ ldc.i4 18
+ stloc.0
+ ldc.i4 63
+ ldc.i4 48
+ ldc.i4.7
+ ldc.i4 22
+ stsfld int32 EHTest::fld4
+ ldc.i4 98
+ ldc.i4 122
+ ldc.i4 100
+ ldc.i4 12
+ ldc.i4 78
+ ldc.i4 58
+ call instance int32 int32[67...72,77...122,8...55,10...14,49...124,5...38,81...103,40...104,68...93,75...101,8...91,70...78,75...85,106...109,1...71,71...126,105...109,88...123,122...123,5...127,89...103,18...73,90...113,116...119,15...78,100...100,46...75,76...120,76...87]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 15
+ stsfld int32 EHTest::fld4
+ ldc.i4 39
+ bge.un TARGET_3_4
+ TARGET_3_2:
+ ldftn int64 EHTest::GetInt64_tailcall()
+ calli int64 ()
+ ldc.i4 47
+ ldc.i4 7
+ shl
+ newarr [mscorlib]System.Int64
+ ldc.i4 57
+ stloc.0
+ ldc.i4 127
+ stsfld int32 EHTest::fld4
+ ldc.i4 108
+ stsfld int32 EHTest::fld4
+ ldc.i4 123
+ ldelem.i8
+ starg.s arg1
+ ldc.i8 14
+ ldc.i8 55
+ starg.s arg1
+ ldc.i8 23
+ starg.s arg1
+ ldc.i8 25
+ starg.s arg1
+ ldc.i8 100
+ add
+ ldc.i8 84
+ sub
+ bgt TARGET_3_4
+ TARGET_3_3:
+ ldloc.2
+ stloc.2
+ ldc.i8 26
+ box int64
+ unbox int64
+ ldind.i8
+ starg.s arg0
+ ldc.i8 89
+ starg.s arg0
+ ldc.i8 1
+ starg.s arg1
+ ldc.i8 117
+ stloc.1
+ ldc.i8 34
+ starg.s arg0
+ ldc.i8 102
+ ldc.i8 105
+ stloc.1
+ ldc.i8 40
+ bge TARGET_3_2
+ TARGET_3_4:
+ ldarg.0
+ ldc.i8 15
+ ldc.i8 66
+ sub
+ beq TARGET_3_3
+leave OUT
+.try start_try4 to end_try4 fault handler start_fault2 to end_fault2
+.try start_try3 to end_try3 fault handler start_fault1 to end_fault1
+.try start_try2 to end_try2 finally handler start_finally2 to end_finally2
+.try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3,
+ int32 V_4)
+.try
+{
+ ldc.i8 1
+ ldc.i8 24
+call int32 EHTest::f1(int64 ,int64 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.ilproj b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.ilproj
new file mode 100644
index 0000000000..0f98e20ccf
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679008/fgloop2.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="fgloop2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.il b/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.il
new file mode 100644
index 0000000000..cd2848f9d9
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.il
@@ -0,0 +1,615 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { auto }
+.assembly extern System { auto }
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int32 fld0
+ .field private static int32 fld1
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 180861962
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 1679228860
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+.method public static int32 f0(int64 arg0,int32 arg1) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int64 V_3,
+ int32 V_4,
+ int32 V_5)
+br start_try1
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+start_try1:
+try1_out:
+leave OUT0
+end_try1:
+
+OUT:
+ ldc.i4 56
+ret
+OUT0:
+leave OUT
+.try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+}
+
+.method public static int64 f1(int32 arg0,int32 arg1,int32 arg2) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3,
+ int64 V_4)
+br start_try1
+start_fault1:
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+try1_out:
+leave OUT0
+end_try1:
+
+OUT:
+ ldc.i8 77
+ stloc.1
+ ldc.i8 110
+ret
+OUT0:
+nop
+ TARGET_0_0:
+ ldc.i4 112
+ ldc.i4 74
+ rem
+ stsfld int32 EHTest::fld1
+ ldc.i4 98
+ ldc.i4 88
+ stloc.2
+ ldc.i4 106
+ bgt.un TARGET_0_4
+ TARGET_0_1:
+ call int64 EHTest::GetInt64_tailcall()
+ ldc.i8 67
+ sub
+ ldc.i8 74
+ div
+ ldc.i8 114
+ stloc 4
+ ldc.i8 94
+ add
+ ldc.i8 103
+ ble.un TARGET_0_1
+ TARGET_0_2:
+ ldsfld int32 EHTest::fld1
+ ldc.i4 28
+ ldc.i4 92
+ stsfld int32 EHTest::fld1
+ ldc.i4.1
+ ldc.i4 65
+ ldc.i4 67
+ ldc.i4 68
+ stloc.0
+ ldc.i4 90
+ stsfld int32 EHTest::fld0
+ ldc.i4 42
+ ldc.i4 30
+ stloc.2
+ ldc.i4 23
+ ldc.i4 96
+ ldc.i4.6
+ ldc.i4 67
+ stsfld int32 EHTest::fld1
+ ldc.i4 72
+ ldc.i4 43
+ starg.s arg2
+ ldc.i4 60
+ ldc.i4 60
+ stsfld int32 EHTest::fld1
+ ldc.i4 50
+ ldc.i4 66
+ ldc.i4 23
+ starg.s arg1
+ ldc.i4 10
+ stloc.0
+ ldc.i4.6
+ ldc.i4 43
+ ldc.i4 100
+ starg.s arg1
+ ldc.i4 53
+ starg.s arg2
+ ldc.i4 31
+ newobj instance void int64[5...,95...,105...,103...,45...,12...,50...,110...,17...,101...,80...,45...,11...,74...,68...,20...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 96
+ stsfld int32 EHTest::fld0
+ ldc.i4 19
+ ldc.i4 59
+ ldc.i4 44
+ stloc.0
+ ldc.i4 111
+ ldc.i4 109
+ ldc.i4 77
+ stloc.0
+ ldc.i4 53
+ ldc.i4 122
+ stsfld int32 EHTest::fld0
+ ldc.i4 82
+ ldc.i4 58
+ ldc.i4 80
+ stsfld int32 EHTest::fld0
+ ldc.i4 59
+ stloc.2
+ ldc.i4 13
+ ldc.i4 119
+ ldc.i4 38
+ ldc.i4 59
+ ldc.i4 83
+ ldc.i4 123
+ stloc.2
+ ldc.i4 79
+ ldc.i4 103
+ ldc.i4 32
+ ldc.i4 100
+ starg.s arg1
+ ldc.i4 125
+ call instance int64 int64[5...,95...,105...,103...,45...,12...,50...,110...,17...,101...,80...,45...,11...,74...,68...,20...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 121
+ ldc.i8 43
+ add
+ ldc.i8 37
+ stloc 4
+ ldc.i8 83
+ add
+ neg
+ bgt.un TARGET_0_1
+ TARGET_0_3:
+ sizeof [mscorlib]System.UIntPtr
+ stloc.2
+ ldsfld int32 EHTest::fld1
+ ldc.i4 67
+ newarr [mscorlib]System.Int32
+ ldc.i4 120
+ stloc.0
+ ldc.i4 126
+ ldelem.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 115
+ ldc.i4 116
+ starg.s arg2
+ ldc.i4 78
+ or
+ stloc.0
+ ldc.i4 50
+ ldc.i4 41
+ ldc.i4 116
+ stsfld int32 EHTest::fld0
+ ldc.i4 103
+ ldc.i4 26
+ stloc.0
+ ldc.i4 98
+ stsfld int32 EHTest::fld0
+ ldc.i4 78
+ ldc.i4 71
+ ldc.i4 86
+ stsfld int32 EHTest::fld1
+ ldc.i4 104
+ starg.s arg2
+ ldc.i4.1
+ starg.s arg2
+ ldc.i4 116
+ stloc.0
+ ldc.i4 81
+ ldc.i4 40
+ stsfld int32 EHTest::fld1
+ ldc.i4 100
+ stsfld int32 EHTest::fld1
+ ldc.i4 25
+ ldc.i4 53
+ ldc.i4 26
+ ldc.i4.7
+ stloc.0
+ ldc.i4 27
+ ldc.i4 67
+ stsfld int32 EHTest::fld0
+ ldc.i4 39
+ ldc.i4 111
+ starg.s arg1
+ ldc.i4 84
+ starg.s arg0
+ ldc.i4 108
+ stloc.0
+ ldc.i4 121
+ stloc.2
+ ldc.i4 75
+ starg.s arg1
+ ldc.i4 96
+ ldc.i4 89
+ ldc.i4 119
+ ldc.i4 32
+ ldc.i4 20
+ stloc.2
+ ldc.i4 55
+ ldc.i4 97
+ newobj instance void int64[74...,50...,108...,89...,75...,25...,31...,78...,106...,110...,37...,54...,45...,53...,0...,48...,42...,22...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 74
+ ldc.i4 116
+ stsfld int32 EHTest::fld0
+ ldc.i4 110
+ ldc.i4 123
+ stsfld int32 EHTest::fld1
+ ldc.i4 118
+ ldc.i4 117
+ ldc.i4 97
+ stloc.2
+ ldc.i4 103
+ stsfld int32 EHTest::fld0
+ ldc.i4 13
+ ldc.i4.6
+ ldc.i4 103
+ stsfld int32 EHTest::fld0
+ ldc.i4 104
+ ldc.i4 58
+ ldc.i4 16
+ stsfld int32 EHTest::fld0
+ ldc.i4.6
+ ldc.i4 44
+ ldc.i4 126
+ ldc.i4 14
+ stsfld int32 EHTest::fld0
+ ldc.i4 24
+ stsfld int32 EHTest::fld1
+ ldc.i4 40
+ ldc.i4 55
+ stsfld int32 EHTest::fld1
+ ldc.i4 31
+ ldc.i4 78
+ stloc.2
+ ldc.i4 62
+ starg.s arg2
+ ldc.i4 102
+ ldc.i4 116
+ ldc.i4 62
+ stloc.0
+ ldc.i4 48
+ ldc.i4 36
+ ldc.i4 66
+ call instance int64 int64[74...,50...,108...,89...,75...,25...,31...,78...,106...,110...,37...,54...,45...,53...,0...,48...,42...,22...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ stloc 4
+ ldc.i8 111
+ stloc 4
+ ldc.i8 59
+ not
+ ldc.i8 47
+ stloc.1
+ ldc.i8 48
+ bge.un TARGET_0_1
+ TARGET_0_4:
+ ldc.i8 26
+ stloc 4
+ ldc.i8 50
+ ldc.i8 101
+ ldc.i8 56
+ xor
+ rem
+ ldc.i8 48
+ stloc.1
+ ldc.i8 118
+ blt TARGET_0_0
+br start_try2
+start_fault2:
+br fault2_br
+fault2_br:
+start_try3:
+br try3_br
+start_finally1:
+nop
+ TARGET_1_0:
+ ldc.i8 108
+ ldc.i8 4
+ or
+ ldc.i8 36
+ add
+ stloc.3
+ ldc.i8 26
+ ldc.i8 47
+ stloc 4
+ ldc.i8 84
+ stloc 4
+ ldc.i8 91
+ stloc.3
+ ldc.i8 25
+ stloc.3
+ ldc.i8 114
+ xor
+ ldc.i8 91
+ bgt TARGET_1_3
+ TARGET_1_1:
+ ldc.i8 72
+ stloc.3
+ ldc.i8 94
+ ldc.i8 1
+ or
+ stloc.3
+ ldc.i8 42
+ ldc.i8 25
+ bge.un TARGET_1_1
+ TARGET_1_2:
+ call int32 EHTest::GetInt32_tailcall()
+ ldc.i4 54
+ neg
+ bgt.un TARGET_1_3
+ TARGET_1_3:
+ldc.i4 0
+ ldc.i4 15
+ stsfld int32 EHTest::fld1
+ ldc.i4 11
+ starg.s arg1
+ ldc.i4 85
+ stsfld int32 EHTest::fld1
+ ldc.i4.1
+ bgt.un TARGET_1_2
+ TARGET_1_4:
+ ldc.i4 68
+ not
+ newarr [mscorlib]System.Int32
+ ldc.i4 122
+ stloc.2
+ ldc.i4 53
+ ldelem.i4
+ stloc.0
+ ldc.i4 126
+ ldc.i4 112
+ stsfld int32 EHTest::fld1
+ ldc.i4 67
+ stloc.0
+ ldc.i4.8
+ cgt
+ ldc.i4.5
+ ceq
+ ldc.i4 23
+ starg.s arg0
+ ldc.i4 91
+ blt.un TARGET_1_1
+finally1_out: endfinally
+end_finally1:
+
+
+try3_br:
+start_try4:
+try4_out:
+leave try3_out
+end_try4:
+
+call void EHTest::f2()
+try3_out:
+leave fault2_out
+end_try3:
+
+start_finally2:
+nop
+ TARGET_2_0:
+ call int64 EHTest::GetInt64()
+ stloc 4
+ ldc.i8 96
+ ldc.i8 46
+ ldc.i8 100
+ div
+ blt TARGET_2_4
+ TARGET_2_1:
+ ldc.i4 11
+ ldc.i4 112
+ mul
+ ldc.i4 38
+ blt.un TARGET_2_3
+ TARGET_2_2:
+ldc.i4 0
+ ldc.i4 26
+ shl
+ ldc.i4 15
+ stloc.0
+ ldc.i4 87
+ ldc.i4 50
+ or
+ bgt TARGET_2_3
+ TARGET_2_3:
+ ldc.i8 19
+ stloc.3
+ ldc.i8 2
+ ldc.i8 93
+ or
+ stloc 4
+ ldc.i8 60
+ ldc.i8 75
+ bgt TARGET_2_4
+ TARGET_2_4:
+ sizeof native unsigned int
+ ldc.i4 120
+ starg.s arg1
+ ldc.i4 13
+ neg
+ stloc.0
+ ldc.i4 61
+ beq TARGET_2_4
+finally2_out: endfinally
+end_finally2:
+
+
+fault2_out: endfault
+end_fault2:
+
+
+start_try2:
+nop
+ TARGET_3_0:
+ ldloc.3
+ ldloca 4
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i8 39
+ rem
+ bgt.un TARGET_3_2
+ TARGET_3_1:
+ ldsflda int32 EHTest::fld0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ newobj instance void int32[21...]::.ctor(int32)
+ ldc.i4 80
+ call instance int32 int32[21...]::Get(int32)
+ ldc.i4.8
+ stsfld int32 EHTest::fld1
+ ldc.i4 104
+ starg.s arg2
+ ldc.i4 10
+ sub
+ ldc.i4 37
+ bgt.un TARGET_3_2
+ TARGET_3_2:
+ldc.i4 0
+ ldc.i4 36
+ blt TARGET_3_0
+ TARGET_3_3:
+ ldc.i8 98
+ stloc.1
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i8 30
+ conv.i8
+ ldc.i8 17
+ or
+ bgt.un TARGET_3_0
+ TARGET_3_4:
+ ldc.i4 123
+ stloc.2
+ ldc.i4 43
+ ldc.i4 82
+ bge.un TARGET_3_4
+try2_out:
+newobj instance void [mscorlib]System.SystemException::.ctor()
+throw
+end_try2:
+
+OUT1:
+nop
+ TARGET_4_0:
+ ldc.i8 70
+ stloc 4
+ ldc.i8 11
+ not
+ ldc.i8 26
+ blt.un TARGET_4_3
+ TARGET_4_1:
+ ldc.i8 97
+ stloc.3
+ ldc.i8 17
+ not
+ ldc.i8 115
+ blt TARGET_4_3
+ TARGET_4_2:
+ ldc.i4 89
+ ldc.i4 25
+ stloc.2
+ ldc.i4 35
+ not
+ stsfld int32 EHTest::fld0
+ ldc.i4 99
+ beq TARGET_4_2
+ TARGET_4_3:
+ ldc.i4 17
+ stsfld int32 EHTest::fld0
+ ldc.i4 125
+ ldc.i4 13
+ shl
+ starg.s arg2
+ ldc.i4 39
+ starg.s arg2
+ ldc.i4 102
+ ldc.i4 72
+ stloc.2
+ ldc.i4 34
+ bge.un TARGET_4_4
+ TARGET_4_4:
+ ldc.i4 101
+ not
+ ldc.i4 75
+ mul
+ ldc.i4 118
+ bge.un TARGET_4_0
+leave OUT
+.try start_try4 to end_try4 finally handler start_finally1 to end_finally1
+.try start_try3 to end_try3 finally handler start_finally2 to end_finally2
+.try start_try2 to end_try2 fault handler start_fault2 to end_fault2
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2)
+.try
+{
+ ldc.i4 124
+ stloc.0
+ ldc.i4 124
+ ldc.i4 57
+ stloc.2
+ ldc.i4 116
+ ldc.i4 19
+ stloc.2
+ ldc.i4 110
+call int64 EHTest::f1(int32 ,int32 ,int32 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.ilproj b/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.ilproj
new file mode 100644
index 0000000000..6e8d39b6b6
--- /dev/null
+++ b/tests/src/JIT/Methodical/flowgraph/dev10_bug679053/regionLive.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="regionLive.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/inlining/dev10_bug719093/app.config b/tests/src/JIT/Methodical/inlining/dev10_bug719093/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/inlining/dev10_bug719093/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.il b/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.il
new file mode 100644
index 0000000000..532d827c00
--- /dev/null
+++ b/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.il
@@ -0,0 +1,364 @@
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly Variance1
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module Variance1.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class interface private abstract auto ansi I`1<-S>
+{
+ .method public hidebysig newslot abstract virtual
+ instance string Print(!S 'value') cil managed
+ {
+ }
+
+}
+
+.class public auto ansi beforefieldinit CBase
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit CDerived
+ extends CBase
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void CBase::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit MyStruct2
+ extends [mscorlib]System.ValueType
+ implements class I`1<object>,
+ class I`1<class CDerived>
+{
+ .field public int32 n
+ .method public hidebysig newslot virtual final
+ instance string Print(class CDerived 'value') cil managed
+ {
+ .maxstack 3
+ .locals init (string V_0)
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: dup
+ IL_0003: ldfld int32 MyStruct2::n
+ IL_0008: ldc.i4.1
+ IL_0009: add
+ IL_000a: stfld int32 MyStruct2::n
+ IL_000f: ldstr "Print(CDerived)"
+ IL_0014: stloc.0
+ IL_0015: br.s IL_0017
+
+ IL_0017: ldloc.0
+ IL_0018: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance string Print(object 'value') cil managed
+ {
+ .maxstack 3
+ .locals init (string V_0)
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: dup
+ IL_0003: ldfld int32 MyStruct2::n
+ IL_0008: ldc.i4.1
+ IL_0009: add
+ IL_000a: stfld int32 MyStruct2::n
+ IL_000f: ldstr "Print(object)"
+ IL_0014: stloc.0
+ IL_0015: br.s IL_0017
+
+ IL_0017: ldloc.0
+ IL_0018: ret
+ }
+
+}
+
+.class private auto ansi beforefieldinit Conversion`2<.ctor (class I`1<!TCBase>) TMyStruct,TCBase>
+ extends [mscorlib]System.Object
+{
+ .field public !TCBase 'value'
+ .method public hidebysig instance string
+ Caller1() cil managed
+ {
+ .maxstack 2
+ .locals init (!TMyStruct V_0,
+ string V_1,
+ !TMyStruct V_2)
+ IL_0000: nop
+ IL_0001: ldloca.s V_2
+ IL_0003: initobj !TMyStruct
+ IL_0009: ldloc.2
+ IL_000a: box !TMyStruct
+ IL_000f: brfalse.s IL_001c
+
+ IL_0011: ldloca.s V_2
+ IL_0013: initobj !TMyStruct
+ IL_0019: ldloc.2
+ IL_001a: br.s IL_0021
+
+ IL_001c: call !!0 [mscorlib]System.Activator::CreateInstance<!TMyStruct>()
+ IL_0021: stloc.0
+ IL_0022: ldloca.s V_0
+ IL_0024: ldarg.0
+ IL_0025: ldfld !1 class Conversion`2<!TMyStruct,!TCBase>::'value'
+ IL_002a: constrained. !TMyStruct
+ IL_0030: callvirt instance string class I`1<!TCBase>::Print(!0)
+ IL_0035: stloc.1
+ IL_0036: br.s IL_0038
+
+ IL_0038: ldloc.1
+ IL_0039: ret
+ }
+
+ .method public hidebysig instance string
+ Caller2(!TMyStruct& 'instance') cil managed
+ {
+ .maxstack 2
+ .locals init (string V_0)
+ IL_0000: nop
+ IL_0001: ldarg.1
+ IL_0002: ldarg.0
+ IL_0003: ldfld !1 class Conversion`2<!TMyStruct,!TCBase>::'value'
+ IL_0008: constrained. !TMyStruct
+ IL_000e: callvirt instance string class I`1<!TCBase>::Print(!0)
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0016
+
+ IL_0016: ldloc.0
+ IL_0017: ret
+ }
+
+ .method public hidebysig instance string
+ Caller3(!TMyStruct& 'instance',
+ !TCBase param) cil managed
+ {
+ .maxstack 2
+ .locals init (string V_0)
+ IL_0000: nop
+ IL_0001: ldarg.1
+ IL_0002: ldarg.2
+ IL_0003: constrained. !TMyStruct
+ IL_0009: callvirt instance string class I`1<!TCBase>::Print(!0)
+ IL_000e: stloc.0
+ IL_000f: br.s IL_0011
+
+ IL_0011: ldloc.0
+ IL_0012: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+.class private auto ansi beforefieldinit Program
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ Verification(string res1,
+ string res2,
+ string res3,
+ string expected,
+ int32 n) cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0,
+ bool V_1)
+ IL_0000: nop
+ IL_0001: ldstr " "
+ IL_0006: ldarg.0
+ IL_0007: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: nop
+ IL_0012: ldstr " "
+ IL_0017: ldarg.1
+ IL_0018: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_001d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0022: nop
+ IL_0023: ldstr " "
+ IL_0028: ldarg.2
+ IL_0029: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_002e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0033: nop
+ IL_0034: ldstr " "
+ IL_0039: ldarg.s n
+ IL_003b: box [mscorlib]System.Int32
+ IL_0040: call string [mscorlib]System.String::Concat(object,
+ object)
+ IL_0045: call void [System.Console]System.Console::WriteLine(string)
+ IL_004a: nop
+ IL_004b: ldarg.0
+ IL_004c: ldarg.3
+ IL_004d: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_0052: brfalse.s IL_0070
+
+ IL_0054: ldarg.1
+ IL_0055: ldarg.3
+ IL_0056: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_005b: brfalse.s IL_0070
+
+ IL_005d: ldarg.2
+ IL_005e: ldarg.3
+ IL_005f: call bool [mscorlib]System.String::op_Equality(string,
+ string)
+ IL_0064: brfalse.s IL_0070
+
+ IL_0066: ldarg.s n
+ IL_0068: ldc.i4.2
+ IL_0069: ceq
+ IL_006b: ldc.i4.0
+ IL_006c: ceq
+ IL_006e: br.s IL_0071
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.1
+ IL_0072: ldloc.1
+ IL_0073: brtrue.s IL_0085
+
+ IL_0075: nop
+ IL_0076: ldstr "PASS\n"
+ IL_007b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0080: nop
+ IL_0081: ldc.i4.0
+ IL_0082: stloc.0
+ IL_0083: br.s IL_0094
+
+ IL_0085: ldstr "FAIL\n"
+ IL_008a: call void [System.Console]System.Console::WriteLine(string)
+ IL_008f: nop
+ IL_0090: ldc.i4.1
+ IL_0091: stloc.0
+ IL_0092: br.s IL_0094
+
+ IL_0094: ldloc.0
+ IL_0095: ret
+ }
+
+ .method private hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 6
+ .locals init (int32 V_0,
+ valuetype MyStruct2 V_2,
+ class Conversion`2<valuetype MyStruct2,class CBase> V_12,
+ string V_21,
+ string V_22,
+ string V_23,
+ int32 V_24)
+ IL_0000: nop
+ IL_0001: ldc.i4.0
+ IL_0002: stloc.0
+ IL_000b: ldloca.s V_2
+ IL_000d: initobj MyStruct2
+ IL_005a: newobj instance void class Conversion`2<valuetype MyStruct2,class CBase>::.ctor()
+ IL_005f: stloc.s V_12
+ IL_00e2: ldstr "TEST2:"
+ IL_00e7: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ec: nop
+ IL_00ed: ldloc.s V_12
+ IL_00ef: callvirt instance string class Conversion`2<valuetype MyStruct2,class CBase>::Caller1()
+ IL_00f4: stloc.s V_21
+ IL_00f6: ldloc.s V_12
+ IL_00f8: ldloca.s V_2
+ IL_00fa: callvirt instance string class Conversion`2<valuetype MyStruct2,class CBase>::Caller2(!0&)
+ IL_00ff: stloc.s V_22
+ IL_0101: ldloc.s V_12
+ IL_0103: ldloca.s V_2
+ IL_0105: newobj instance void class CBase::.ctor()
+ IL_010a: callvirt instance string class Conversion`2<valuetype MyStruct2,class CBase>::Caller3(!0&,
+ !1)
+ IL_010f: stloc.s V_23
+ IL_0111: ldloc.0
+ IL_0112: ldloc.s V_21
+ IL_0114: ldloc.s V_22
+ IL_0116: ldloc.s V_23
+ IL_0118: ldstr "Print(object)"
+ IL_011d: ldloca.s V_2
+ IL_011f: ldfld int32 MyStruct2::n
+ IL_0124: call int32 Program::Verification(string,
+ string,
+ string,
+ string,
+ int32)
+ IL_0129: add
+ IL_012a: stloc.0
+
+ IL_0373: ldloc.0
+ IL_0374: brfalse.s IL_0379
+
+ IL_0376: ldc.i4.m1
+ IL_0377: br.s IL_037b
+
+ IL_0379: ldc.i4.s 100
+ IL_037b: stloc.s V_24
+ IL_037d: br.s IL_037f
+
+ IL_037f: ldloc.s V_24
+ IL_0381: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.ilproj b/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.ilproj
new file mode 100644
index 0000000000..8363bf3fae
--- /dev/null
+++ b/tests/src/JIT/Methodical/inlining/dev10_bug719093/variancesmall.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="variancesmall.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/ldtoken/_il_dbgtypes.ilproj b/tests/src/JIT/Methodical/ldtoken/_il_dbgtypes.ilproj
new file mode 100644
index 0000000000..79593d9ee5
--- /dev/null
+++ b/tests/src/JIT/Methodical/ldtoken/_il_dbgtypes.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="types.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/ldtoken/_il_reltypes.ilproj b/tests/src/JIT/Methodical/ldtoken/_il_reltypes.ilproj
new file mode 100644
index 0000000000..6b2ddd38ab
--- /dev/null
+++ b/tests/src/JIT/Methodical/ldtoken/_il_reltypes.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="types.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/ldtoken/types.il b/tests/src/JIT/Methodical/ldtoken/types.il
new file mode 100644
index 0000000000..9db6ab3352
--- /dev/null
+++ b/tests/src/JIT/Methodical/ldtoken/types.il
@@ -0,0 +1,205 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly types { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static void
+ test_token(object boxed_vt,
+ valuetype [mscorlib]System.RuntimeTypeHandle vt) cil managed
+ {
+ .maxstack 8
+ ldarg.0
+ callvirt instance class [mscorlib]System.Type [mscorlib]System.Object::GetType()
+ ldarg.1
+ call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(
+ valuetype [mscorlib]System.RuntimeTypeHandle)
+ beq.s IL_EXIT
+
+ ldstr "Test failed on "
+ ldarg.1
+ call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(
+ valuetype [mscorlib]System.RuntimeTypeHandle)
+ callvirt instance string [mscorlib]System.Type::ToString()
+ call string [mscorlib]System.String::Concat(string, string)
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 101
+ call void [mscorlib]System.Environment::Exit(int32)
+ IL_EXIT:
+ ret
+ }
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ ldc.i4.1
+ box [mscorlib]System.Byte
+ ldtoken [mscorlib]System.Byte
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.SByte
+ ldtoken [mscorlib]System.SByte
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.Int16
+ ldtoken [mscorlib]System.Int16
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.UInt16
+ ldtoken [mscorlib]System.UInt16
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.Int32
+ ldtoken [mscorlib]System.Int32
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.UInt32
+ ldtoken [mscorlib]System.UInt32
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i8 1
+ box [mscorlib]System.Int64
+ ldtoken [mscorlib]System.Int64
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i8 1
+ box [mscorlib]System.UInt64
+ ldtoken [mscorlib]System.UInt64
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.r8 1
+ box [mscorlib]System.Single
+ ldtoken [mscorlib]System.Single
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.r4 1
+ box [mscorlib]System.Double
+ ldtoken [mscorlib]System.Double
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.IntPtr
+ ldtoken [mscorlib]System.IntPtr
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.UIntPtr
+ ldtoken [mscorlib]System.UIntPtr
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.Boolean
+ ldtoken [mscorlib]System.Boolean
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4.1
+ box [mscorlib]System.Char
+ ldtoken [mscorlib]System.Char
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldstr "moo"
+ ldtoken [mscorlib]System.String
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ newobj instance void [mscorlib]System.Object::.ctor()
+ ldtoken [mscorlib]System.Object
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr int8
+ ldtoken int8[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr uint8
+ ldtoken uint8[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr int16
+ ldtoken int16[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr uint16
+ ldtoken uint16[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr int32
+ ldtoken int32[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr uint32
+ ldtoken uint32[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr int64
+ ldtoken int64[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr uint64
+ ldtoken uint64[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr native int
+ ldtoken native int[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr valuetype [mscorlib]System.UIntPtr
+ ldtoken valuetype [mscorlib]System.UIntPtr[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr bool
+ ldtoken bool[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr char
+ ldtoken char[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr object
+ ldtoken object[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldc.i4 10
+ newarr string
+ ldtoken string[]
+ call void JitTest.Test::test_token(object, valuetype [mscorlib]System.RuntimeTypeHandle)
+
+ ldstr "Passed"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ ret
+ }
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+ }
+}
diff --git a/tests/src/JIT/Methodical/localloc/vararg/app.config b/tests/src/JIT/Methodical/localloc/vararg/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/localloc/vararg/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/switch/app.config b/tests/src/JIT/Methodical/switch/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/switch/switch1.il b/tests/src/JIT/Methodical/switch/switch1.il
new file mode 100644
index 0000000000..9c7e469a93
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch1.il
@@ -0,0 +1,57 @@
+//simple switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch1'
+{
+
+
+}
+
+.module 'switch1.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0014,
+ IL_0027)
+ IL_0012: br.s IL_0033
+
+ IL_0014: ldc.i4.s 100
+ IL_0016: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_001b: ldstr "Test passed"
+ IL_0020: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0025: br.s IL_003f
+
+ IL_0027: ldstr "Test failed"
+ IL_002c: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0031: br.s IL_003f
+
+ IL_0033: ldstr "Test failed"
+ IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_003d: br.s IL_003f
+
+ IL_003f: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch1.ilproj b/tests/src/JIT/Methodical/switch/switch1.ilproj
new file mode 100644
index 0000000000..ce73d3c01d
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch1.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch10.il b/tests/src/JIT/Methodical/switch/switch10.il
new file mode 100644
index 0000000000..95c06f57a4
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch10.il
@@ -0,0 +1,79 @@
+// check inlining
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch10'
+{
+
+
+}
+
+.module 'switch10.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static int32
+ Square(int32 i) il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.0
+ IL_0002: mul
+ IL_0003: stloc.0
+ IL_0004: br.s IL_0006
+
+ IL_0006: ldloc.0
+ IL_0007: ret
+ }
+
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldarg.0
+ IL_0003: stloc.1
+ IL_0004: ldloc.1
+ IL_0005: ldc.i4.1
+ IL_0006: beq.s IL_000a
+
+ IL_0008: br.s IL_0013
+
+ IL_000a: ldc.i4.3
+ IL_000b: call int32 Test::Square(int32)
+ IL_0010: stloc.0
+ IL_0011: br.s IL_0015
+
+ IL_0013: br.s IL_0015
+
+ IL_0015: ldloc.0
+ IL_0016: ldc.i4.s 9
+ IL_0018: bne.un.s IL_002d
+
+ IL_001a: ldc.i4.s 100
+ IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0021: ldstr "Test passed"
+ IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_002b: br.s IL_003d
+
+ IL_002d: ldc.i4.1
+ IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0033: ldstr "Test failed"
+ IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_003d: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+
+}
diff --git a/tests/src/JIT/Methodical/switch/switch10.ilproj b/tests/src/JIT/Methodical/switch/switch10.ilproj
new file mode 100644
index 0000000000..ba8cd72ed2
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch10.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch10.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch11.il b/tests/src/JIT/Methodical/switch/switch11.il
new file mode 100644
index 0000000000..c0b281acc5
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch11.il
@@ -0,0 +1,32 @@
+// non-empty stack before switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch11'
+{
+
+
+}
+
+.module 'switch11.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ ldc.i4.5
+ IL_0000: br.s IL_0002
+
+ IL_0002: br.s IL_0004
+
+ IL_0004: ldc.i4.s 100
+ IL_0006: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_000b: ldstr "Test passed"
+ IL_0010: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0015: pop
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/switch/switch11.ilproj b/tests/src/JIT/Methodical/switch/switch11.ilproj
new file mode 100644
index 0000000000..7ae0bbb5b7
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch11.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch11.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch2.il b/tests/src/JIT/Methodical/switch/switch2.il
new file mode 100644
index 0000000000..1eafebc11a
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch2.il
@@ -0,0 +1,82 @@
+// add and subtract integers
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch2'
+{
+
+
+}
+.module 'switch2.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3)
+ IL_0000: ldc.i4.5
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.3
+ IL_0003: stloc.1
+ IL_0004: ldarg.0
+ IL_0005: stloc.3
+ IL_0006: ldloc.3
+ IL_0007: ldc.i4.1
+ IL_0008: sub
+ IL_0009: switch (
+ IL_0018,
+ IL_0033)
+ IL_0016: br.s IL_004d
+
+ IL_0018: ldloc.0
+ IL_0019: ldloc.1
+ IL_001a: add
+ IL_001b: stloc.2
+ IL_001c: ldloc.2
+ IL_001d: ldc.i4.8
+ IL_001e: bne.un.s IL_0031
+
+ IL_0020: ldc.i4.s 100
+ IL_0022: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0027: ldstr "Test passed"
+ IL_002c: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0031: br.s IL_005f
+
+ IL_0033: ldloc.0
+ IL_0034: ldloc.1
+ IL_0035: sub
+ IL_0036: stloc.2
+ IL_0037: ldloc.2
+ IL_0038: ldc.i4.2
+ IL_0039: bne.un.s IL_004b
+
+ IL_003b: ldc.i4.1
+ IL_003c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0041: ldstr "Test failed"
+ IL_0046: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_004b: br.s IL_005f
+
+ IL_004d: ldc.i4.1
+ IL_004e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0053: ldstr "Test failed"
+ IL_0058: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_005d: br.s IL_005f
+
+ IL_005f: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+ }
+
diff --git a/tests/src/JIT/Methodical/switch/switch2.ilproj b/tests/src/JIT/Methodical/switch/switch2.ilproj
new file mode 100644
index 0000000000..bd29e8e550
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch2.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch3.il b/tests/src/JIT/Methodical/switch/switch3.il
new file mode 100644
index 0000000000..b4609ad3fc
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch3.il
@@ -0,0 +1,58 @@
+
+// checking fallthrough in switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch3'
+{
+
+
+}
+
+.module 'switch3.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0014,
+ IL_0016)
+ IL_0012: br.s IL_0029
+
+ IL_0014: br.s IL_0016
+
+ IL_0016: ldc.i4.s 100
+ IL_0018: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_001d: ldstr "Test passed"
+ IL_0022: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0027: br.s IL_003b
+
+ IL_0029: ldc.i4.1
+ IL_002a: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002f: ldstr "Test failed"
+ IL_0034: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0039: br.s IL_003b
+
+ IL_003b: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch3.ilproj b/tests/src/JIT/Methodical/switch/switch3.ilproj
new file mode 100644
index 0000000000..2098c92076
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch3.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch4.il b/tests/src/JIT/Methodical/switch/switch4.il
new file mode 100644
index 0000000000..be3712bfc0
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch4.il
@@ -0,0 +1,78 @@
+// loop in switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch4'
+{
+
+
+}
+
+.module 'switch4.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .field public static int32 count
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldarg.0
+ IL_0003: stloc.1
+ IL_0004: ldloc.1
+ IL_0005: ldc.i4.1
+ IL_0006: beq.s IL_000a
+
+ IL_0008: br.s IL_0025
+
+ IL_000a: ldloc.0
+ IL_000b: pop
+ IL_000c: br.s IL_001e
+
+ IL_000e: ldsfld int32 Test::count
+ IL_0013: ldc.i4.1
+ IL_0014: add
+ IL_0015: stsfld int32 Test::count
+ IL_001a: ldloc.0
+ IL_001b: ldc.i4.1
+ IL_001c: add
+ IL_001d: stloc.0
+ IL_001e: ldloc.0
+ IL_001f: ldc.i4.s 10
+ IL_0021: blt.s IL_000e
+
+ IL_0023: br.s IL_0027
+
+ IL_0025: br.s IL_0027
+
+ IL_0027: ldsfld int32 Test::count
+ IL_002c: ldc.i4.s 10
+ IL_002e: bne.un.s IL_0043
+
+ IL_0030: ldc.i4.s 100
+ IL_0032: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0037: ldstr "Test passed"
+ IL_003c: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0041: br.s IL_0053
+
+ IL_0043: ldc.i4.1
+ IL_0044: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0049: ldstr "Test failed"
+ IL_004e: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0053: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch4.ilproj b/tests/src/JIT/Methodical/switch/switch4.ilproj
new file mode 100644
index 0000000000..4a033e71b7
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch4.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch5.il b/tests/src/JIT/Methodical/switch/switch5.il
new file mode 100644
index 0000000000..5e5c25e9a9
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch5.il
@@ -0,0 +1,159 @@
+// Stack implementation
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch5'
+{
+
+
+}
+
+.module 'switch5.exe'
+
+.class public auto ansi TestStack
+ extends ['mscorlib']System.Object
+{
+ .field public int32[] Stack
+ .field public int32 top
+ .method public hidebysig instance void
+ DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldarg.1
+ IL_0001: stloc.1
+ IL_0002: ldloc.1
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0014,
+ IL_001d)
+ IL_0012: br.s IL_0026
+
+ IL_0014: ldarg.0
+ IL_0015: ldc.i4.5
+ IL_0016: call instance void TestStack::push(int32)
+ IL_001b: br.s IL_0063
+
+ IL_001d: ldarg.0
+ IL_001e: call instance int32 TestStack::'pop'()
+ IL_0023: stloc.0
+ IL_0024: br.s IL_0063
+
+ IL_0026: ldarg.0
+ IL_0027: ldfld int32[] TestStack::Stack
+ IL_002c: ldarg.0
+ IL_002d: ldfld int32 TestStack::top
+ IL_0032: ldelem.i4
+ IL_0033: ldc.i4.5
+ IL_0034: bne.un.s IL_0051
+
+ IL_0036: ldarg.0
+ IL_0037: ldfld int32 TestStack::top
+ IL_003c: brtrue.s IL_0051
+
+ IL_003e: ldc.i4.s 100
+ IL_0040: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0045: ldstr "Test passed"
+ IL_004a: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_004f: br.s IL_0061
+
+ IL_0051: ldc.i4.1
+ IL_0052: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0057: ldstr "Test failed"
+ IL_005c: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0061: br.s IL_0063
+
+ IL_0063: ret
+ }
+
+ .method public hidebysig instance void
+ push(int32 i) il managed
+ {
+ .maxstack 4
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32[] TestStack::Stack
+ IL_0006: ldarg.0
+ IL_0007: dup
+ IL_0008: ldfld int32 TestStack::top
+ IL_000d: ldc.i4.1
+ IL_000e: add
+ IL_000f: dup
+ IL_0010: stloc.0
+ IL_0011: stfld int32 TestStack::top
+ IL_0016: ldloc.0
+ IL_0017: ldarg.1
+ IL_0018: stelem.i4
+ IL_0019: ret
+ }
+
+ .method public hidebysig instance int32
+ 'pop'() il managed
+ {
+ .maxstack 4
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32[] TestStack::Stack
+ IL_0006: ldarg.0
+ IL_0007: dup
+ IL_0008: ldfld int32 TestStack::top
+ IL_000d: dup
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.1
+ IL_0010: sub
+ IL_0011: stfld int32 TestStack::top
+ IL_0016: ldloc.1
+ IL_0017: ldelem.i4
+ IL_0018: stloc.0
+ IL_0019: br.s IL_001b
+
+ IL_001b: ldloc.0
+ IL_001c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4.5
+ IL_0002: newarr ['mscorlib']System.Int32
+ IL_0007: stfld int32[] TestStack::Stack
+ IL_000c: ldarg.0
+ IL_000d: ldc.i4.m1
+ IL_000e: stfld int32 TestStack::top
+ IL_0013: ldarg.0
+ IL_0014: call instance void ['mscorlib']System.Object::.ctor()
+ IL_0019: ret
+ }
+
+}
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (class TestStack V_0)
+ IL_0000: newobj instance void TestStack::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: ldc.i4.1
+ IL_0008: call instance void TestStack::DoSwitch(int32)
+ IL_000d: ldloc.0
+ IL_000e: ldc.i4.1
+ IL_000f: call instance void TestStack::DoSwitch(int32)
+ IL_0014: ldloc.0
+ IL_0015: ldc.i4.2
+ IL_0016: call instance void TestStack::DoSwitch(int32)
+ IL_001b: ldloc.0
+ IL_001c: ldc.i4.3
+ IL_001d: call instance void TestStack::DoSwitch(int32)
+ IL_0022: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/switch/switch5.ilproj b/tests/src/JIT/Methodical/switch/switch5.ilproj
new file mode 100644
index 0000000000..2803bbda5d
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch5.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch5.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch6.il b/tests/src/JIT/Methodical/switch/switch6.il
new file mode 100644
index 0000000000..7d78ae52f8
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch6.il
@@ -0,0 +1,87 @@
+// try -- catch in switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch6'
+{
+
+
+}
+
+.module 'switch6.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32[] V_0,
+ int32 V_1,
+ class ['mscorlib']System.Exception V_2,
+ int32 V_3)
+ IL_0000: ldc.i4.2
+ IL_0001: newarr ['mscorlib']System.Int32
+ IL_0006: stloc.0
+ IL_0007: ldc.i4.0
+ IL_0008: stloc.1
+ IL_0009: ldarg.0
+ IL_000a: stloc.3
+ IL_000b: ldloc.3
+ IL_000c: ldc.i4.1
+ IL_000d: beq.s IL_0011
+
+ IL_000f: br.s IL_002a
+
+ .try
+ {
+ IL_0011: ldloc.0
+ IL_0012: ldc.i4.4
+ IL_0013: ldelem.i4
+ IL_0014: stloc.1
+ IL_0015: leave.s IL_0028
+
+ }
+ catch ['mscorlib']System.Exception
+ {
+ IL_0017: stloc.2
+ IL_0018: ldstr "Exception {0} caught"
+ IL_001d: ldloc.2
+ IL_001e: call void ['mscorlib']System.Console::WriteLine(class System.String,
+ class System.Object)
+ IL_0023: ldc.i4.s 100
+ IL_0025: stloc.1
+ IL_0026: leave.s IL_0028
+
+ }
+ IL_0028: br.s IL_002c
+
+ IL_002a: br.s IL_002c
+
+ IL_002c: ldloc.1
+ IL_002d: ldc.i4.s 100
+ IL_002f: bne.un.s IL_0044
+
+ IL_0031: ldc.i4.s 100
+ IL_0033: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0038: ldstr "Test passed"
+ IL_003d: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0042: br.s IL_0054
+
+ IL_0044: ldc.i4.1
+ IL_0045: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_004a: ldstr "Test failed"
+ IL_004f: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0054: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch6.ilproj b/tests/src/JIT/Methodical/switch/switch6.ilproj
new file mode 100644
index 0000000000..7fb07ab19b
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch6.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch6.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch7.il b/tests/src/JIT/Methodical/switch/switch7.il
new file mode 100644
index 0000000000..9f49afbbff
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch7.il
@@ -0,0 +1,91 @@
+// calling switch in a loop
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch7'
+{
+
+
+}
+
+.module 'switch7.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .field private static int32 count
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0018,
+ IL_0026,
+ IL_0034)
+ IL_0016: br.s IL_0042
+
+ IL_0018: ldsfld int32 Test::count
+ IL_001d: ldc.i4.1
+ IL_001e: add
+ IL_001f: stsfld int32 Test::count
+ IL_0024: br.s IL_0044
+
+ IL_0026: ldsfld int32 Test::count
+ IL_002b: ldc.i4.1
+ IL_002c: sub
+ IL_002d: stsfld int32 Test::count
+ IL_0032: br.s IL_0044
+
+ IL_0034: ldsfld int32 Test::count
+ IL_0039: ldc.i4.1
+ IL_003a: add
+ IL_003b: stsfld int32 Test::count
+ IL_0040: br.s IL_0044
+
+ IL_0042: br.s IL_0044
+
+ IL_0044: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: br.s IL_000e
+
+ IL_0004: ldloc.0
+ IL_0005: call void Test::DoSwitch(int32)
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: add
+ IL_000d: stloc.0
+ IL_000e: ldloc.0
+ IL_000f: ldc.i4.4
+ IL_0010: ble.s IL_0004
+
+ IL_0012: ldsfld int32 Test::count
+ IL_0017: ldc.i4.1
+ IL_0018: bne.un.s IL_002d
+
+ IL_001a: ldc.i4.s 100
+ IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0021: ldstr "Test passed"
+ IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_002b: br.s IL_003d
+
+ IL_002d: ldc.i4.1
+ IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0033: ldstr "Test failed"
+ IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_003d: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch7.ilproj b/tests/src/JIT/Methodical/switch/switch7.ilproj
new file mode 100644
index 0000000000..6fa7420c22
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch7.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch7.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch8.il b/tests/src/JIT/Methodical/switch/switch8.il
new file mode 100644
index 0000000000..0ab2576cc7
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch8.il
@@ -0,0 +1,57 @@
+// goto statements in switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch8'
+{
+
+
+}
+
+.module 'switch8.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 'value') il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0014,
+ IL_0016)
+ IL_0012: br.s IL_0018
+
+ IL_0014: br.s IL_002d
+
+ IL_0016: br.s IL_001a
+
+ IL_0018: br.s IL_002d
+
+ IL_001a: ldc.i4.s 100
+ IL_001c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0021: ldstr "Test passed"
+ IL_0026: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_002b: br.s IL_003d
+
+ IL_002d: ldc.i4.1
+ IL_002e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0033: ldstr "Test failed"
+ IL_0038: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_003d: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.2
+ IL_0001: call void Test::DoSwitch(int32)
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/switch/switch8.ilproj b/tests/src/JIT/Methodical/switch/switch8.ilproj
new file mode 100644
index 0000000000..5b632c652f
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch8.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch8.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/switch/switch9.il b/tests/src/JIT/Methodical/switch/switch9.il
new file mode 100644
index 0000000000..35ced9e630
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch9.il
@@ -0,0 +1,87 @@
+//Nested Switch
+
+.assembly extern legacy library mscorlib {}
+.assembly 'switch9'
+{
+
+
+}
+
+.module 'switch9.exe'
+
+.class public auto ansi Test
+ extends ['mscorlib']System.Object
+{
+ .method private hidebysig static void DoSwitch(int32 val1,
+ int32 val2) il managed
+ {
+ .maxstack 2
+ .locals (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: stloc.0
+ IL_0002: ldloc.0
+ IL_0003: ldc.i4.1
+ IL_0004: sub
+ IL_0005: switch (
+ IL_0014,
+ IL_0061)
+ IL_0012: br.s IL_0073
+
+ IL_0014: ldarg.1
+ IL_0015: stloc.0
+ IL_0016: ldloc.0
+ IL_0017: ldc.i4.1
+ IL_0018: sub
+ IL_0019: switch (
+ IL_0028,
+ IL_003b)
+ IL_0026: br.s IL_004d
+
+ IL_0028: ldc.i4.s 100
+ IL_002a: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_002f: ldstr "Test passed"
+ IL_0034: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0039: br.s IL_005f
+
+ IL_003b: ldc.i4.1
+ IL_003c: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0041: ldstr "Test failed"
+ IL_0046: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_004b: br.s IL_005f
+
+ IL_004d: ldc.i4.1
+ IL_004e: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0053: ldstr "Test failed"
+ IL_0058: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_005d: br.s IL_005f
+
+ IL_005f: br.s IL_0085
+
+ IL_0061: ldc.i4.1
+ IL_0062: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0067: ldstr "Test failed"
+ IL_006c: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0071: br.s IL_0085
+
+ IL_0073: ldc.i4.1
+ IL_0074: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_0079: ldstr "Test failed"
+ IL_007e: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0083: br.s IL_0085
+
+ IL_0085: ret
+ }
+
+ .method public hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: ldc.i4.1
+ IL_0002: call void Test::DoSwitch(int32,
+ int32)
+ IL_0007: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/switch/switch9.ilproj b/tests/src/JIT/Methodical/switch/switch9.ilproj
new file mode 100644
index 0000000000..40f7820225
--- /dev/null
+++ b/tests/src/JIT/Methodical/switch/switch9.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switch9.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8.ilproj
new file mode 100644
index 0000000000..dc095dbe78
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r4_r8.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8_inl.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8_inl.ilproj
new file mode 100644
index 0000000000..42c61982b6
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r4_r8_inl.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r4_r8_inl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4.ilproj
new file mode 100644
index 0000000000..2a4364cdd6
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r8_r4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4_inl.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4_inl.ilproj
new file mode 100644
index 0000000000..5ce0f3beda
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgcompat_r8_r4_inl.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r8_r4_inl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj
new file mode 100644
index 0000000000..ac244acbc6
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="pointer.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj
new file mode 100644
index 0000000000..3ba0b7262a
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="pointer_i.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgrecurse_ep_void.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgrecurse_ep_void.ilproj
new file mode 100644
index 0000000000..8e334865e3
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgrecurse_ep_void.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="recurse_ep_void.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgtest_implicit.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgtest_implicit.ilproj
new file mode 100644
index 0000000000..42f879fb98
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgtest_implicit.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_implicit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_dbgtest_void.ilproj b/tests/src/JIT/Methodical/tailcall/_il_dbgtest_void.ilproj
new file mode 100644
index 0000000000..1a1423ebc5
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_dbgtest_void.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_void.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8.ilproj
new file mode 100644
index 0000000000..2e608bfb40
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r4_r8.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8_inl.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8_inl.ilproj
new file mode 100644
index 0000000000..2ffc2e72c7
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r4_r8_inl.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r4_r8_inl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4.ilproj
new file mode 100644
index 0000000000..b16a010335
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r8_r4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4_inl.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4_inl.ilproj
new file mode 100644
index 0000000000..29b4c1daae
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relcompat_r8_r4_inl.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="compat_r8_r4_inl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj
new file mode 100644
index 0000000000..a8b9703774
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="pointer.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj
new file mode 100644
index 0000000000..06546f6b58
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="pointer_i.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_relrecurse_ep_void.ilproj b/tests/src/JIT/Methodical/tailcall/_il_relrecurse_ep_void.ilproj
new file mode 100644
index 0000000000..c21a52d28c
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_relrecurse_ep_void.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="recurse_ep_void.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_reltest_implicit.ilproj b/tests/src/JIT/Methodical/tailcall/_il_reltest_implicit.ilproj
new file mode 100644
index 0000000000..1dee5d1662
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_reltest_implicit.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_implicit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/_il_reltest_void.ilproj b/tests/src/JIT/Methodical/tailcall/_il_reltest_void.ilproj
new file mode 100644
index 0000000000..4d62dd163e
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/_il_reltest_void.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_void.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/tailcall/compat_r4_r8.il b/tests/src/JIT/Methodical/tailcall/compat_r4_r8.il
new file mode 100644
index 0000000000..d15dbe3d4a
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/compat_r4_r8.il
@@ -0,0 +1,106 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly compat_r4_r8 { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static
+ float32 Method1() il managed
+ {
+ .maxstack 8
+ IL_0000: call void [mscorlib]System.GC::Collect()
+ IL_0005: call void [mscorlib]System.GC::Collect()
+ IL_000a: call void [mscorlib]System.GC::Collect()
+ IL_000f: call void [mscorlib]System.GC::Collect()
+ IL_0014: call void [mscorlib]System.GC::Collect()
+ IL_0019: call void [mscorlib]System.GC::Collect()
+ IL_001e: call void [mscorlib]System.GC::Collect()
+ IL_0023: call void [mscorlib]System.GC::Collect()
+ IL_0028: call void [mscorlib]System.GC::Collect()
+ IL_002d: call void [mscorlib]System.GC::Collect()
+ IL_0032: call void [mscorlib]System.GC::Collect()
+ IL_0037: call void [mscorlib]System.GC::Collect()
+ IL_003c: call void [mscorlib]System.GC::Collect()
+ IL_0041: call void [mscorlib]System.GC::Collect()
+ IL_0046: call void [mscorlib]System.GC::Collect()
+ IL_004b: call void [mscorlib]System.GC::Collect()
+ IL_0050: call void [mscorlib]System.GC::Collect()
+ IL_0055: call void [mscorlib]System.GC::Collect()
+ IL_005a: ldc.r4 10.
+ IL_005f: ret
+ }
+
+ .method private hidebysig static
+ float64 Method2() il managed
+ {
+ .maxstack 8
+ IL_0000: call void [mscorlib]System.GC::Collect()
+ IL_0005: call void [mscorlib]System.GC::Collect()
+ IL_000a: call void [mscorlib]System.GC::Collect()
+ IL_000f: call void [mscorlib]System.GC::Collect()
+ IL_0014: call void [mscorlib]System.GC::Collect()
+ IL_0019: call void [mscorlib]System.GC::Collect()
+ IL_001e: call void [mscorlib]System.GC::Collect()
+ IL_0023: call void [mscorlib]System.GC::Collect()
+ IL_0028: call void [mscorlib]System.GC::Collect()
+ IL_002d: call void [mscorlib]System.GC::Collect()
+ IL_0032: call void [mscorlib]System.GC::Collect()
+ IL_0037: call void [mscorlib]System.GC::Collect()
+ IL_003c: call void [mscorlib]System.GC::Collect()
+ IL_0041: call void [mscorlib]System.GC::Collect()
+ IL_0046: call void [mscorlib]System.GC::Collect()
+ IL_004b: call void [mscorlib]System.GC::Collect()
+ IL_0050: call void [mscorlib]System.GC::Collect()
+ IL_0055: call void [mscorlib]System.GC::Collect()
+ IL_005a: tail.
+ IL_005c: call float32 JitTest.Test::Method1()
+ IL_0061: ret
+ }
+
+ .method private hidebysig static
+ int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ .locals (int32 V_0)
+ IL_0000: call float64 JitTest.Test::Method2()
+ IL_0005: dup
+ IL_0006: ldc.r8 10.
+ IL_000f: beq.s IL_001a
+
+ IL_0011: call void [System.Console]System.Console::WriteLine(float64)
+ IL_0016: ldc.i4.1
+ IL_0017: stloc.0
+ IL_0018: br.s IL_002a
+
+ IL_001a: pop
+ IL_001b: ldstr "passed"
+ IL_0020: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0025: ldc.i4.s 100
+ IL_0027: stloc.0
+ IL_0028: br.s IL_002a
+
+ IL_002a: ldloc.0
+ IL_002b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall/compat_r4_r8_inl.il b/tests/src/JIT/Methodical/tailcall/compat_r4_r8_inl.il
new file mode 100644
index 0000000000..87ce0f59f6
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/compat_r4_r8_inl.il
@@ -0,0 +1,70 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly compat_r4_r8_inl { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static
+ float32 Method1() il managed
+ {
+ .maxstack 8
+ IL_0000: ldc.r4 10.
+ IL_0005: ret
+ }
+
+ .method private hidebysig static
+ float64 Method2() il managed
+ {
+ .maxstack 8
+ IL_0000: tail.
+ IL_0002: call float32 JitTest.Test::Method1()
+ IL_0007: ret
+ }
+
+ .method private hidebysig static
+ int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ .locals (int32 V_0)
+ IL_0000: call float64 JitTest.Test::Method2()
+ IL_0005: dup
+ IL_0006: ldc.r8 10.
+ IL_000f: beq.s IL_001a
+
+ IL_0011: call void [System.Console]System.Console::WriteLine(float64)
+ IL_0016: ldc.i4.1
+ IL_0017: stloc.0
+ IL_0018: br.s IL_002a
+
+ IL_001a: pop
+ IL_001b: ldstr "passed"
+ IL_0020: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0025: ldc.i4.s 100
+ IL_0027: stloc.0
+ IL_0028: br.s IL_002a
+
+ IL_002a: ldloc.0
+ IL_002b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall/compat_r8_r4.il b/tests/src/JIT/Methodical/tailcall/compat_r8_r4.il
new file mode 100644
index 0000000000..0bbf8a44f3
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/compat_r8_r4.il
@@ -0,0 +1,106 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly compat_r8_r4 { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static
+ float64 Method1() il managed
+ {
+ .maxstack 8
+ IL_0000: call void [mscorlib]System.GC::Collect()
+ IL_0005: call void [mscorlib]System.GC::Collect()
+ IL_000a: call void [mscorlib]System.GC::Collect()
+ IL_000f: call void [mscorlib]System.GC::Collect()
+ IL_0014: call void [mscorlib]System.GC::Collect()
+ IL_0019: call void [mscorlib]System.GC::Collect()
+ IL_001e: call void [mscorlib]System.GC::Collect()
+ IL_0023: call void [mscorlib]System.GC::Collect()
+ IL_0028: call void [mscorlib]System.GC::Collect()
+ IL_002d: call void [mscorlib]System.GC::Collect()
+ IL_0032: call void [mscorlib]System.GC::Collect()
+ IL_0037: call void [mscorlib]System.GC::Collect()
+ IL_003c: call void [mscorlib]System.GC::Collect()
+ IL_0041: call void [mscorlib]System.GC::Collect()
+ IL_0046: call void [mscorlib]System.GC::Collect()
+ IL_004b: call void [mscorlib]System.GC::Collect()
+ IL_0050: call void [mscorlib]System.GC::Collect()
+ IL_0055: call void [mscorlib]System.GC::Collect()
+ IL_005a: ldc.r8 10.
+ IL_0063: ret
+ }
+
+ .method private hidebysig static
+ float32 Method2() il managed
+ {
+ .maxstack 8
+ IL_0000: call void [mscorlib]System.GC::Collect()
+ IL_0005: call void [mscorlib]System.GC::Collect()
+ IL_000a: call void [mscorlib]System.GC::Collect()
+ IL_000f: call void [mscorlib]System.GC::Collect()
+ IL_0014: call void [mscorlib]System.GC::Collect()
+ IL_0019: call void [mscorlib]System.GC::Collect()
+ IL_001e: call void [mscorlib]System.GC::Collect()
+ IL_0023: call void [mscorlib]System.GC::Collect()
+ IL_0028: call void [mscorlib]System.GC::Collect()
+ IL_002d: call void [mscorlib]System.GC::Collect()
+ IL_0032: call void [mscorlib]System.GC::Collect()
+ IL_0037: call void [mscorlib]System.GC::Collect()
+ IL_003c: call void [mscorlib]System.GC::Collect()
+ IL_0041: call void [mscorlib]System.GC::Collect()
+ IL_0046: call void [mscorlib]System.GC::Collect()
+ IL_004b: call void [mscorlib]System.GC::Collect()
+ IL_0050: call void [mscorlib]System.GC::Collect()
+ IL_0055: call void [mscorlib]System.GC::Collect()
+ IL_005a: tail.
+ IL_005c: call float64 JitTest.Test::Method1()
+ IL_0061: ret
+ }
+
+ .method private hidebysig static
+ int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ .locals (int32 V_0)
+ IL_0000: call float32 JitTest.Test::Method2()
+ IL_0005: dup
+ IL_0006: ldc.r4 10.
+ IL_000b: beq.s IL_0016
+
+ IL_000d: call void [System.Console]System.Console::WriteLine(float32)
+ IL_0012: ldc.i4.1
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0026
+
+ IL_0016: pop
+ IL_0017: ldstr "passed"
+ IL_001c: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0021: ldc.i4.s 100
+ IL_0023: stloc.0
+ IL_0024: br.s IL_0026
+
+ IL_0026: ldloc.0
+ IL_0027: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall/compat_r8_r4_inl.il b/tests/src/JIT/Methodical/tailcall/compat_r8_r4_inl.il
new file mode 100644
index 0000000000..3c7a193189
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/compat_r8_r4_inl.il
@@ -0,0 +1,70 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly compat_r8_r4_inl { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static
+ float64 Method1() il managed
+ {
+ .maxstack 8
+ IL_0000: ldc.r8 10.
+ IL_0009: ret
+ }
+
+ .method private hidebysig static
+ float32 Method2() il managed
+ {
+ .maxstack 8
+ IL_0000: tail.
+ IL_0002: call float64 JitTest.Test::Method1()
+ IL_0007: ret
+ }
+
+ .method private hidebysig static
+ int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 8
+ .locals (int32 V_0)
+ IL_0000: call float32 JitTest.Test::Method2()
+ IL_0005: dup
+ IL_0006: ldc.r4 10.
+ IL_000b: beq.s IL_0016
+
+ IL_000d: call void [System.Console]System.Console::WriteLine(float32)
+ IL_0012: ldc.i4.1
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0026
+
+ IL_0016: pop
+ IL_0017: ldstr "passed"
+ IL_001c: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0021: ldc.i4.s 100
+ IL_0023: stloc.0
+ IL_0024: br.s IL_0026
+
+ IL_0026: ldloc.0
+ IL_0027: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall/pointer.il b/tests/src/JIT/Methodical/tailcall/pointer.il
new file mode 100644
index 0000000000..4e2bd3de1b
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/pointer.il
@@ -0,0 +1,98 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly pointer { }
+.field public static int32 temp at D_00004000
+.method public static class System.String
+ rems(int32* n,
+ int32* m) il managed
+{
+ .maxstack 2
+ IL_0000: ldarg.1
+ IL_0001: ldind.i4
+ IL_0002: ldc.i4.1
+ IL_0003: bne.un.s IL_0007
+
+ IL_0005: ldnull
+ IL_0006: ret
+
+ IL_0007: ldarg.1
+ IL_0008: ldind.i4
+ IL_0009: ldc.i4.1
+ IL_000a: sub
+ IL_000b: stsfld int32 temp
+ IL_0010: ldarg.0
+ IL_0011: ldind.i4
+ IL_0012: ldarg.1
+ IL_0013: ldind.i4
+ IL_0014: rem
+ IL_0015: brtrue.s IL_003a
+
+ IL_0017: ldarg.0
+ IL_0018: ldsflda int32 temp
+ IL_001d: call class System.String rems(int32*,
+ int32*)
+ IL_0022: ldstr " "
+ IL_0027: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_002c: ldarg.1
+ IL_002d: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0032: tail.
+ IL_0034: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0039: ret
+
+ IL_003a: ldarg.0
+ IL_003b: ldsflda int32 temp
+ IL_0040: tail.
+ IL_0042: call class System.String rems(int32*,
+ int32*)
+ IL_0047: ret
+}
+
+.method public static int32 main() il managed
+{
+ .entrypoint
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.2
+ IL_0001: stloc.0
+ IL_0002: br.s IL_0008
+
+ IL_0004: ldloc.0
+ IL_0005: ldc.i4.1
+ IL_0006: add
+ IL_0007: stloc.0
+ IL_0008: ldloc.0
+ IL_0009: ldc.i4 0x3e8
+ IL_000e: bge.s IL_0037
+
+ IL_0010: ldloc.0
+ IL_0011: ldc.i4.1
+ IL_0012: sub
+ IL_0013: stloc.1
+ IL_0014: ldloca.s V_0
+ IL_0016: ldloca.s V_1
+ IL_0018: call class System.String rems(int32*,
+ int32*)
+ IL_001d: brtrue.s IL_0035
+
+ IL_001f: ldloca.s V_0
+ IL_0021: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0026: call void [System.Console]System.Console::Write(class System.String)
+ IL_002b: ldstr " "
+ IL_0030: call void [System.Console]System.Console::Write(class System.String)
+ IL_0035: br.s IL_0004
+
+ IL_0037: call void [System.Console]System.Console::WriteLine()
+ IL_003c: ldc.i4 0x64
+ ret
+}
+
+.data D_00004000 = bytearray (
+ 00 00 00 00)
diff --git a/tests/src/JIT/Methodical/tailcall/pointer_i.il b/tests/src/JIT/Methodical/tailcall/pointer_i.il
new file mode 100644
index 0000000000..bfcc3f6425
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/pointer_i.il
@@ -0,0 +1,99 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly pointer_i { }
+.field public static int32 temp at D_00004000
+.method public static class System.String
+ rems(int32* n,
+ int32* m) il managed
+{
+ .maxstack 8
+ IL_0000: ldarg.1
+ IL_0001: ldind.i4
+ IL_0002: ldc.i4.1
+ IL_0003: bne.un.s IL_0007
+
+ IL_0005: ldnull
+ IL_0006: ret
+
+ IL_0007: ldarg.1
+ IL_0008: ldind.i4
+ IL_0009: ldc.i4.1
+ IL_000a: sub
+ IL_000b: stsfld int32 temp
+ IL_0010: ldarg.0
+ IL_0011: ldind.i4
+ IL_0012: ldarg.1
+ IL_0013: ldind.i4
+ IL_0014: rem
+ IL_0015: brtrue.s IL_003b
+
+ IL_0017: ldarg.0
+ IL_0018: ldsflda int32 temp
+ IL_001d: call class System.String rems(int32*,
+ int32*)
+ IL_0022: ldstr " "
+ IL_0027: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_002c: ldarg.1
+ ldind.i4
+ box int32
+ IL_002d: callvirt instance class System.String [mscorlib]System.Object::ToString()
+ ldftn class System.String [mscorlib]System.String::Concat(class System.String, class System.String)
+ calli class System.String(class System.String, class System.String)
+ IL_003a: ret
+
+ IL_003b: ldarg.0
+ IL_003c: ldsflda int32 temp
+ IL_0041: ldftn class System.String rems(int32*,
+ int32*)
+ IL_0047: calli class System.String(int32*,int32*)
+ IL_004e: ret
+}
+
+.method public static int32 main() il managed
+{
+ .entrypoint
+ .maxstack 2
+ .locals (int32 V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.2
+ IL_0001: stloc.0
+ IL_0002: br.s IL_0008
+
+ IL_0004: ldloc.0
+ IL_0005: ldc.i4.1
+ IL_0006: add
+ IL_0007: stloc.0
+ IL_0008: ldloc.0
+ IL_0009: ldc.i4 0x3e8
+ IL_000e: bge.s IL_0037
+
+ IL_0010: ldloc.0
+ IL_0011: ldc.i4.1
+ IL_0012: sub
+ IL_0013: stloc.1
+ IL_0014: ldloca.s V_0
+ IL_0016: ldloca.s V_1
+ IL_0018: call class System.String rems(int32*,
+ int32*)
+ IL_001d: brtrue.s IL_0035
+
+ IL_001f: ldloca.s V_0
+ IL_0021: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0026: call void [System.Console]System.Console::Write(class System.String)
+ IL_002b: ldstr " "
+ IL_0030: call void [System.Console]System.Console::Write(class System.String)
+ IL_0035: br.s IL_0004
+
+ IL_0037: call void [System.Console]System.Console::WriteLine()
+ ldc.i4 0x64
+ ret
+}
+
+.data D_00004000 = bytearray (
+ 00 00 00 00)
diff --git a/tests/src/JIT/Methodical/tailcall/recurse_ep_void.il b/tests/src/JIT/Methodical/tailcall/recurse_ep_void.il
new file mode 100644
index 0000000000..5e06c69997
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/recurse_ep_void.il
@@ -0,0 +1,81 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly recurse_ep_void { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .field private static int32 m
+ .field private static int32 n
+ .method private hidebysig static
+ void Main() il managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (int32 V_0)
+ IL_0000: ldsfld int32 JitTest.Test::n
+ IL_0005: ldc.i4.1
+ IL_0006: bne.un.s IL_0049
+
+ IL_0008: ldsfld int32 JitTest.Test::m
+ IL_000d: ldc.i4 0x375f00
+ IL_0012: bne.un.s IL_0025
+
+ IL_0014: ldstr "PASSED: 10! == 3628800"
+ IL_0019: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_001e: ldc.i4 0x64
+ IL_0023: br.s IL_0043
+
+ IL_0025: ldstr "FAILED: 10! != "
+ IL_002a: ldsflda int32 JitTest.Test::m
+ IL_002f: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0034: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0039: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_003e: ldc.i4 0x65
+ IL_0043: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0048: ret
+
+ IL_0049: ldsfld int32 JitTest.Test::m
+ IL_004e: ldsfld int32 JitTest.Test::n
+ IL_0053: dup
+ IL_0054: ldc.i4.1
+ IL_0055: sub
+ IL_0056: stsfld int32 JitTest.Test::n
+ IL_005b: mul
+ IL_005c: stsfld int32 JitTest.Test::m
+ IL_0061: tail.
+ IL_0063: call void JitTest.Test::Main()
+ IL_0068: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: stsfld int32 JitTest.Test::m
+ IL_0006: ldc.i4.s 10
+ IL_0008: stsfld int32 JitTest.Test::n
+ IL_000d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall/test_implicit.il b/tests/src/JIT/Methodical/tailcall/test_implicit.il
new file mode 100644
index 0000000000..9b0f47e60a
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/test_implicit.il
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .hash = (5C EA 16 0E 69 C8 EE F2 C9 A5 6E 45 32 31 FA 61
+ 19 8E E7 4D )
+ .ver 2:0:3600:0
+}
+.assembly tailcall
+{
+
+
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module tailcall.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+{
+ .field private static int32 MaxDepth
+ .field private int32 'value'
+ .method public hidebysig instance int32
+ Recurse1(int32 depth) cil managed
+ {
+ .maxstack 5
+ .locals init (int32 V_0)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000c
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: stloc.0
+ IL_000a: br.s IL_004b
+
+ IL_000c: ldarg.0
+ IL_000d: dup
+ IL_000e: ldfld int32 Class1::'value'
+ IL_0013: ldarg.1
+ IL_0014: add
+ IL_0015: stfld int32 Class1::'value'
+ IL_001a: ldarg.1
+ IL_001b: ldc.i4 0x80
+ IL_0020: rem
+ IL_0021: ldc.i4.s 43
+ IL_0023: bne.un.s IL_0031
+
+ IL_0025: ldarg.0
+ IL_0026: ldarg.1
+ IL_0027: ldc.i4.1
+ IL_0028: sub
+ IL_0029: tail. callvirt instance int32 Class1::Recurse3(int32)
+ret
+ IL_002e: stloc.0
+ IL_002f: br.s IL_004b
+
+ IL_0031: ldarg.0
+ IL_0032: ldarg.1
+ IL_0033: ldc.i4.1
+ IL_0034: sub
+ IL_0035: ldarg.1
+ IL_0036: box [mscorlib]System.Int32
+ IL_003b: ldarg.1
+ IL_003c: ldc.i4.1
+ IL_003d: add
+ IL_003e: box [mscorlib]System.Int32
+ IL_0043: tail. call instance int32 Class1::Recurse2(int32,
+ object,
+ object)
+ret
+ IL_0048: stloc.0
+ IL_0049: br.s IL_004b
+
+ IL_004b: ldloc.0
+ IL_004c: ret
+ }
+
+ .method public hidebysig instance int32
+ Recurse2(int32 depth,
+ object o1,
+ object o2) cil managed
+ {
+ .maxstack 4
+ .locals init (string V_0,
+ int32 V_1)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000c
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: stloc.1
+ IL_000a: br.s IL_007b
+
+ IL_000c: ldarg.1
+ IL_000d: ldsfld int32 Class1::MaxDepth
+ IL_0012: ldc.i4.s 10
+ IL_0014: div
+ IL_0015: rem
+ IL_0016: ldc.i4.s 100
+ IL_0018: bne.un.s IL_0053
+
+ IL_001a: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_001f: stloc.0
+ IL_0020: ldloc.0
+ IL_0021: ldstr "Main"
+ IL_0026: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_002b: ldc.i4.m1
+ IL_002c: bne.un.s IL_004e
+
+ IL_002e: ldstr "Unexpected stack trace: "
+ IL_0033: ldloc.0
+ IL_0034: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0039: call void [System.Console]System.Console::WriteLine(string)
+ IL_003e: ldstr "Test Failed"
+ IL_0043: call void [System.Console]System.Console::WriteLine(string)
+ IL_0048: ldc.i4.0
+ IL_0049: call void [mscorlib]System.Environment::Exit(int32)
+ IL_004e: call void [mscorlib]System.GC::Collect()
+ IL_0053: ldarg.0
+ IL_0054: dup
+ IL_0055: ldfld int32 Class1::'value'
+ IL_005a: ldarg.2
+ IL_005b: unbox [mscorlib]System.Int32
+ IL_0060: ldind.i4
+ IL_0061: ldarg.3
+ IL_0062: unbox [mscorlib]System.Int32
+ IL_0067: ldind.i4
+ IL_0068: add
+ IL_0069: add
+ IL_006a: stfld int32 Class1::'value'
+ IL_006f: ldarg.0
+ IL_0070: ldarg.1
+ IL_0071: ldc.i4.1
+ IL_0072: sub
+ IL_0073: tail. callvirt instance int32 Class1::Recurse3(int32)
+ret
+ IL_0078: stloc.1
+ IL_0079: br.s IL_007b
+
+ IL_007b: ldloc.1
+ IL_007c: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Recurse3(int32 depth) cil managed
+ {
+ .maxstack 5
+ .locals init (int32 V_0)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000c
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: stloc.0
+ IL_000a: br.s IL_003f
+
+ IL_000c: ldarg.1
+ IL_000d: ldc.i4 0x80
+ IL_0012: rem
+ IL_0013: ldc.i4.s 21
+ IL_0015: bne.un.s IL_0023
+
+ IL_0017: ldarg.0
+ IL_0018: ldarg.1
+ IL_0019: ldc.i4.1
+ IL_001a: sub
+ IL_001b: tail. call instance int32 Class1::Recurse1(int32)
+ret
+ IL_0020: stloc.0
+ IL_0021: br.s IL_003f
+
+ IL_0023: ldarg.0
+ IL_0024: ldarg.1
+ IL_0025: ldc.i4.1
+ IL_0026: sub
+ IL_0027: ldarg.1
+ IL_0028: ldc.i4.1
+ IL_0029: add
+ IL_002a: box [mscorlib]System.Int32
+ IL_002f: ldarg.1
+ IL_0030: ldc.i4.2
+ IL_0031: add
+ IL_0032: box [mscorlib]System.Int32
+ IL_0037: tail. callvirt instance int32 Class1::Recurse4(int32,
+ object,
+ object)
+ret
+ IL_003c: stloc.0
+ IL_003d: br.s IL_003f
+
+ IL_003f: ldloc.0
+ IL_0040: ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int32 Recurse4(int32 depth,
+ object o1,
+ object o2) cil managed
+ {
+ .maxstack 4
+ .locals init (string V_0,
+ int32 V_1)
+ IL_0000: ldarg.1
+ IL_0001: brtrue.s IL_000c
+
+ IL_0003: ldarg.0
+ IL_0004: ldfld int32 Class1::'value'
+ IL_0009: stloc.1
+ IL_000a: br.s IL_007e
+
+ IL_000c: ldarg.1
+ IL_000d: ldsfld int32 Class1::MaxDepth
+ IL_0012: ldc.i4.s 10
+ IL_0014: div
+ IL_0015: rem
+ IL_0016: ldc.i4 0xc8
+ IL_001b: bne.un.s IL_0056
+
+ IL_001d: call void [mscorlib]System.GC::Collect()
+ IL_0022: call string [mscorlib]System.Environment::get_StackTrace()
+ IL_0027: stloc.0
+ IL_0028: ldloc.0
+ IL_0029: ldstr "Main"
+ IL_002e: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
+ IL_0033: ldc.i4.m1
+ IL_0034: bne.un.s IL_0056
+
+ IL_0036: ldstr "Unexpected stack trace: "
+ IL_003b: ldloc.0
+ IL_003c: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0041: call void [System.Console]System.Console::WriteLine(string)
+ IL_0046: ldstr "Test Failed"
+ IL_004b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0050: ldc.i4.0
+ IL_0051: call void [mscorlib]System.Environment::Exit(int32)
+ IL_0056: ldarg.0
+ IL_0057: dup
+ IL_0058: ldfld int32 Class1::'value'
+ IL_005d: ldarg.2
+ IL_005e: unbox [mscorlib]System.Int32
+ IL_0063: ldind.i4
+ IL_0064: ldarg.3
+ IL_0065: unbox [mscorlib]System.Int32
+ IL_006a: ldind.i4
+ IL_006b: add
+ IL_006c: add
+ IL_006d: stfld int32 Class1::'value'
+ IL_0072: ldarg.0
+ IL_0073: ldarg.1
+ IL_0074: ldc.i4.1
+ IL_0075: sub
+ IL_0076: tail. call instance int32 Class1::Recurse1(int32)
+ret
+ IL_007b: stloc.1
+ IL_007c: br.s IL_007e
+
+ IL_007e: ldloc.1
+ IL_007f: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class Class1 V_0,
+ int32 V_1,
+ int32 V_2,
+ object[] V_3)
+ IL_0000: ldstr "Test Start"
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: newobj instance void Class1::.ctor()
+ IL_000f: stloc.0
+ IL_0010: ldloc.0
+ IL_0011: ldsfld int32 Class1::MaxDepth
+ IL_0016: callvirt instance int32 Class1::Recurse1(int32)
+ IL_001b: pop
+ IL_001c: ldc.i4 41963520
+ IL_001d: stloc.1
+ IL_001e: ldloc.0
+ IL_001f: ldfld int32 Class1::'value'
+ IL_0024: ldloc.1
+ IL_0025: beq.s IL_006e
+
+ IL_0027: ldc.i4.4
+ IL_0028: newarr [mscorlib]System.Object
+ IL_002d: stloc.3
+ IL_002e: ldloc.3
+ IL_002f: ldc.i4.0
+ IL_0030: ldstr "Expected result: "
+ IL_0035: stelem.ref
+ IL_0036: ldloc.3
+ IL_0037: ldc.i4.1
+ IL_0038: ldc.i4.1
+ IL_0039: box [mscorlib]System.Int32
+ IL_003e: stelem.ref
+ IL_003f: ldloc.3
+ IL_0040: ldc.i4.2
+ IL_0041: ldstr " Actual result: "
+ IL_0046: stelem.ref
+ IL_0047: ldloc.3
+ IL_0048: ldc.i4.3
+ IL_0049: ldloc.0
+ IL_004a: ldfld int32 Class1::'value'
+ IL_004f: box [mscorlib]System.Int32
+ IL_0054: stelem.ref
+ IL_0055: ldloc.3
+ IL_0056: call string [mscorlib]System.String::Concat(object[])
+ IL_005b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0060: ldstr "Test Failed"
+ IL_0065: call void [System.Console]System.Console::WriteLine(string)
+ IL_006a: ldc.i4.0
+ IL_006b: stloc.2
+ IL_006c: br.s IL_007d
+
+ IL_006e: ldstr "Test Passed"
+ IL_0073: call void [System.Console]System.Console::WriteLine(string)
+ IL_0078: ldc.i4.s 100
+ IL_007a: stloc.2
+ IL_007b: br.s IL_007d
+
+ IL_007d: ldloc.2
+ IL_007e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4 0x2000
+ IL_0005: stsfld int32 Class1::MaxDepth
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Methodical/tailcall/test_void.il b/tests/src/JIT/Methodical/tailcall/test_void.il
new file mode 100644
index 0000000000..18c67ba31f
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall/test_void.il
@@ -0,0 +1,80 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly test_void { }
+.namespace JitTest
+{
+ .class private auto ansi beforefieldinit Test extends [mscorlib]System.Object
+ {
+ .field private static int32 m
+ .field private static int32 n
+ .method private hidebysig static void Main() il managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (int32 V_0)
+ ldsfld int32 JitTest.Test::n
+ ldc.i4.1
+ bne.un.s IL_0047
+
+ ldsfld int32 JitTest.Test::m
+ ldc.i4 0x375f00
+ bne.un.s IL_0029
+
+ ldstr "PASSED: 10! == 3628800"
+ call void [System.Console]System.Console::WriteLine(class System.String)
+ ldc.i4.s 100
+ call void [mscorlib]System.Environment::set_ExitCode(int32)
+ ret
+
+IL_0029:
+ ldstr "FAILED: 10! != "
+ ldsflda int32 JitTest.Test::m
+ call instance class System.String [mscorlib]System.Int32::ToString()
+ call class System.String [mscorlib]System.String::Concat(class System.String, class System.String)
+ call void [System.Console]System.Console::WriteLine(class System.String)
+ ldc.i4.s 101
+ call void [mscorlib]System.Environment::set_ExitCode(int32)
+ ret
+
+IL_0047:
+ ldsfld int32 JitTest.Test::m
+ ldsfld int32 JitTest.Test::n
+ dup
+ ldc.i4.1
+ sub
+ stsfld int32 JitTest.Test::n
+ mul
+ stsfld int32 JitTest.Test::m
+ tail. call void JitTest.Test::Main()
+ ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: stsfld int32 JitTest.Test::m
+ IL_0006: ldc.i4.s 10
+ IL_0008: stsfld int32 JitTest.Test::n
+ IL_000d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/tailcall_v4/delegateTail.il b/tests/src/JIT/Methodical/tailcall_v4/delegateTail.il
new file mode 100644
index 0000000000..be4aac08df
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall_v4/delegateTail.il
@@ -0,0 +1,214 @@
+
+
+
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly extern System.Runtime
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 4:0:0:0
+}
+.assembly repro
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module repro.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi sealed beforefieldinit Closure
+ extends [mscorlib]System.Object
+{
+ .field public initonly object[] Constants
+ .field public initonly object[] Locals
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(object[] constants,
+ object[] locals) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld object[] Closure::Constants
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld object[] Closure::Locals
+ IL_0014: ret
+ }
+
+ .method public hidebysig instance object
+ FImpl(object o1,
+ object o2,
+ object o3,
+ object o4,
+ object o5,
+ object o6,
+ object o7,
+ object o8,
+ object o9) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldfld object[] Closure::Constants
+ IL_0006: ldc.i4.0
+ IL_0007: ldelem.ref
+ IL_0008: castclass string[]
+ IL_000d: ret
+ }
+
+ .method public hidebysig instance object
+ GImpl(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 10
+ IL_0000: ldarg.0
+ IL_0001: ldfld object[] Closure::Constants
+ IL_0006: ldc.i4.0
+ IL_0007: ldelem.ref
+ IL_0008: castclass class [System.Runtime]System.Func`10<object,object,object,object,object,object,object,object,object,object>
+ IL_000d: ldarg.1
+ IL_000e: box [mscorlib]System.Int32
+ IL_0013: ldarg.2
+ IL_0014: box [mscorlib]System.Int32
+ IL_0019: ldarg.3
+ IL_001a: box [mscorlib]System.Int32
+ IL_001f: ldarg.s i4
+ IL_0021: box [mscorlib]System.Int32
+ IL_0026: ldarg.s i5
+ IL_0028: box [mscorlib]System.Int32
+ IL_002d: ldarg.s i6
+ IL_002f: box [mscorlib]System.Int32
+ IL_0034: ldarg.s i7
+ IL_0036: box [mscorlib]System.Int32
+ IL_003b: ldarg.s i8
+ IL_003d: box [mscorlib]System.Int32
+ IL_0042: ldarg.s i9
+ IL_0044: box [mscorlib]System.Int32
+ IL_0049: tail.
+ callvirt instance !9 class [System.Runtime]System.Func`10<object,object,object,object,object,object,object,object,object,object>::Invoke(!0,
+ !1,
+ !2,
+ !3,
+ !4,
+ !5,
+ !6,
+ !7,
+ !8)
+ IL_004f: ret
+ }
+
+}
+
+.class private abstract auto ansi sealed beforefieldinit Repro
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals init (class [System.Runtime]System.Func`10<object,object,object,object,object,object,object,object,object,object> V_0,
+ class [System.Runtime]System.Func`10<int32,int32,int32,int32,int32,int32,int32,int32,int32,object> V_1,
+ object[] V_2,
+ string[] V_3,
+ object[] V_4)
+ IL_0000: ldc.i4.1
+ IL_0001: newarr [mscorlib]System.Object
+ IL_0006: stloc.2
+ IL_0007: ldloc.2
+ IL_0008: ldc.i4.0
+ IL_0009: ldc.i4.1
+ IL_000a: newarr [mscorlib]System.String
+ IL_000f: stloc.3
+ IL_0010: ldloc.3
+ IL_0011: ldc.i4.0
+ IL_0012: ldstr "a"
+ IL_0017: stelem.ref
+ IL_0018: ldloc.3
+ IL_0019: stelem.ref
+ IL_001a: ldloc.2
+ IL_001b: ldnull
+ IL_001c: newobj instance void Closure::.ctor(object[],
+ object[])
+ IL_0021: ldftn instance object Closure::FImpl(object,
+ object,
+ object,
+ object,
+ object,
+ object,
+ object,
+ object,
+ object)
+ IL_0027: newobj instance void class [System.Runtime]System.Func`10<object,object,object,object,object,object,object,object,object,object>::.ctor(object,
+ native int)
+ IL_002c: stloc.0
+ IL_002d: ldc.i4.1
+ IL_002e: newarr [mscorlib]System.Object
+ IL_0033: stloc.s V_4
+ IL_0035: ldloc.s V_4
+ IL_0037: ldc.i4.0
+ IL_0038: ldloc.0
+ IL_0039: stelem.ref
+ IL_003a: ldloc.s V_4
+ IL_003c: ldnull
+ IL_003d: newobj instance void Closure::.ctor(object[],
+ object[])
+ IL_0042: ldftn instance object Closure::GImpl(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0048: newobj instance void class [System.Runtime]System.Func`10<int32,int32,int32,int32,int32,int32,int32,int32,int32,object>::.ctor(object,
+ native int)
+ IL_004d: stloc.1
+ IL_004e: ldloc.1
+ IL_004f: ldc.i4.1
+ IL_0050: ldc.i4.2
+ IL_0051: ldc.i4.3
+ IL_0052: ldc.i4.4
+ IL_0053: ldc.i4.5
+ IL_0054: ldc.i4.6
+ IL_0055: ldc.i4.7
+ IL_0056: ldc.i4.8
+ IL_0057: ldc.i4.s 9
+ IL_0059: callvirt instance !9 class [System.Runtime]System.Func`10<int32,int32,int32,int32,int32,int32,int32,int32,int32,object>::Invoke(!0,
+ !1,
+ !2,
+ !3,
+ !4,
+ !5,
+ !6,
+ !7,
+ !8)
+ IL_005e: pop
+ldc.i4 100
+ IL_005f: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Methodical/tailcall_v4/delegatetail.ilproj b/tests/src/JIT/Methodical/tailcall_v4/delegatetail.ilproj
new file mode 100644
index 0000000000..646680afbf
--- /dev/null
+++ b/tests/src/JIT/Methodical/tailcall_v4/delegatetail.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="delegateTail.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/varargs/combine/app.config b/tests/src/JIT/Methodical/varargs/combine/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/combine/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/varargs/scenario/app.config b/tests/src/JIT/Methodical/varargs/scenario/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/scenario/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/varargs/seh/app.config b/tests/src/JIT/Methodical/varargs/seh/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Methodical/varargs/seh/fault.il b/tests/src/JIT/Methodical/varargs/seh/fault.il
new file mode 100644
index 0000000000..0ad7120e51
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/fault.il
@@ -0,0 +1,794 @@
+
+
+.module 'fault.exe'
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'fault'
+{
+
+
+}
+.namespace VATestLib
+{
+ .class public auto ansi FormatSpecException extends [mscorlib]System.ApplicationException
+ {
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldstr "Invalid format spec"
+ IL_0006: call instance void [mscorlib]System.ApplicationException::.ctor(class System.String)
+ IL_000b: ret
+ }
+
+ }
+
+ .class public auto ansi Complex extends [mscorlib]System.Object
+ {
+ .field private float64 m_dReal
+ .field private float64 m_dImg
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 4
+ .locals ([0] float64 V_0)
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.r8 0.
+ IL_0011: dup
+ IL_0012: stloc.0
+ IL_0013: stfld float64 VATestLib.Complex::m_dImg
+ IL_0018: ldloc.0
+ IL_0019: stfld float64 VATestLib.Complex::m_dReal
+ IL_001e: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor(float64 real,
+ float64 img) il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld float64 VATestLib.Complex::m_dReal
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld float64 VATestLib.Complex::m_dImg
+ IL_0014: ret
+ }
+
+ .method public virtual instance class System.String ToString() il managed
+ {
+ .maxstack 3
+ .locals ([0] class System.String[] V_0)
+ IL_0000: ldc.i4.5
+ IL_0001: newarr [mscorlib]System.String
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldc.i4.0
+ IL_0009: ldstr "C("
+ IL_000e: stelem.ref
+ IL_000f: ldloc.0
+ IL_0010: ldc.i4.1
+ IL_0011: ldarg.0
+ IL_0012: ldflda float64 VATestLib.Complex::m_dReal
+ IL_0017: call instance class System.String [mscorlib]System.Double::ToString()
+ IL_001c: stelem.ref
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.2
+ IL_001f: ldstr ", "
+ IL_0024: stelem.ref
+ IL_0025: ldloc.0
+ IL_0026: ldc.i4.3
+ IL_0027: ldarg.0
+ IL_0028: ldflda float64 VATestLib.Complex::m_dImg
+ IL_002d: call instance class System.String [mscorlib]System.Double::ToString()
+ IL_0032: stelem.ref
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.4
+ IL_0035: ldstr ")"
+ IL_003a: stelem.ref
+ IL_003b: ldloc.0
+ IL_003c: call class System.String [mscorlib]System.String::Concat(class System.String[])
+ IL_0041: ret
+ }
+
+ }
+
+ .class value public auto ansi sealed SComplex extends [mscorlib]System.ValueType
+ {
+ .field private float64 m_dReal
+ .field private float64 m_dImg
+ .method public specialname rtspecialname instance void .ctor(float64 real,
+ float64 img) il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: initobj VATestLib.SComplex
+ IL_0007: ldarg.0
+ IL_0008: ldarg.1
+ IL_0009: stfld float64 VATestLib.SComplex::m_dReal
+ IL_000e: ldarg.0
+ IL_000f: ldarg.2
+ IL_0010: stfld float64 VATestLib.SComplex::m_dImg
+ IL_0015: ret
+ }
+
+ .method public virtual instance class System.String ToString() il managed
+ {
+ .maxstack 3
+ .locals ([0] class System.String[] V_0)
+ IL_0000: ldc.i4.5
+ IL_0001: newarr [mscorlib]System.String
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldc.i4.0
+ IL_0009: ldstr "C("
+ IL_000e: stelem.ref
+ IL_000f: ldloc.0
+ IL_0010: ldc.i4.1
+ IL_0011: ldarg.0
+ IL_0012: ldflda float64 VATestLib.SComplex::m_dReal
+ IL_0017: call instance class System.String [mscorlib]System.Double::ToString()
+ IL_001c: stelem.ref
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.2
+ IL_001f: ldstr ", "
+ IL_0024: stelem.ref
+ IL_0025: ldloc.0
+ IL_0026: ldc.i4.3
+ IL_0027: ldarg.0
+ IL_0028: ldflda float64 VATestLib.SComplex::m_dImg
+ IL_002d: call instance class System.String [mscorlib]System.Double::ToString()
+ IL_0032: stelem.ref
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.4
+ IL_0035: ldstr ")"
+ IL_003a: stelem.ref
+ IL_003b: ldloc.0
+ IL_003c: call class System.String [mscorlib]System.String::Concat(class System.String[])
+ IL_0041: ret
+ }
+
+ }
+
+ .class public auto ansi VATest extends [mscorlib]System.Object
+ {
+ .method public static vararg class System.String FormatString(class System.String format) il managed
+ {
+ .maxstack 4
+ .locals ([0] int32 length,
+ [1] wchar[] chars,
+ [2] value class [mscorlib]System.ArgIterator args,
+ [3] class System.String result,
+ [4] int32 I,
+ [5] bool bLong,
+ [6] class System.Object 'box',
+ [7] wchar V_7,
+ [8] int32 V_8)
+ IL_0000: ldarg.0
+ IL_0001: call instance int32 [mscorlib]System.String::get_Length()
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: call instance wchar[] [mscorlib]System.String::ToCharArray()
+ IL_000d: stloc.1
+ IL_000e: ldloca.s args
+ IL_0010: arglist
+ IL_0012: call instance void [mscorlib]System.ArgIterator::.ctor(value class [mscorlib]System.RuntimeArgumentHandle)
+ IL_0017: ldnull
+ IL_001c: stloc.3
+ IL_001d: ldc.i4.0
+ IL_001e: stloc.s I
+ IL_0020: br IL_02c6
+
+ IL_0025: ldloc.1
+ IL_0026: ldloc.s I
+ IL_0028: ldelem.u2
+ IL_0029: ldc.i4.s 37
+ IL_002b: beq.s IL_0046
+
+ IL_002d: ldloc.3
+ IL_002e: ldloc.1
+ IL_002f: ldloc.s I
+ IL_0031: ldelema [mscorlib]System.Char
+ ldobj [mscorlib]System.Char
+
+ IL_0036: box [mscorlib]System.Char
+ IL_003b: call class System.String [mscorlib]System.String::Concat(class System.Object,
+ class System.Object)
+ IL_0040: stloc.3
+ IL_0041: br IL_02c0
+
+ IL_0046: ldloc.s I
+ IL_0048: ldc.i4.1
+ IL_0049: add
+ IL_004a: stloc.s I
+ IL_004c: ldloc.s I
+ IL_004e: ldloc.0
+ IL_004f: blt.s IL_0057
+
+ IL_0051: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_0056: throw
+
+ IL_0057: ldc.i4.0
+ IL_0058: stloc.s bLong
+ IL_005a: ldloc.1
+ IL_005b: ldloc.s I
+ IL_005d: ldelem.u2
+ IL_005e: ldc.i4.s 108
+ IL_0060: bne.un.s IL_0076
+
+ IL_0062: ldc.i4.1
+ IL_0063: stloc.s bLong
+ IL_0065: ldloc.s I
+ IL_0067: ldc.i4.1
+ IL_0068: add
+ IL_0069: stloc.s I
+ IL_006b: ldloc.s I
+ IL_006d: ldloc.0
+ IL_006e: blt.s IL_0076
+
+ IL_0070: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_0075: throw
+
+ IL_0076: ldloc.1
+ IL_0077: ldloc.s I
+ IL_0079: ldelem.u2
+ IL_007a: stloc.s V_7
+ IL_007c: ldloc.s V_7
+ IL_007e: ldc.i4.s 111
+ IL_0080: bgt.s IL_00b3
+
+ IL_0082: ldloc.s V_7
+ IL_0084: ldc.i4.s 98
+ IL_0086: sub
+ IL_0087: switch (
+ IL_00e1,
+ IL_02ba,
+ IL_0128,
+ IL_02ba,
+ IL_01da)
+ IL_00a0: ldloc.s V_7
+ IL_00a2: ldc.i4.s 111
+ IL_00a4: beq IL_0278
+
+ IL_00a9: br IL_02ba
+
+ IL_00ae: br IL_02ba
+
+ IL_00b3: ldloc.s V_7
+ IL_00b5: ldc.i4.s 115
+ IL_00b7: sub
+ IL_00b8: switch (
+ IL_0233,
+ IL_02ba,
+ IL_0181)
+ IL_00c9: ldloc.s V_7
+ IL_00cb: ldc.i4.s 120
+ IL_00cd: beq IL_0253
+
+ IL_00d2: br IL_02ba
+
+ IL_00d7: br IL_02ba
+
+ IL_00dc: br IL_02ba
+
+ IL_00e1: ldloc.s bLong
+ IL_00e3: brfalse.s IL_00eb
+
+ IL_00e5: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_00ea: throw
+
+ IL_00eb: ldloca.s args
+ IL_00ed: ldtoken [mscorlib]System.Boolean
+ IL_00f2: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_00f7: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_00fc: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0101: refanyval [mscorlib]System.Boolean
+ IL_0106: ldind.i1
+ IL_0107: brfalse.s IL_0117
+
+ IL_0109: ldloc.3
+ IL_010a: ldstr "true"
+ IL_010f: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0114: stloc.3
+ IL_0115: br.s IL_0123
+
+ IL_0117: ldloc.3
+ IL_0118: ldstr "false"
+ IL_011d: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0122: stloc.3
+ IL_0123: br IL_02c0
+
+ IL_0128: ldloc.s bLong
+ IL_012a: brfalse.s IL_0155
+
+ IL_012c: ldloc.3
+ IL_012d: ldloca.s args
+ IL_012f: ldtoken [mscorlib]System.Int64
+ IL_0134: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0139: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_013e: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0143: refanyval [mscorlib]System.Int64
+ IL_0148: call instance class System.String [mscorlib]System.Int64::ToString()
+ IL_014d: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0152: stloc.3
+ IL_0153: br.s IL_017c
+
+ IL_0155: ldloc.3
+ IL_0156: ldloca.s args
+ IL_0158: ldtoken [mscorlib]System.Int32
+ IL_015d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0162: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_0167: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_016c: refanyval [mscorlib]System.Int32
+ IL_0171: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0176: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_017b: stloc.3
+ IL_017c: br IL_02c0
+
+ IL_0181: ldloc.s bLong
+ IL_0183: brfalse.s IL_01ae
+
+ IL_0185: ldloc.3
+ IL_0186: ldloca.s args
+ IL_0188: ldtoken [mscorlib]System.UInt64
+ IL_018d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0192: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_0197: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_019c: refanyval [mscorlib]System.UInt64
+ IL_01a1: call instance class System.String [mscorlib]System.UInt64::ToString()
+ IL_01a6: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_01ab: stloc.3
+ IL_01ac: br.s IL_01d5
+
+ IL_01ae: ldloc.3
+ IL_01af: ldloca.s args
+ IL_01b1: ldtoken [mscorlib]System.UInt32
+ IL_01b6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_01bb: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_01c0: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_01c5: refanyval [mscorlib]System.UInt32
+ IL_01ca: call instance class System.String [mscorlib]System.UInt32::ToString()
+ IL_01cf: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_01d4: stloc.3
+ IL_01d5: br IL_02c0
+
+ IL_01da: ldloc.s bLong
+ IL_01dc: brfalse.s IL_0207
+
+ IL_01de: ldloc.3
+ IL_01df: ldloca.s args
+ IL_01e1: ldtoken [mscorlib]System.Double
+ IL_01e6: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_01eb: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_01f0: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_01f5: refanyval [mscorlib]System.Double
+ IL_01fa: call instance class System.String [mscorlib]System.Double::ToString()
+ IL_01ff: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0204: stloc.3
+ IL_0205: br.s IL_022e
+
+ IL_0207: ldloc.3
+ IL_0208: ldloca.s args
+ IL_020a: ldtoken [mscorlib]System.Single
+ IL_020f: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0214: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_0219: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_021e: refanyval [mscorlib]System.Single
+ IL_0223: call instance class System.String [mscorlib]System.Single::ToString()
+ IL_0228: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_022d: stloc.3
+ IL_022e: br IL_02c0
+
+ IL_0233: ldloc.s bLong
+ IL_0235: brfalse.s IL_023d
+
+ IL_0237: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_023c: throw
+
+ IL_023d: ldloc.3
+ IL_023e: ldloca.s args
+ IL_0240: call instance typedref [mscorlib]System.ArgIterator::GetNextArg()
+ IL_0245: refanyval [mscorlib]System.String
+ IL_024a: ldind.ref
+ IL_024b: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0250: stloc.3
+ IL_0251: br.s IL_02c0
+
+ IL_0253: ldloc.s bLong
+ IL_0255: brfalse.s IL_025d
+
+ IL_0257: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_025c: throw
+
+ IL_025d: ldloc.3
+ IL_025e: ldloca.s args
+ IL_0260: call instance typedref [mscorlib]System.ArgIterator::GetNextArg()
+ IL_0265: refanyval VATestLib.Complex
+ IL_026a: ldind.ref
+ IL_026b: callvirt instance class System.String VATestLib.Complex::ToString()
+ IL_0270: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_0275: stloc.3
+ IL_0276: br.s IL_02c0
+
+ IL_0278: ldloc.s bLong
+ IL_027a: brfalse.s IL_0282
+
+ IL_027c: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_0281: throw
+
+ IL_0282: ldloca.s args
+ IL_0284: ldtoken [mscorlib]System.Object
+ IL_0289: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_028e: callvirt instance value class [mscorlib]System.RuntimeTypeHandle [mscorlib]System.Type::get_TypeHandle()
+ IL_0293: call instance typedref [mscorlib]System.ArgIterator::GetNextArg(value class [mscorlib]System.RuntimeTypeHandle)
+ IL_0298: refanyval [mscorlib]System.Object
+ IL_029d: ldind.ref
+ IL_029e: stloc.s 'box'
+ IL_02a0: ldloc.3
+ IL_02a1: ldloc.s 'box'
+ IL_02a3: unbox [mscorlib]System.Int32
+ IL_02a8: ldind.i4
+ IL_02a9: stloc.s V_8
+ IL_02ab: ldloca.s V_8
+ IL_02ad: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_02b2: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String)
+ IL_02b7: stloc.3
+ IL_02b8: br.s IL_02c0
+
+ IL_02ba: newobj instance void VATestLib.FormatSpecException::.ctor()
+ IL_02bf: throw
+
+ IL_02c0: ldloc.s I
+ IL_02c2: ldc.i4.1
+ IL_02c3: add
+ IL_02c4: stloc.s I
+ IL_02c6: ldloc.s I
+ IL_02c8: ldloc.0
+ IL_02c9: blt IL_0025
+
+ IL_02ce: ldloc.3
+ IL_02cf: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
+.namespace App
+{
+ .class auto ansi App extends [mscorlib]System.Object
+ {
+ .class value auto ansi serializable sealed nested family App$ExecPath extends [mscorlib]System.Enum
+ {
+ .field public specialname rtspecialname int32 value__
+ .field public static literal value class App.App/App$ExecPath PATH_NO_EXCEPTION = int32(0x00000000)
+ .field public static literal value class App.App/App$ExecPath PATH_APP_EXCEPTION = int32(0x00000001)
+ .field public static literal value class App.App/App$ExecPath PATH_AI_EXCEPTION = int32(0x00000002)
+ .field public static literal value class App.App/App$ExecPath PATH_EE_EXCEPTION = int32(0x00000003)
+ .field public static literal value class App.App/App$ExecPath PATH_FIRST = int32(0x00000000)
+ .field public static literal value class App.App/App$ExecPath PATH_LAST = int32(0x00000003)
+ }
+
+ .field private static initonly class System.String formatSpec
+ .field private static initonly class System.String invalidFormatSpec
+ .field private static initonly class System.String expResult
+ .method family static bool vaFault(value class App.App/App$ExecPath execPath) il managed
+ {
+ .maxstack 10
+ .locals ([0] bool bRetVal,
+ [1] int32 val,
+ [2] class System.Object obj1,
+ [3] class System.Object obj2,
+ [4] bool V_4,
+ [5] value class App.App/App$ExecPath V_5)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.s -11
+ IL_0004: stloc.1
+ IL_0005: ldloc.s val
+ IL_0007: box [mscorlib]System.Int32
+ IL_000c: stloc.2
+ IL_000d: ldloc.2
+ IL_000e: stloc.3
+ .try
+ {
+ .try
+ {
+ IL_000f: ldarg.0
+ IL_0010: stloc.s V_5
+ IL_0012: ldloc.s V_5
+ IL_0014: switch (
+ IL_002e,
+ IL_0080,
+ IL_00bc,
+ IL_00f7)
+ IL_0029: br IL_0133
+
+ IL_002e: ldsfld class System.String App.App::formatSpec
+ IL_0033: ldc.i4.s -11
+ IL_0035: ldc.i4 0x144
+ IL_003a: ldc.i4.s -11
+ IL_003c: conv.i8
+ IL_003d: ldc.i4 0x144
+ IL_0042: conv.i8
+ IL_0043: ldstr "string"
+ IL_0048: ldc.r8 1.5
+ IL_0051: ldc.r8 2.
+ IL_005a: newobj instance void VATestLib.Complex::.ctor(float64,
+ float64)
+ IL_005f: ldloc.2
+ IL_0060: ldloc.3
+ IL_0061: ldc.i4.1
+ IL_0062: call vararg class System.String VATestLib.VATest::FormatString(class System.String,
+ ...,
+ int32,
+ unsigned int32,
+ int64,
+ unsigned int64,
+ class System.String,
+ class VATestLib.Complex,
+ class System.Object,
+ class System.Object,
+ bool)
+ IL_0067: ldsfld class System.String App.App::expResult
+ IL_006c: call bool [mscorlib]System.String::Equals(class System.String,
+ class System.String)
+ IL_0071: brtrue.s IL_007b
+
+ IL_0073: ldc.i4.0
+ IL_0074: stloc.s V_4
+ IL_0076: leave IL_0198
+
+ IL_007b: br IL_0133
+
+ IL_0080: ldsfld class System.String App.App::invalidFormatSpec
+ IL_0085: ldc.i4.s -11
+ IL_0087: ldc.i4 0x144
+ IL_008c: ldc.i4.s -11
+ IL_008e: conv.i8
+ IL_008f: ldc.i4 0x144
+ IL_0094: conv.i8
+ IL_0095: ldstr "string"
+ IL_009a: ldc.r8 1.5
+ IL_00a3: ldc.r8 2.
+ IL_00ac: newobj instance void VATestLib.Complex::.ctor(float64,
+ float64)
+ IL_00b1: ldloc.2
+ IL_00b2: ldloc.3
+ IL_00b3: ldc.i4.1
+ IL_00b4: call vararg class System.String VATestLib.VATest::FormatString(class System.String,
+ ...,
+ int32,
+ unsigned int32,
+ int64,
+ unsigned int64,
+ class System.String,
+ class VATestLib.Complex,
+ class System.Object,
+ class System.Object,
+ bool)
+ IL_00b9: pop
+ IL_00ba: br.s IL_0133
+
+ IL_00bc: ldsfld class System.String App.App::formatSpec
+ IL_00c1: ldc.i4.s -11
+ IL_00c3: ldc.i4 0x144
+ IL_00c8: ldc.i4.s -11
+ IL_00ca: conv.i8
+ IL_00cb: ldc.i4 0x144
+ IL_00d0: conv.i8
+ IL_00d1: ldstr "string"
+ IL_00d6: ldc.r8 1.5
+ IL_00df: ldc.r8 2.
+ IL_00e8: newobj instance void VATestLib.Complex::.ctor(float64,
+ float64)
+ IL_00ed: ldloc.2
+ IL_00ee: ldloc.3
+ IL_00ef: call vararg class System.String VATestLib.VATest::FormatString(class System.String,
+ ...,
+ int32,
+ unsigned int32,
+ int64,
+ unsigned int64,
+ class System.String,
+ class VATestLib.Complex,
+ class System.Object,
+ class System.Object)
+ IL_00f4: pop
+ IL_00f5: br.s IL_0133
+
+ IL_00f7: ldsfld class System.String App.App::formatSpec
+ IL_00fc: ldc.i4.s -11
+ IL_00fe: ldc.i4 0x144
+ IL_0103: ldc.i4.s -11
+ IL_0105: conv.i8
+ IL_0106: ldc.i4 0x144
+ IL_010b: conv.i8
+ IL_010c: ldstr "string"
+ IL_0111: ldc.r8 1.5
+ IL_011a: ldc.r8 2.
+ IL_0123: newobj instance void VATestLib.Complex::.ctor(float64,
+ float64)
+ IL_0128: ldloc.2
+ IL_0129: ldc.i4.0
+ IL_012a: ldc.i4.1
+ IL_012b: call vararg class System.String VATestLib.VATest::FormatString(class System.String,
+ ...,
+ int32,
+ unsigned int32,
+ int64,
+ unsigned int64,
+ class System.String,
+ class VATestLib.Complex,
+ class System.Object,
+ bool,
+ bool)
+ IL_0130: pop
+ IL_0131: br.s IL_0133
+
+ IL_0133: leave.s IL_018b
+
+ }
+ fault
+ {
+ IL_0135: ldstr "Fault handler."
+ IL_013a: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_013f: ldarg.0
+ IL_0140: ldc.i4.0
+ IL_0141: beq.s IL_018a
+
+ IL_0143: ldsfld class System.String App.App::formatSpec
+ IL_0148: ldc.i4.s -11
+ IL_014a: ldc.i4 0x144
+ IL_014f: ldc.i4.s -11
+ IL_0151: conv.i8
+ IL_0152: ldc.i4 0x144
+ IL_0157: conv.i8
+ IL_0158: ldstr "string"
+ IL_015d: ldc.r8 1.5
+ IL_0166: ldc.r8 2.
+ IL_016f: newobj instance void VATestLib.Complex::.ctor(float64,
+ float64)
+ IL_0174: ldloc.2
+ IL_0175: ldloc.3
+ IL_0176: ldc.i4.1
+ IL_0177: call vararg class System.String VATestLib.VATest::FormatString(class System.String,
+ ...,
+ int32,
+ unsigned int32,
+ int64,
+ unsigned int64,
+ class System.String,
+ class VATestLib.Complex,
+ class System.Object,
+ class System.Object,
+ bool)
+ IL_017c: ldsfld class System.String App.App::expResult
+ IL_0181: call bool [mscorlib]System.String::Equals(class System.String,
+ class System.String)
+ IL_0186: brfalse.s IL_018a
+
+ IL_0188: ldc.i4.1
+ IL_0189: stloc.0
+ IL_018a: endfinally
+ }
+ IL_018b: leave.s IL_0190
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_018d: pop
+ IL_018e: leave.s IL_0190
+
+ }
+ IL_0190: ldarg.0
+ IL_0191: ldc.i4.0
+ IL_0192: bne.un.s IL_0196
+
+ IL_0194: ldc.i4.1
+ IL_0195: stloc.0
+ IL_0196: ldloc.0
+ IL_0197: ret
+
+ IL_0198: ldloc.s V_4
+ IL_019a: ret
+ }
+
+ .method public static int32 Main(class System.String[] args) il managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals ([0] value class App.App/App$ExecPath arg)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: br.s IL_002d
+
+ IL_0004: ldloc.0
+ IL_0005: call bool App.App::vaFault(value class App.App/App$ExecPath)
+ IL_000a: brtrue.s IL_0029
+
+ IL_000c: ldstr "vaFault("
+ IL_0011: ldloca.s arg
+ IL_0013: call instance class System.String [mscorlib]System.Int32::ToString()
+ IL_0018: ldstr ") failed."
+ IL_001d: call class System.String [mscorlib]System.String::Concat(class System.String,
+ class System.String,
+ class System.String)
+ IL_0022: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_0027: ldc.i4.1
+ IL_0028: ret
+
+ IL_0029: ldloc.0
+ IL_002a: ldc.i4.1
+ IL_002b: add
+ IL_002c: stloc.0
+ IL_002d: ldloc.0
+ IL_002e: ldc.i4.3
+ IL_002f: ble.s IL_0004
+
+ IL_0031: ldstr "*** vaFault test passed ***"
+ IL_0036: call void [System.Console]System.Console::WriteLine(class System.String)
+ IL_003b: ldc.i4 0x64
+ IL_003c: ret
+ }
+
+ .method public specialname rtspecialname static void .cctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldstr "%d %u %ld %lu %s %x %o %o %b"
+ IL_0005: stsfld class System.String App.App::formatSpec
+ IL_000a: ldstr "%d %u %ld %lu %s %x %%o %b"
+ IL_000f: stsfld class System.String App.App::invalidFormatSpec
+ IL_0014: ldstr "-11 324 -11 324 string C(1"
+ IL_0019: call class [mscorlib]System.Threading.Thread [mscorlib]System.Threading.Thread::get_CurrentThread()
+ IL_001e: callvirt instance class [mscorlib]System.Globalization.CultureInfo [mscorlib]System.Threading.Thread::get_CurrentCulture()
+ IL_0023: callvirt instance class [mscorlib]System.Globalization.NumberFormatInfo [mscorlib]System.Globalization.CultureInfo::get_NumberFormat()
+ IL_0028: callvirt instance string [mscorlib]System.Globalization.NumberFormatInfo::get_NumberDecimalSeparator()
+ IL_002d: ldstr "5, 2) -11 -11 true"
+ IL_0032: call string [mscorlib]System.String::Concat(string,
+ string,
+ string)
+ IL_0037: stsfld string App.App::expResult
+ IL_003c: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Methodical/varargs/seh/fault_il_d.ilproj b/tests/src/JIT/Methodical/varargs/seh/fault_il_d.ilproj
new file mode 100644
index 0000000000..bc0b415130
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/fault_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="fault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/varargs/seh/fault_il_r.ilproj b/tests/src/JIT/Methodical/varargs/seh/fault_il_r.ilproj
new file mode 100644
index 0000000000..eacebbfc0a
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/fault_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="fault.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/varargs/seh/filter.il b/tests/src/JIT/Methodical/varargs/seh/filter.il
new file mode 100644
index 0000000000..25defbbe53
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/filter.il
@@ -0,0 +1,83 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'vafilt'
+{
+
+
+}
+.namespace App
+{
+ .class auto ansi Foo extends [mscorlib]System.Object
+ {
+ .field private class System.String text
+ .method family newslot virtual instance vararg class App.Foo VargFunc() il managed
+ {
+ .maxstack 2
+ .locals ([0] value class [mscorlib]System.ArgIterator args)
+ IL_0000: ldloca.s args
+ IL_0002: arglist
+ IL_0004: call instance void [mscorlib]System.ArgIterator::.ctor(value class [mscorlib]System.RuntimeArgumentHandle)
+ IL_0009: ldloca.s args
+ IL_000b: call instance typedref [mscorlib]System.ArgIterator::GetNextArg()
+ IL_0010: refanyval App.Foo
+ IL_0015: ldind.ref
+ IL_0016: ldfld class System.String App.Foo::text
+ IL_001b: call void [System.Console]System.Console::WriteLine(class System.String)
+ call void [mscorlib]System.GC::Collect()
+ IL_0020: newobj instance void App.Foo::.ctor()
+ IL_0025: ret
+ }
+
+ .method public static int32 Main(class System.String[] args) il managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals ([0] int32 zero)
+ try_begin:
+ ldc.i4.0
+ stloc.0
+ ldc.i4.s 15
+ ldloc.0
+ div
+ call void [System.Console]System.Console::WriteLine(int32)
+ leave.s handler_end
+ filter_begin:
+ pop
+ newobj instance void App.Foo::.ctor()
+ newobj instance void App.Foo::.ctor()
+ callvirt instance vararg class App.Foo App.Foo::VargFunc(...,
+ class App.Foo
+ )
+ pop
+ ldc.i4.1
+ endfilter
+ handler_begin:
+ pop
+ leave.s handler_end
+ handler_end:
+ ldstr "*** test passed ***"
+ call void [System.Console]System.Console::WriteLine(class System.String)
+ ldc.i4 0x64
+ ret
+ .try try_begin to filter_begin filter filter_begin handler handler_begin to handler_end
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldstr "Blah Blah"
+ IL_0006: stfld class System.String App.Foo::text
+ IL_000b: ldarg.0
+ IL_000c: call instance void [mscorlib]System.Object::.ctor()
+ IL_0011: ret
+ }
+
+ }
+
+}
diff --git a/tests/src/JIT/Methodical/varargs/seh/filter_il_d.ilproj b/tests/src/JIT/Methodical/varargs/seh/filter_il_d.ilproj
new file mode 100644
index 0000000000..cb10084480
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/filter_il_d.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="filter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/varargs/seh/filter_il_r.ilproj b/tests/src/JIT/Methodical/varargs/seh/filter_il_r.ilproj
new file mode 100644
index 0000000000..3ba8f225d7
--- /dev/null
+++ b/tests/src/JIT/Methodical/varargs/seh/filter_il_r.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="filter.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj b/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj
new file mode 100644
index 0000000000..7e4c964114
--- /dev/null
+++ b/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="localloc.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj b/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj
new file mode 100644
index 0000000000..bfcdf71853
--- /dev/null
+++ b/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="localloc.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Methodical/xxobj/operand/localloc.il b/tests/src/JIT/Methodical/xxobj/operand/localloc.il
new file mode 100644
index 0000000000..3273c2318f
--- /dev/null
+++ b/tests/src/JIT/Methodical/xxobj/operand/localloc.il
@@ -0,0 +1,216 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly 'localloc' {
+ .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
+}
+.namespace JitTest
+{
+ .class private sequential ansi sealed beforefieldinit Test
+ extends [mscorlib]System.ValueType
+ {
+ .field private int32 m_v
+ .method private hidebysig static int32
+ localloc_ldobj() cil managed
+ {
+ .maxstack 8
+ .locals (native int ptr, value class JitTest.Test elem, int32 dummy)
+ sizeof int32
+ localloc
+ ldobj int32
+ stloc.s dummy
+
+ ldloca.s elem
+ initobj JitTest.Test
+
+ sizeof JitTest.Test
+ ldc.i4.2
+ mul
+ localloc
+ sizeof JitTest.Test
+ ldc.i4.2
+ div
+ add
+ stloc.s ptr
+
+ ldloc.s ptr
+ ldc.i4 1234
+ unaligned. 1
+ stfld int32 JitTest.Test::m_v
+
+ ldloc.s ptr
+ unaligned. 1
+ ldobj JitTest.Test
+
+ stloc.s elem
+ ldloca.s elem
+ ldfld int32 JitTest.Test::m_v
+ ldc.i4 1234
+ sub
+ ret
+ }
+ .method private hidebysig static int32
+ localloc_initobj() cil managed
+ {
+ .maxstack 8
+ .locals (native int ptr, value class JitTest.Test elem, int32 dummy)
+ sizeof JitTest.Test
+ localloc
+ initobj JitTest.Test
+
+ sizeof JitTest.Test
+ localloc
+ dup
+ initobj JitTest.Test
+ ldfld int32 JitTest.Test::m_v
+ dup
+ brtrue RET
+ pop
+
+ sizeof JitTest.Test
+ ldc.i4.2
+ mul
+ localloc
+ sizeof JitTest.Test
+ ldc.i4.2
+ div
+ add
+
+ dup
+ unaligned. 1
+ initobj JitTest.Test
+ unaligned. 1
+ ldfld int32 JitTest.Test::m_v
+
+ RET:
+ ret
+ }
+
+ .method private hidebysig static int32
+ localloc_cpobj() cil managed
+ {
+ .maxstack 8
+ .locals (native int ptr, value class JitTest.Test elem, int32 dummy)
+ sizeof int32
+ localloc
+ ldobj int32
+ stloc.s dummy
+
+ ldloca.s elem
+ initobj JitTest.Test
+
+ sizeof JitTest.Test
+ ldc.i4.2
+ mul
+ localloc
+ sizeof JitTest.Test
+ ldc.i4.2
+ div
+ add
+ stloc.s ptr
+
+ ldloc.s ptr
+ ldc.i4 1234
+ unaligned. 1
+ stfld int32 JitTest.Test::m_v
+
+ ldloca.s elem
+ ldloc.s ptr
+ unaligned. 1
+ cpobj JitTest.Test
+
+ ldloca.s elem
+ ldfld int32 JitTest.Test::m_v
+ ldc.i4 1234
+ sub
+ ret
+ }
+
+ .method private hidebysig static int32
+ localloc_stobj() cil managed
+ {
+ .maxstack 8
+ .locals (value class JitTest.Test[0...10] arr, value class JitTest.Test elem)
+ .maxstack 8
+ .locals (native int ptr, value class JitTest.Test elem, int32 dummy)
+ sizeof int32
+ localloc
+ ldobj int32
+ stloc.s dummy
+
+ ldloca.s elem
+ initobj JitTest.Test
+
+ sizeof JitTest.Test
+ ldc.i4.2
+ mul
+ localloc
+ sizeof JitTest.Test
+ ldc.i4.2
+ div
+ add
+ stloc.s ptr
+
+ ldloc.s ptr
+ ldc.i4 1234
+ unaligned. 1
+ stfld int32 JitTest.Test::m_v
+
+ ldloc.s ptr
+ ldloc.s elem
+ unaligned. 1
+ stobj JitTest.Test
+
+ ldloca.s elem
+ ldfld int32 JitTest.Test::m_v
+ ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals (int32 V_0)
+ IL_0000: call int32 JitTest.Test::localloc_ldobj()
+ IL_0005: brfalse.s IL_0016
+ IL_0007: ldstr "localloc_ldobj() failed."
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0067
+ IL_0016: call int32 JitTest.Test::localloc_initobj()
+ IL_001b: brfalse.s IL_002c
+ IL_001d: ldstr "localloc_initobj() failed."
+ IL_0022: call void [System.Console]System.Console::WriteLine(string)
+ IL_0027: ldc.i4.s 102
+ IL_0029: stloc.0
+ IL_002a: br.s IL_0067
+ IL_002c: call int32 JitTest.Test::localloc_stobj()
+ IL_0031: brfalse.s IL_0042
+ IL_0033: ldstr "localloc_stobj() failed."
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldc.i4.s 103
+ IL_003f: stloc.0
+ IL_0040: br.s IL_0067
+ IL_0042: call int32 JitTest.Test::localloc_cpobj()
+ IL_0047: brfalse.s IL_0058
+ IL_0049: ldstr "localloc_cpobj() failed."
+ IL_004e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0053: ldc.i4.s 104
+ IL_0055: stloc.0
+ IL_0056: br.s IL_0067
+ IL_0058: ldstr "All tests passed!"
+ IL_005d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0062: ldc.i4.s 100
+ IL_0064: stloc.0
+ IL_0065: br.s IL_0067
+ IL_0067: ldloc.0
+ IL_0068: ret
+ }
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/app.config b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.il b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.il
new file mode 100644
index 0000000000..fe673777c0
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.il
@@ -0,0 +1,44 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly b07847
+{
+}
+
+.data tls FieldData = int32(51966)
+.class public test {
+
+ .field public static int32 TLSFieldData at FieldData
+ .method public static int32 main()
+ {
+ .entrypoint
+ ldsfld int32 test::TLSFieldData
+ ldc.i4 51966
+ beq Passed1
+ br Failed
+
+Passed1:
+ ldc.i4 51967
+ dup
+ stsfld int32 test::TLSFieldData
+ ldsfld int32 test::TLSFieldData
+ beq Passed2
+ br Failed
+
+Passed2:
+ ldstr "Test passed."
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 100
+ ret
+
+Failed:
+ ldstr "Test failed."
+ call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ ldc.i4 1
+ ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj
new file mode 100644
index 0000000000..6bf08c67a8
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b07847.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.il
new file mode 100644
index 0000000000..fcc7768251
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.il
@@ -0,0 +1,166 @@
+.module 'gcindir.exe'
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'gcindir'
+{
+
+
+ .permission reqmin ['mscorlib']System.Security.Permissions.SecurityPermissionAttribute ( "SkipVerification" = true )
+}
+.namespace Test
+{
+ .class public auto ansi FormatSpecException extends [mscorlib]System.ApplicationException
+ {
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldstr "Invalid format spec"
+ IL_0006: call instance void [mscorlib]System.ApplicationException::.ctor(class [mscorlib]System.String)
+ IL_000b: ret
+ }
+
+ }
+
+ .class public auto ansi Complex extends [mscorlib]System.Object
+ {
+ .field private float64 m_dReal
+ .field private float64 m_dImg
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 4
+ .locals ([0] float64 V_0)
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.r8 0.
+ IL_0011: dup
+ IL_0012: stloc.0
+ IL_0013: stfld float64 Test.Complex::m_dImg
+ IL_0018: ldloc.0
+ IL_0019: stfld float64 Test.Complex::m_dReal
+ IL_001e: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor(float64 real,
+ float64 img) il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld float64 Test.Complex::m_dReal
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld float64 Test.Complex::m_dImg
+ IL_0014: ret
+ }
+
+ .method public virtual instance class [mscorlib]System.String ToString() il managed
+ {
+ .maxstack 3
+ .locals ([0] class [mscorlib]System.String[] V_0)
+ IL_0000: ldc.i4.5
+ IL_0001: newarr [mscorlib]System.String
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldc.i4.0
+ IL_0009: ldstr "C("
+ IL_000e: stelem.ref
+ IL_000f: ldloc.0
+ IL_0010: ldc.i4.1
+ IL_0011: ldarg.0
+ IL_0012: ldflda float64 Test.Complex::m_dReal
+ IL_0017: call instance class [mscorlib]System.String [mscorlib]System.Double::ToString()
+ IL_001c: stelem.ref
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.2
+ IL_001f: ldstr ", "
+ IL_0024: stelem.ref
+ IL_0025: ldloc.0
+ IL_0026: ldc.i4.3
+ IL_0027: ldarg.0
+ IL_0028: ldflda float64 Test.Complex::m_dImg
+ IL_002d: call instance class [mscorlib]System.String [mscorlib]System.Double::ToString()
+ IL_0032: stelem.ref
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.4
+ IL_0035: ldstr ")"
+ IL_003a: stelem.ref
+ IL_003b: ldloc.0
+ IL_003c: call class [mscorlib]System.String [mscorlib]System.String::Concat(class [mscorlib]System.String[])
+ IL_0041: ret
+ }
+
+ }
+
+ .class auto ansi GCClass extends [mscorlib]System.Object
+ {
+ .method public newslot virtual instance vararg void VirtVargFunc(class [mscorlib]System.String format) il managed
+ {
+ .maxstack 4
+ ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+ .class auto ansi App extends [mscorlib]System.Object
+ {
+ .field private static initonly class [mscorlib]System.String formatSpec
+ .field private static initonly class [mscorlib]System.String expResult
+ .method private static int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 12
+ .locals ([0] class Test.GCClass inst)
+
+ newobj instance void Test.GCClass::.ctor()
+ dup
+ stloc.0
+ ldstr "In vararg function."
+ ldloc.0
+ ldvirtftn instance vararg void Test.GCClass::VirtVargFunc(class [mscorlib]System.String)
+ calli instance vararg void(class [mscorlib]System.String, ...)
+
+ ldstr "**** TEST PASSED ****"
+ call void [System.Console]System.Console::Write(class [mscorlib]System.String)
+ ldc.i4 100
+ ret
+ }
+
+ .method public specialname rtspecialname static void .cctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldstr "%d %u %ld %lu %s %x %o %o %b"
+ IL_0005: stsfld class [mscorlib]System.String Test.App::formatSpec
+ IL_000a: ldstr "-11 324 -11 324 string C(1.5, 2) -11 -11 true"
+ IL_000f: stsfld class [mscorlib]System.String Test.App::expResult
+ IL_0014: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj
new file mode 100644
index 0000000000..6cbcf8af89
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b26324a.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.il
new file mode 100644
index 0000000000..c8a14cbd9f
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.il
@@ -0,0 +1,162 @@
+.module 'gcindir.exe'
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'gcindir'
+{
+
+
+}
+.namespace Test
+{
+ .class public auto ansi FormatSpecException extends [mscorlib]System.ApplicationException
+ {
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldstr "Invalid format spec"
+ IL_0006: call instance void [mscorlib]System.ApplicationException::.ctor(class [mscorlib]System.String)
+ IL_000b: ret
+ }
+
+ }
+
+ .class public auto ansi Complex extends [mscorlib]System.Object
+ {
+ .field private float64 m_dReal
+ .field private float64 m_dImg
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 4
+ .locals ([0] float64 V_0)
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.0
+ IL_0008: ldc.r8 0.
+ IL_0011: dup
+ IL_0012: stloc.0
+ IL_0013: stfld float64 Test.Complex::m_dImg
+ IL_0018: ldloc.0
+ IL_0019: stfld float64 Test.Complex::m_dReal
+ IL_001e: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor(float64 real,
+ float64 img) il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld float64 Test.Complex::m_dReal
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld float64 Test.Complex::m_dImg
+ IL_0014: ret
+ }
+
+ .method public virtual instance class [mscorlib]System.String ToString() il managed
+ {
+ .maxstack 3
+ .locals ([0] class [mscorlib]System.String[] V_0)
+ IL_0000: ldc.i4.5
+ IL_0001: newarr [mscorlib]System.String
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldc.i4.0
+ IL_0009: ldstr "C("
+ IL_000e: stelem.ref
+ IL_000f: ldloc.0
+ IL_0010: ldc.i4.1
+ IL_0011: ldarg.0
+ IL_0012: ldflda float64 Test.Complex::m_dReal
+ IL_0017: call instance class [mscorlib]System.String [mscorlib]System.Double::ToString()
+ IL_001c: stelem.ref
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.2
+ IL_001f: ldstr ", "
+ IL_0024: stelem.ref
+ IL_0025: ldloc.0
+ IL_0026: ldc.i4.3
+ IL_0027: ldarg.0
+ IL_0028: ldflda float64 Test.Complex::m_dImg
+ IL_002d: call instance class [mscorlib]System.String [mscorlib]System.Double::ToString()
+ IL_0032: stelem.ref
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.4
+ IL_0035: ldstr ")"
+ IL_003a: stelem.ref
+ IL_003b: ldloc.0
+ IL_003c: call class [mscorlib]System.String [mscorlib]System.String::Concat(class [mscorlib]System.String[])
+ IL_0041: ret
+ }
+
+ }
+
+ .class auto ansi GCClass extends [mscorlib]System.Object
+ {
+ .method public instance vararg void VargFunc(class [mscorlib]System.String format) il managed
+ {
+ .maxstack 4
+ ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+ .class auto ansi App extends [mscorlib]System.Object
+ {
+ .field private static initonly class [mscorlib]System.String formatSpec
+ .field private static initonly class [mscorlib]System.String expResult
+ .method private static int32 Main() il managed
+ {
+ .entrypoint
+ .maxstack 12
+ .locals ([0] class Test.GCClass inst)
+
+ newobj instance void Test.GCClass::.ctor()
+ ldstr "In vararg function."
+ ldftn instance vararg void Test.GCClass::VargFunc(class [mscorlib]System.String)
+ calli instance vararg void(class [mscorlib]System.String, ...)
+
+ ldstr "**** TEST PASSED ****"
+ call void [System.Console]System.Console::Write(class [mscorlib]System.String)
+ ldc.i4 100
+ ret
+ }
+
+ .method public specialname rtspecialname static void .cctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldstr "%d %u %ld %lu %s %x %o %o %b"
+ IL_0005: stsfld class [mscorlib]System.String Test.App::formatSpec
+ IL_000a: ldstr "-11 324 -11 324 string C(1.5, 2) -11 -11 true"
+ IL_000f: stsfld class [mscorlib]System.String Test.App::expResult
+ IL_0014: ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj
new file mode 100644
index 0000000000..935b8afce5
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b26324b.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.il
new file mode 100644
index 0000000000..9fc7ffc196
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.il
@@ -0,0 +1,145 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ILGEN_0xe696696 {}
+.class ILGEN_0xe696696 {
+
+.field static int32 field_0x0
+.field static float64 field_0x5
+.method static int32 main() {
+.entrypoint
+.maxstack 17
+
+ .locals (int16 local_0x4,unsigned int64[] local_0x5,int8 local_0x6)
+ .try {
+
+ ldc.i4 0x68491820
+ stloc local_0x4
+ ldc.i4 2550
+ newarr [mscorlib]System.UInt64
+ stloc local_0x5
+ ldc.i4 0xe5
+ stloc local_0x6
+
+ ldc.i4 0x6bdc6c33
+ stsfld int32 ILGEN_0xe696696::field_0x0
+
+ ldc.r8 float64(0x7a4660466bdc6c33)
+ stsfld float64 ILGEN_0xe696696::field_0x5
+
+Start_Orphan_d:
+
+Start_Orphan_12:
+ ldloca local_0x6
+ ldc.i4.m1
+ stind.i1
+End_Orphan_12:
+
+ ldc.i4.4
+ ldc.i4.3
+ clt
+ conv.i
+ ldloc local_0x5
+ ldc.i4.7
+ ldelema [mscorlib]System.UInt64
+ ldind.u8
+ conv.ovf.i1.un
+ldc.i4 5
+add
+ div
+ conv.r4
+ pop
+End_Orphan_d:
+
+ ldc.r4 float32(0x68d751f)
+ldc.i4 0x6bdc6c33
+ldc.i4 0x68491820
+ shr.un
+ ldc.i4.3
+ conv.ovf.u
+ add
+ conv.r4
+ rem
+ ckfinite
+ ldc.i8 0x59f0504123526d0e
+ conv.i1
+ ldc.i4.1
+ ldc.i4.0
+ sub
+ conv.ovf.u2.un
+ clt.un
+
+Start_Orphan_17:
+ ldloca local_0x4
+ ldc.i4.4
+ conv.i2
+ stind.i2
+End_Orphan_17:
+
+ ldc.i4 0x70b92997
+ conv.u1
+ newarr [mscorlib]System.UInt32
+ ldlen
+ conv.ovf.u4.un
+ mul.ovf
+ conv.r4
+ div
+ conv.u4
+ ldc.i4.3
+ conv.ovf.i8
+ ldc.r8 float64(0x7a4660466bdc6c33)
+ conv.u8
+ xor
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ conv.ovf.i2
+ ldsfld float64 ILGEN_0xe696696::field_0x5
+ ldc.r8 float64(0x7fa9e15a64757)
+ ceq
+ ldc.i8 0xef574
+ conv.ovf.i
+ mul
+ ldc.i4.2
+ conv.i1
+ ldc.i4.5
+ conv.i
+ add
+ rem
+ ldc.r4 float32(0x96c6e49)
+ conv.ovf.u
+ ldc.i8 0x5a0f361b1b4149af
+ conv.r4
+ ldc.r4 float32(0x11f4671a)
+ ckfinite
+ cgt
+
+Start_Orphan_29:
+ ldloc local_0x5
+ ldloc local_0x6
+ conv.u1
+ ldc.i8 0xc2
+ stelem.i8
+End_Orphan_29:
+
+ sub
+ rem
+ conv.i2
+ sub
+ ceq
+ pop
+ leave out_of_here
+ } catch [mscorlib]System.OverflowException {
+ pop
+ leave out_of_here
+ }
+out_of_here:
+ldc.i4.0
+ldc.i4 100
+add
+ret
+}
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.ilproj
new file mode 100644
index 0000000000..65bb341756
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30905/b30905.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b30905.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.il
new file mode 100644
index 0000000000..d694886c24
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.il
@@ -0,0 +1,77 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly 'bug' { }
+.class public auto ansi HiDad extends [mscorlib]System.Object
+{
+ .custom instance void [mscorlib]Microsoft.VisualBasic.Globals.StandardModuleAttribute::.ctor() = ( 01 00 00 00 )
+ .export public 'HiDad'
+ {
+ }
+ .method public static void main() il managed forwardref
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldc.i4.1
+ IL_0002: call class [mscorlib]System.String HiDad::X(int32)
+ IL_0007: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_000c: nop
+ IL_000d: ret
+ }
+
+ .method private static class [mscorlib]System.String
+ X(int32 n) il managed forwardref
+ {
+ .maxstack 2
+ .locals init ([0] int32 i,
+ [1] class [mscorlib]System.String X,
+ [2] int32 _Vb_t_i4_0)
+ IL_0000: nop
+ IL_0001: ldc.i4.1
+ IL_0002: stloc.0
+ IL_0003: ldarg.0
+ IL_0004: stloc.2
+ IL_0005: br.s IL_0018
+
+ IL_0007: ldloc.1
+ IL_0008: ldstr "BOB"
+ IL_000d: call class [mscorlib]System.String [mscorlib]System.String::Concat(class [mscorlib]System.String,
+ class [mscorlib]System.String)
+ IL_0012: stloc.1
+ IL_0013: nop
+ IL_0014: ldloc.0
+ IL_0015: ldc.i4.1
+ IL_0016: add.ovf
+ IL_0017: stloc.0
+ IL_0018: ldloc.0
+ IL_0019: ldloc.2
+ IL_001a: ble.s IL_0007
+
+ IL_001c: ldloc.1
+ IL_001d: nop
+ IL_001e: ret
+ }
+
+}
+
+.class auto ansi _vbProject extends [mscorlib]System.Object
+{
+ .export '_vbProject'
+ {
+ }
+ .field static assembly class [mscorlib]System.Collections.Dictionary _vbEventCollection
+ .method public static int32 _main(class [mscorlib]System.String[] _s) il managed forwardref
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call void HiDad::main()
+ ldc.i4 100
+ IL_0005: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.ilproj
new file mode 100644
index 0000000000..6eb48742c8
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32879/b32879.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b32879.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.il
new file mode 100644
index 0000000000..806a9880d2
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.il
@@ -0,0 +1,33 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly b16054
+{
+}
+.class _div {
+ .method static void _div(float64, float64) {
+ .maxstack 3
+call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ ldarg 0
+ conv.r8
+ ldarg 1
+ conv.r8
+ div
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(float64)
+ ret
+ }
+
+ .method static int32 main(class [mscorlib]System.String[]) {
+ .entrypoint
+ .maxstack 20
+ ldc.r8 float64(0xFFF0000000000000)
+ ldc.r8 float64(0xFFEFFFFFFFFFFFFF)
+ call void _div::_div(float64, float64)
+ ldc.i4 100
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.ilproj
new file mode 100644
index 0000000000..8f2fe17d3e
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09/b16054/b16054.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b16054.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b06811/project.lock.json b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b06811/project.lock.json
index 9cd8e5451a..28c82ca479 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b06811/project.lock.json
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b06811/project.lock.json
@@ -1494,4 +1494,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.il
new file mode 100644
index 0000000000..e13aa5653c
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.il
@@ -0,0 +1,133 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+.assembly globals
+{
+}
+
+
+.field public static char g_char at label_char
+.field public static bool g_bool at label_bool
+.field public static int8 g_int8 at label_int8
+.field public static unsigned int8 g_uint8 at label_uint8
+.field public static int16 g_int16 at label_int16
+.field public static unsigned int16 g_uint16 at label_uint16
+.field public static int32 g_int32 at label_int32
+.field public static unsigned int32 g_uint32 at label_uint32
+.field public static int64 g_int64 at label_int64
+.field public static unsigned int64 g_uint64 at label_uint64
+.field public static float32 g_float32 at label_float32
+.field public static float64 g_float64 at label_float64
+.field public static void* g_pvoid at label_ptr
+
+
+.data label_bool = int8( 0 )
+.data label_int8 = int8( 0 )
+.data label_uint8 = int8( -1 )
+.data label_pad = int8( 0 )
+.data label_char = int16( 32 )
+.data label_int16 = int16( 0 )
+.data label_uint16 = int16( -1 )
+.data label_pad2 = int16( 0 )
+.data label_int32 = int32( 0 )
+.data label_uint32 = int32( -1 )
+.data label_int64 = int64( 0 )
+.data label_uint64 = int64( -1 )
+.data label_float32 = int32( 0 )
+.data label_pad3 = int32( 0 )
+.data label_float64 = int64( 0 )
+.data lable_str = char*("init string")
+.data label_ptr = int32( 0 )
+
+
+.method public static void glob_func1() il managed
+{
+ .maxstack 8
+
+ ldc.i4.5
+ stsfld int32 g_int32
+
+
+ ldc.i4.5
+ stsfld int32 g_int32
+
+
+ ldc.i4.3
+ stsfld int32 g_int32
+
+ ret
+
+}
+
+
+.class auto ansi glob2
+{
+ .method public static void func() il managed
+ {
+ .maxstack 8
+
+ ret
+
+ }
+
+}
+
+
+.class auto ansi glob
+{
+ .field public static int32 s1
+ .field public static int32 bob
+
+ .method public static void func() il managed
+ {
+ .maxstack 8
+
+ ret
+
+ }
+
+
+ .method public static int32 main(class System.String[] A_0) il managed
+ {
+ .entrypoint
+ .maxstack 8
+
+ ldstr "Started"
+ call void [System.Console]System.Console::WriteLine(class System.String)
+
+ ldc.i4.3
+ stsfld int32 glob::s1
+
+
+
+ call void glob_func1()
+
+ ldstr "Finished"
+ call void [System.Console]System.Console::WriteLine(class System.String)
+
+ call void glob2::func()
+
+ ldc.i4 100
+ ret
+
+ }
+
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ .maxstack 8
+
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj
new file mode 100644
index 0000000000..3580e4b9f1
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b49644.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.il
deleted file mode 100644
index aa0325e1f1..0000000000
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949a.il
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-.assembly extern mscorlib { }
-.assembly extern System.Console
-{
- .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
- .ver 4:0:0:0
-}
-.assembly b28949a
-{
-}
-.namespace BoxTest
-{
- .class auto ansi Test extends [mscorlib]System.Object
- {
- .method family hidebysig instance class System.Object
- Fibonacci(class System.Object num,
- class System.Object flag) il managed
- {
- // Code size 48 (0x30)
- .maxstack 8
- IL_0000: ldarg.2
- IL_0001: unbox [mscorlib]System.Boolean
- IL_0006: ldind.i1
- IL_0007: brfalse.s IL_0012
-
- IL_0009: ldarg.0
- IL_000a: ldarg.1
- IL_000b: ldarg.2
- IL_000c: tail. call instance class System.Object BoxTest.Test::Fibonacci2(class System.Object,
- class System.Object)
- IL_0011: ret
-
- IL_0012: ldarg.1
- IL_0013: unbox [mscorlib]System.Int32
- IL_0018: ldind.i4
- IL_0019: ldc.i4.2
- IL_001a: rem
- IL_001b: ldc.i4.0
- IL_001c: bne.un.s IL_0027
-
- jmp instance class System.Object BoxTest.Test::Fibonacci2(class System.Object,
- class System.Object)
-
- IL_0027:
- jmp instance class System.Object BoxTest.Test::Fibonacci2(class System.Object,
- class System.Object)
- } // end of method 'Test::Fibonacci'
-
- .method family hidebysig instance class System.Object
- Fibonacci2(class System.Object num,
- class System.Object flag) il managed
- {
- // Code size 129 (0x81)
- .maxstack 4
- .locals ([0] int32 N,
- [1] int32 V_1,
- [2] bool V_2)
- IL_0000: ldarg.1
- IL_0001: unbox [mscorlib]System.Int32
- IL_0006: ldind.i4
- IL_0007: ldc.i4.1
- IL_0008: bgt.s IL_0014
-
- IL_000a: ldarg.1
- IL_000b: unbox [mscorlib]System.Int32
- IL_0010: ldind.i4
- IL_0011: stloc.0
- IL_0012: br.s IL_005a
-
- IL_0014: ldarg.0
- IL_0015: ldarg.1
- IL_0016: unbox [mscorlib]System.Int32
- IL_001b: ldind.i4
- IL_001c: ldc.i4.2
- IL_001d: sub
- IL_001e: stloc.1
- IL_001f: ldloc.s V_1
- IL_0021: box [mscorlib]System.Int32
- IL_0026: ldc.i4.0
- IL_0027: stloc.2
- IL_0028: ldloc.s V_2
- IL_002a: box [mscorlib]System.Boolean
- IL_002f: call instance class System.Object BoxTest.Test::Fibonacci(class System.Object,
- class System.Object)
- IL_0034: unbox [mscorlib]System.Int32
- IL_0039: ldind.i4
- IL_003a: ldarg.0
- IL_003b: ldarg.1
- IL_003c: unbox [mscorlib]System.Int32
- IL_0041: ldind.i4
- IL_0042: ldc.i4.1
- IL_0043: sub
- IL_0044: stloc.1
- IL_0045: ldloc.s V_1
- IL_0047: box [mscorlib]System.Int32
- IL_004c: ldarg.2
- IL_004d: call instance class System.Object BoxTest.Test::Fibonacci(class System.Object,
- class System.Object)
- IL_0052: unbox [mscorlib]System.Int32
- IL_0057: ldind.i4
- IL_0058: add
- IL_0059: stloc.0
- IL_005a: ldarg.2
- IL_005b: unbox [mscorlib]System.Boolean
- IL_0060: ldind.i1
- IL_0061: brfalse.s IL_0079
-
- IL_0063: ldloca.s N
- IL_0065: call instance class System.String [mscorlib]System.Int32::ToString()
- IL_006a: ldstr " "
- IL_006f: call class System.String [mscorlib]System.String::Concat(class System.String,
- class System.String)
- IL_0074: call void [System.Console]System.Console::Write(class System.String)
- IL_0079: ldloc.s N
- IL_007b: box [mscorlib]System.Int32
- IL_0080: ret
- } // end of method 'Test::Fibonacci2'
-
- .method private hidebysig static int32
- Main() il managed
- {
- .entrypoint
- // Code size 47 (0x2f)
- .maxstack 3
- .locals ([0] int32 V_0,
- [1] bool V_1)
- IL_0000: newobj instance void BoxTest.Test::.ctor()
- IL_0005: ldc.i4.s 20
- IL_0007: stloc.0
- IL_0008: ldloc.s V_0
- IL_000a: box [mscorlib]System.Int32
- IL_000f: ldc.i4.1
- IL_0010: stloc.1
- IL_0011: ldloc.s V_1
- IL_0013: box [mscorlib]System.Boolean
- IL_0018: call instance class System.Object BoxTest.Test::Fibonacci(class System.Object,
- class System.Object)
- IL_001d: pop
- IL_001e: call void [System.Console]System.Console::WriteLine()
- IL_0023: ldstr "*** PASSED ***"
- IL_0028: call void [System.Console]System.Console::WriteLine(class System.String)
- IL_002d: ldc.i4 100
- IL_002e: ret
- } // end of method 'Test::Main'
-
- .method public hidebysig specialname rtspecialname
- instance void .ctor() il managed
- {
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void [mscorlib]System.Object::.ctor()
- IL_0006: ret
- } // end of method 'Test::.ctor'
-
- } // end of class 'Test'
-
-} // end of namespace 'BoxTest'
-
-//*********** DISASSEMBLY COMPLETE ***********************
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.il
new file mode 100644
index 0000000000..b567a78efd
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.il
@@ -0,0 +1,27 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'ldobjfloat'
+{
+
+}
+.class M
+{
+ .method public static int32 Main()
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (float32 f)
+ ldc.r4 3.14
+ stloc f
+ ldloca f
+ ldobj float32
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.i4 100
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.ilproj
new file mode 100644
index 0000000000..0b06c7a447
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43693/b43693.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b43693.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.il
new file mode 100644
index 0000000000..ce48516fa9
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.il
@@ -0,0 +1,27 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly 'stobjfloat'
+{
+
+}
+.class M
+{
+ .method public static int32 Main()
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (float32 f)
+ ldloca f
+ ldc.r4 3.14
+ stobj float32
+ ldloc f
+ call void [System.Console]System.Console::WriteLine(float32)
+ ldc.i4 100
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.ilproj
new file mode 100644
index 0000000000..d34e374730
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b43694/b43694.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b43694.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875/Desktop/project.lock.json b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875/Desktop/project.lock.json
index 9cd8e5451a..28c82ca479 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875/Desktop/project.lock.json
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51875/Desktop/project.lock.json
@@ -1494,4 +1494,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.il
new file mode 100644
index 0000000000..a52eff0c1e
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.il
@@ -0,0 +1,75 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly bug {}
+.class public bug
+{
+ .method public static void f1() cil managed
+ {
+ .maxstack 20
+ br start_try1
+
+ start_catch1:
+ catch1_out:
+ pop
+ newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+ throw
+ end_catch1:
+
+ exception_filter1:
+ pop
+ ldc.i4.1
+ endfilter
+
+ start_filter1:
+ pop
+ br filter1_br
+ filter1_br:
+ start_try2:
+ try2_out:
+ leave filter1_out
+ end_try2:
+
+ start_catch2:
+ catch2_out:
+ pop
+ leave filter1_out
+ end_catch2:
+
+ filter1_out: leave OUT0
+ end_filter1:
+
+ start_try1:
+ try1_out:
+ leave OUT0
+ end_try1:
+ OUT0: ret
+ .try start_try2 to end_try2 catch [mscorlib]System.StackOverflowException handler start_catch2 to end_catch2
+ .try start_try1 to end_try1 catch [mscorlib]System.Exception handler start_catch1 to end_catch1
+ .try start_try1 to end_try1 filter exception_filter1 handler start_filter1 to end_filter1
+
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .try
+ {
+ call void bug::f1()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET: ldc.i4 100
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.ilproj
new file mode 100644
index 0000000000..842019dbf7
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59546/b59546.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b59546.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.il
new file mode 100644
index 0000000000..f3fcfa6aa6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.il
@@ -0,0 +1,102 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly convr4a {}
+.class public bug1 extends [mscorlib]System.Object
+{
+ .method public static int32 Main()
+ {
+ .entrypoint
+ .maxstack 5
+ .locals ( bool V_0,
+ float32 V_1,
+ float32 V_2,
+ int32 V_3,
+ float32 V_4)
+
+ ldc.r4 1.
+ stloc.1
+ ldc.r4 1.e-010
+ stloc.2
+ ldc.i4.3
+ stloc.3
+ ldc.r4 0.33333334
+ stloc.s V_4
+
+ ldc.r4 1.
+ ldc.r4 1.e-010
+ add
+ conv.r4
+ ldc.r4 1.
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldloc.1
+ ldloc.2
+ add
+ conv.r4
+ ldloc.1
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldc.r4 1.
+ ldc.r4 1.e-010
+ sub
+ conv.r4
+ ldc.r4 1.
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldloc.1
+ ldloc.2
+ add
+ conv.r4
+ ldloc.1
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldc.i4.3
+ conv.r4
+ ldc.r4 0.33333334
+ mul
+ conv.r4
+ ldc.r4 1.
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldloc.3
+ conv.r4
+ ldloc.s V_4
+ mul
+ conv.r4
+ ldloc.1
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldc.r4 1.
+ ldc.i4.3
+ conv.r4
+ div
+ conv.r4
+ ldc.r4 0.33333334
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldloc.1
+ ldloc.3
+ conv.r4
+ div
+ conv.r4
+ ldloc.s V_4
+ ceq
+ call void [System.Console]System.Console::WriteLine(bool)
+
+ ldc.i4 100
+ ret
+ }
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.ilproj
new file mode 100644
index 0000000000..82dacaa8a5
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b59678/b59678.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b59678.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.il
new file mode 100644
index 0000000000..6ad3c3776b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.il
@@ -0,0 +1,27 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly ILGEN_0x9461697d {}
+.class ILGEN_0x9461697d {
+.method static int32 Main() {
+.entrypoint
+.maxstack 2
+ ldc.r8 1.2e+309
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ call float64 [mscorlib]System.Math::Sin(float64)
+ dup
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldc.r8 1.0
+ clt
+ ldc.i4 100
+ mul
+ ldc.i4 100
+ add
+ ret
+}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.ilproj
new file mode 100644
index 0000000000..cc74d8d1eb
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b63743/b63743.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b63743.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.il
new file mode 100644
index 0000000000..625772a4d8
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.il
@@ -0,0 +1,258 @@
+
+
+
+
+.assembly extern mscorlib
+{
+}
+.assembly extern Microsoft.VisualBasic
+{
+}
+.assembly 'b1904'
+{
+}
+.module 'b1904.exe'
+.class private auto ansi b1904 extends ['mscorlib']System.Object
+{
+ .export 'b1904'
+ {
+ }
+ .field private static int32 Count
+ .method public static void RunTest() il managed forwardref
+ {
+ .maxstack 33
+ .locals init (int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] V_0,
+ int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] V_1,
+ int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] V_2)
+ IL_0000: ldc.i4.s 101
+ IL_0002: stsfld int32 b1904::Count
+ IL_0007: ldc.i4.0
+ IL_0008: ldc.i4.0
+ IL_0009: ldc.i4.0
+ IL_000a: ldc.i4.0
+ IL_000b: ldc.i4.0
+ IL_000c: ldc.i4.0
+ IL_000d: ldc.i4.0
+ IL_000e: ldc.i4.0
+ IL_000f: ldc.i4.0
+ IL_0010: ldc.i4.0
+ IL_0011: ldc.i4.0
+ IL_0012: ldc.i4.0
+ IL_0013: ldc.i4.0
+ IL_0014: ldc.i4.0
+ IL_0015: ldc.i4.0
+ IL_0016: ldc.i4.0
+ IL_0017: ldc.i4.0
+ IL_0018: ldc.i4.0
+ IL_0019: ldc.i4.0
+ IL_001a: ldc.i4.0
+ IL_001b: ldc.i4.0
+ IL_001c: ldc.i4.0
+ IL_001d: ldc.i4.0
+ IL_001e: ldc.i4.0
+ IL_001f: ldc.i4.0
+ IL_0020: ldc.i4.0
+ IL_0021: ldc.i4.0
+ IL_0022: ldc.i4.0
+ IL_0023: ldc.i4.0
+ IL_0024: ldc.i4.0
+ IL_0025: ldc.i4.0
+ IL_0026: newobj instance void int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]::.ctor(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_002b: stloc.0
+ IL_002c: ldc.i4.0
+ IL_002d: ldc.i4.0
+ IL_002e: ldc.i4.0
+ IL_002f: ldc.i4.0
+ IL_0030: ldc.i4.0
+ IL_0031: ldc.i4.0
+ IL_0032: ldc.i4.0
+ IL_0033: ldc.i4.0
+ IL_0034: ldc.i4.0
+ IL_0035: ldc.i4.0
+ IL_0036: ldc.i4.0
+ IL_0037: ldc.i4.0
+ IL_0038: ldc.i4.0
+ IL_0039: ldc.i4.0
+ IL_003a: ldc.i4.0
+ IL_003b: ldc.i4.0
+ IL_003c: ldc.i4.0
+ IL_003d: ldc.i4.0
+ IL_003e: ldc.i4.0
+ IL_003f: ldc.i4.0
+ IL_0040: ldc.i4.0
+ IL_0041: ldc.i4.0
+ IL_0042: ldc.i4.0
+ IL_0043: ldc.i4.0
+ IL_0044: ldc.i4.0
+ IL_0045: ldc.i4.0
+ IL_0046: ldc.i4.0
+ IL_0047: ldc.i4.0
+ IL_0048: ldc.i4.0
+ IL_0049: ldc.i4.0
+ IL_004a: ldc.i4.0
+ IL_004b: ldc.i4.0
+ IL_004c: newobj instance void int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]::.ctor(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0051: stloc.1
+ IL_0052: ldc.i4.0
+ IL_0053: ldc.i4.0
+ IL_0054: ldc.i4.0
+ IL_0055: ldc.i4.0
+ IL_0056: ldc.i4.0
+ IL_0057: ldc.i4.0
+ IL_0058: ldc.i4.0
+ IL_0059: ldc.i4.0
+ IL_005a: ldc.i4.0
+ IL_005b: ldc.i4.0
+ IL_005c: ldc.i4.0
+ IL_005d: ldc.i4.0
+ IL_005e: ldc.i4.0
+ IL_005f: ldc.i4.0
+ IL_0060: ldc.i4.0
+ IL_0061: ldc.i4.0
+ IL_0062: ldc.i4.0
+ IL_0063: ldc.i4.0
+ IL_0064: ldc.i4.0
+ IL_0065: ldc.i4.0
+ IL_0066: ldc.i4.0
+ IL_0067: ldc.i4.0
+ IL_0068: ldc.i4.0
+ IL_0069: ldc.i4.0
+ IL_006a: ldc.i4.0
+ IL_006b: ldc.i4.0
+ IL_006c: ldc.i4.0
+ IL_006d: ldc.i4.0
+ IL_006e: ldc.i4.0
+ IL_006f: ldc.i4.0
+ IL_0070: ldc.i4.0
+ IL_0071: ldc.i4.0
+ IL_0072: ldc.i4.0
+ IL_0073: newobj instance void int32[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]::.ctor(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0078: stloc.2
+ IL_0079: ret
+ IL_007a:
+ }
+
+ .method public static void Main() il managed forwardref
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ int32 V_1,
+ class ['mscorlib']System.Exception V_2)
+ IL_0000: ldc.i4.s 100
+ IL_0002: stsfld int32 b1904::Count
+ .try{
+ IL_0010: call void b1904::RunTest()
+ leave.s IL_0083
+ }
+ catch [mscorlib]System.TypeLoadException
+ {
+ pop
+ IL_0029: ldstr "Caught TypeLoadException exception: "
+ IL_002e: ldsfld int32 b1904::Count
+ IL_0033: call class System.String [mscorlib]System.Convert::ToString(int32)
+ IL_0038: call class System.String ['mscorlib']System.String::Concat(class System.String,
+ class System.String)
+ IL_003d: call void ['mscorlib']System.Console::WriteLine(class System.String)
+ IL_0042: ldsfld int32 b1904::Count
+ IL_0047: call void ['mscorlib']System.Environment::set_ExitCode(int32)
+ IL_004c: leave.s IL_0083
+ }
+ IL_0083: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.ilproj
new file mode 100644
index 0000000000..14c48ac3c3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b65423.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.il
new file mode 100644
index 0000000000..2ca386cb3b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.il
@@ -0,0 +1,53 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly bug1 {}
+.class private bug1
+{
+ .class auto ansi nested public beforefieldinit CL1
+ extends [mscorlib]System.Object
+ {
+ .field public float64 a1
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: ldc.r8 2.
+ IL_000a: stfld float64 bug1/CL1::a1
+ IL_000f: ldarg.0
+ IL_0010: call instance void [mscorlib]System.Object::.ctor()
+ IL_0015: ret
+ }
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals ([0] class bug1/CL1 cl1)
+ IL_0000: newobj instance void bug1/CL1::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldstr "The result should be 4"
+ IL_000b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0010: ldc.r8 4.
+ IL_0019: ldloc.0
+ IL_001a: ldfld float64 bug1/CL1::a1
+ IL_001f: div
+ IL_0020: ldloc.0
+ IL_0021: ldfld float64 bug1/CL1::a1
+ IL_0026: ldloc.0
+ IL_0027: ldfld float64 bug1/CL1::a1
+ IL_002c: ldc.r8 3.
+ IL_0035: sub
+ IL_0036: mul
+ IL_0037: sub
+ IL_0038: call void [System.Console]System.Console::WriteLine(float64)
+ ldc.i4 100
+ IL_003d: ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.ilproj
new file mode 100644
index 0000000000..e02fe65bbf
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b68757/b68757.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b68757.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.il
new file mode 100644
index 0000000000..aa4a0cead2
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.il
@@ -0,0 +1,38 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly 'ldfld' { }
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ .locals (int64)
+ .zeroinit
+ ldloc.0
+ ldloca 0
+ ldc.i4.1
+ ldc.i4 8
+ initblk
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4 100
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.ilproj
new file mode 100644
index 0000000000..3969cc5a98
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b75988/b75988.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b75988.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.il
new file mode 100644
index 0000000000..ee9a28fd0b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.il
@@ -0,0 +1,106 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .method public static void f2() cil managed synchronized
+ {
+ .maxstack 500
+ .locals init (int32 V_0)
+
+ br start_try1
+
+ start_finally1:
+ br try2_br
+
+ start_finally2:
+
+ start_try3:
+ try3_out:
+ newobj instance void [mscorlib]System.InvalidProgramException::.ctor()
+ throw
+ end_try3:
+
+ start_catch1:
+ nop
+ TARGET_5_0:
+ ldc.i4.8
+ stloc.0
+ ldc.i4.1
+ ldloca V_0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ blt.un TARGET_5_2
+ TARGET_5_1:
+ ldc.i4.8
+ ldc.i4.8
+ ldc.i4 17
+ shl
+ bgt TARGET_5_0
+ TARGET_5_2:
+ ldc.i4.8
+ box int32
+ unbox int32
+ ldind.i4
+ ldc.i4.8
+ box int32
+ unbox int32
+ ldind.i4
+ bne.un TARGET_5_0
+ catch1_out:
+ pop
+ leave finally2_out
+ end_catch1:
+
+ finally2_out: endfinally
+ end_finally2:
+
+ try2_br:
+ start_try2:
+ try2_out:
+ leave finally1_out
+ end_try2:
+
+ finally1_out: endfinally
+ end_finally1:
+
+ start_try1:
+ try1_out:
+ leave OUT0
+ end_try1:
+ OUT: ret
+ OUT0:
+ leave OUT
+
+ .try start_try3 to end_try3 catch [mscorlib]System.InvalidProgramException handler start_catch1 to end_catch1
+ .try start_try2 to end_try2 finally handler start_finally2 to end_finally2
+ .try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .try
+ {
+ call void EHTest::f2()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET:
+ ldc.i4 100
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.ilproj
new file mode 100644
index 0000000000..48e36a0b07
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92066/b92066.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b92066.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.il
new file mode 100644
index 0000000000..6c9295ab66
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.il
@@ -0,0 +1,96 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .method public static void f2() cil managed synchronized
+ {
+ .maxstack 500
+ .locals init (int32 V_0)
+ br start_try1
+
+ start_finally1:
+ finally1_out: endfinally
+ end_finally1:
+
+ start_try1:
+ try1_out:
+ leave OUT0
+ end_try1:
+
+ OUT: ret
+
+ OUT0:
+ br start_try2
+
+ start_finally2:
+ br finally2_br
+
+ exception_filter1:
+ pop
+ ldc.i4.1
+ endfilter
+ start_filter1:
+ pop
+ br filter1_br
+ start_fault1:
+ fault1_out: endfault
+ end_fault1:
+
+ filter1_br:
+ start_try4:
+ try4_out:
+ leave filter1_out
+ end_try4:
+
+ filter1_out: leave finally2_out
+ end_filter1:
+
+ finally2_br:
+ start_try3:
+ try3_out:
+ newobj instance void [mscorlib]System.ArrayTypeMismatchException::.ctor()
+ throw
+ end_try3:
+
+ finally2_out: endfinally
+ end_finally2:
+
+ start_try2:
+ try2_out:
+ newobj instance void [mscorlib]System.ArgumentNullException::.ctor()
+ throw
+ end_try2:
+ OUT1:
+ leave OUT
+ .try start_try4 to end_try4 fault handler start_fault1 to end_fault1
+ .try start_try3 to end_try3 filter exception_filter1 handler start_filter1 to end_filter1
+ .try start_try2 to end_try2 finally handler start_finally2 to end_finally2
+ .try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .try
+ {
+ call void EHTest::f2()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET: ldc.i4 100
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.ilproj
new file mode 100644
index 0000000000..f39d177cd3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92073/b92073.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b92073.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.il
new file mode 100644
index 0000000000..815c5e73f6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.il
@@ -0,0 +1,92 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+.method public static void f2() cil managed synchronized
+{
+ .maxstack 500
+ .locals init (int32 V_0,
+ int64 V_1)
+ br start_try1
+ start_fault1:
+ br fault1_br
+ start_finally1:
+ TARGET_1_0:
+ sizeof native unsigned int
+ sizeof [mscorlib]System.UIntPtr
+ conv.i4
+ stloc.0
+ ldloc.0
+ sub
+ newarr [mscorlib]System.Int32
+ ldc.i4 112
+ ldc.i4 41
+ sub
+ ldc.i4 3
+ shr
+ stloc.0
+ ldloc.0
+ ldc.i4 82
+ sub
+ ldelem.i4
+ ldc.i4 26
+ box int32
+ unbox int32
+ ldind.i4
+ bge TARGET_1_1
+ TARGET_1_1:
+ finally1_out: endfinally
+ end_finally1:
+
+ fault1_br:
+ start_try2:
+ call void EHTest::f3()
+ try2_out:
+ leave fault1_out
+ end_try2:
+ fault1_out: endfault
+ end_fault1:
+
+ start_try1:
+ call void EHTest::f3()
+ try1_out:
+ newobj instance void [mscorlib]System.ApplicationException::.ctor()
+ throw
+ end_try1:
+ OUT: ret
+ OUT2:
+ leave OUT
+ .try start_try2 to end_try2 finally handler start_finally1 to end_finally1
+ .try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f3() cil managed synchronized
+{
+ call void [mscorlib]System.GC::Collect()
+ ret
+}
+.method public static int32 Main() cil managed
+{
+ .entrypoint
+ .try
+ {
+ call void EHTest::f2()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET: ldc.i4 100
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.ilproj
new file mode 100644
index 0000000000..d471b39880
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b92289/b92289.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b92289.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.il
new file mode 100644
index 0000000000..4963489528
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.il
@@ -0,0 +1,86 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+.method public static void f2() cil managed
+{
+ .maxstack 500
+ .locals init (int32 V_0,
+ int64 V_1)
+
+ br start_try2
+
+ start_catch2:
+ catch2_out:
+ nop
+ TARGET_5_0:
+ ldc.i4 25
+ ldc.i4 66
+ bge TARGET_5_0
+ TARGET_5_1:
+ ldc.i8 45
+ ldc.i8 44
+ beq TARGET_5_1
+ TARGET_5_2:
+ ldc.i4 21
+ ldc.i4 53
+ ldc.i4 101
+ ldc.i4 13
+ ldc.i4 84
+ ldc.i4 119
+ newobj instance void int32[...,...,...,...,...,...]::.ctor(int32,int32,int32,int32,int32,int32)
+ ldc.i4 89
+ ldc.i4 55
+ ldc.i4 110
+ ldc.i4 98
+ ldc.i4 56
+ ldc.i4 38
+ call instance int32 int32[...,...,...,...,...,...]::Get(int32,int32,int32,int32,int32,int32)
+ ldc.i4 106
+ blt TARGET_5_1
+ TARGET_5_3:
+ ldc.i4 85
+ ldc.i4.2
+ ble TARGET_5_3
+ pop
+ newobj instance void [mscorlib]System.SystemException::.ctor()
+ throw
+ end_catch2:
+
+ start_try2:
+ call void [mscorlib]System.GC::Collect()
+ try2_out:
+ leave OUT1
+ end_try2:
+ OUT1: ret
+
+ .try start_try2 to end_try2 catch [mscorlib]System.InvalidOperationException handler start_catch2 to end_catch2
+}
+
+.method public static int32 Main() cil managed
+{
+ .entrypoint
+ .try
+ {
+ call void EHTest::f2()
+ leave RET
+ }
+ catch [mscorlib]System.Exception
+ {
+ leave RET
+ }
+ RET:
+ ldc.i4 100
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.ilproj
new file mode 100644
index 0000000000..f1725614b6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b93635/b93635.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b93635.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.il
new file mode 100644
index 0000000000..a802c069d2
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.il
@@ -0,0 +1,128 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+
+.method public static void f2() cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1)
+br start_try1
+start_fault1:
+ fault1_out: endfault
+end_fault1:
+
+start_try1:
+ nop
+ TARGET_2_0:
+ TARGET_2_1:
+ ldc.i4.1
+ newarr [mscorlib]System.Int64
+ ldloc 0
+ newarr [mscorlib]System.Int32
+ ldloc.0
+ ldelem.i4
+ ldelem.i8
+ ldloc.1
+ bge.un TARGET_2_0
+ try1_out:
+ leave OUT0
+end_try1:
+
+OUT: ret
+
+OUT0:
+br start_try2
+start_fault2:
+ br fault2_br
+
+ exception_filter3:
+ pop
+ ldc.i4.1
+ endfilter
+ start_filter3:
+ pop
+ br filter3_br
+
+ start_catch4:
+ pop
+ nop
+ TARGET_3_1:
+ ldloc.1
+ ldloc.1
+ bgt TARGET_3_2
+ TARGET_3_2:
+ TARGET_3_3:
+ ldloc 0
+ newarr [mscorlib]System.Int64
+ ldloc 1
+ ldc.i8 27
+ ceq
+ ldelem.i8
+ stloc 1
+ ldloc 0
+ ldloc 0
+ bge TARGET_3_1
+ leave filter3_out
+ end_catch4:
+
+ filter3_br:
+ start_try4:
+ try4_out:
+ newobj instance void [mscorlib]System.ArgumentNullException::.ctor()
+ throw
+ end_try4:
+
+ filter3_out: leave fault2_out
+ end_filter3:
+
+ fault2_br:
+ start_try3:
+ try3_out:
+ newobj instance void [mscorlib]System.InvalidOperationException::.ctor()
+ throw
+ end_try3:
+ fault2_out: endfault
+end_fault2:
+
+start_try2:
+ try2_out:
+ newobj instance void [mscorlib]System.DllNotFoundException::.ctor()
+ throw
+end_try2:
+OUT1:
+leave OUT
+.try start_try4 to end_try4 catch [mscorlib]System.Exception handler start_catch4 to end_catch4
+.try start_try3 to end_try3 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try2 to end_try2 fault handler start_fault2 to end_fault2
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.try
+{
+ call void EHTest::f2()
+ leave RET
+}
+catch [mscorlib]System.Exception
+{
+ leave RET
+}
+RET:
+ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.ilproj
new file mode 100644
index 0000000000..7dcef46e37
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b98958/b98958.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b98958.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.il
new file mode 100644
index 0000000000..d4c272dff3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.il
@@ -0,0 +1,188 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:3600:0
+}
+.assembly template
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main(string[] args) cil managed noinlining
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (bool V_0,
+ string[] V_1,
+ int32 V_2,
+ string V_3,
+ int32 V_4,
+ bool V_5,
+ string[] V_6,
+ int32 V_7)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldftn string[] [mscorlib]System.Environment::GetCommandLineArgs()
+ IL_0003: calli string[]()
+ IL_0007: stloc.1
+ IL_0008: ldloc.1
+ IL_0009: ldlen
+ IL_000a: conv.i4
+ IL_000b: ldc.i4.1
+ IL_000c: sub
+ IL_000d: ldarg.0
+ IL_000e: ldlen
+ IL_000f: conv.i4
+ IL_0010: ceq
+ IL_0012: ldc.i4.0
+ IL_0013: ceq
+ IL_0015: stloc.s V_5
+ IL_0017: ldloc.s V_5
+ IL_0019: brtrue.s IL_0048
+
+ IL_001b: ldc.i4.0
+ IL_001c: stloc.2
+ IL_001d: br.s IL_0039
+
+ IL_001f: ldarg.0
+ IL_0020: ldloc.2
+ IL_0021: ldelem.ref
+ IL_0022: ldloc.1
+ IL_0023: ldloc.2
+ IL_0024: ldc.i4.1
+ IL_0025: add
+ IL_0026: ldelem.ref
+ IL_0027: callvirt instance bool [mscorlib]System.String::Equals(string)
+ IL_002c: stloc.s V_5
+ IL_002e: ldloc.s V_5
+ IL_0030: brtrue.s IL_0034
+
+ IL_0032: ldc.i4.0
+ IL_0033: stloc.0
+ IL_0034: nop
+ IL_0035: ldloc.2
+ IL_0036: ldc.i4.1
+ IL_0037: add
+ IL_0038: stloc.2
+ IL_0039: ldloc.2
+ IL_003a: ldarg.0
+ IL_003b: ldlen
+ IL_003c: conv.i4
+ IL_003d: clt
+ IL_003f: stloc.s V_5
+ IL_0041: ldloc.s V_5
+ IL_0043: brtrue.s IL_001f
+
+ IL_0045: nop
+ IL_0046: br.s IL_0056
+
+ IL_0048: ldstr "Lengths not equal"
+ IL_004d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0052: nop
+ IL_0053: ldc.i4.0
+ IL_0054: stloc.0
+ IL_0055: nop
+ IL_0056: ldloc.0
+ IL_0057: ldc.i4.0
+ IL_0058: ceq
+ IL_005a: stloc.s V_5
+ IL_005c: ldloc.s V_5
+ IL_005e: brtrue.s IL_0071
+
+ IL_0060: ldstr "Passed"
+ IL_0065: call void [System.Console]System.Console::WriteLine(string)
+ IL_006a: nop
+ IL_006b: ldc.i4.s 100
+ IL_006d: stloc.s V_4
+ IL_006f: br.s IL_00e9
+
+ IL_0071: ldstr "Failed"
+ IL_0076: call void [System.Console]System.Console::WriteLine(string)
+ IL_007b: nop
+ IL_007c: ldstr "args:"
+ IL_0081: call void [System.Console]System.Console::WriteLine(string)
+ IL_0086: nop
+ IL_0087: ldarg.0
+ IL_0088: stloc.s V_6
+ IL_008a: ldc.i4.0
+ IL_008b: stloc.s V_7
+ IL_008d: br.s IL_00a2
+
+ IL_008f: ldloc.s V_6
+ IL_0091: ldloc.s V_7
+ IL_0093: ldelem.ref
+ IL_0094: stloc.3
+ IL_0095: ldloc.3
+ IL_0096: call void [System.Console]System.Console::WriteLine(string)
+ IL_009b: nop
+ IL_009c: ldloc.s V_7
+ IL_009e: ldc.i4.1
+ IL_009f: add
+ IL_00a0: stloc.s V_7
+ IL_00a2: ldloc.s V_7
+ IL_00a4: ldloc.s V_6
+ IL_00a6: ldlen
+ IL_00a7: conv.i4
+ IL_00a8: clt
+ IL_00aa: stloc.s V_5
+ IL_00ac: ldloc.s V_5
+ IL_00ae: brtrue.s IL_008f
+
+ IL_00b0: ldstr "cmds:"
+ IL_00b5: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ba: nop
+ IL_00bb: ldloc.1
+ IL_00bc: stloc.s V_6
+ IL_00be: ldc.i4.0
+ IL_00bf: stloc.s V_7
+ IL_00c1: br.s IL_00d6
+
+ IL_00c3: ldloc.s V_6
+ IL_00c5: ldloc.s V_7
+ IL_00c7: ldelem.ref
+ IL_00c8: stloc.3
+ IL_00c9: ldloc.3
+ IL_00ca: call void [System.Console]System.Console::WriteLine(string)
+ IL_00cf: nop
+ IL_00d0: ldloc.s V_7
+ IL_00d2: ldc.i4.1
+ IL_00d3: add
+ IL_00d4: stloc.s V_7
+ IL_00d6: ldloc.s V_7
+ IL_00d8: ldloc.s V_6
+ IL_00da: ldlen
+ IL_00db: conv.i4
+ IL_00dc: clt
+ IL_00de: stloc.s V_5
+ IL_00e0: ldloc.s V_5
+ IL_00e2: brtrue.s IL_00c3
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s V_4
+ IL_00e7: br.s IL_00e9
+
+ IL_00e9: ldloc.s V_4
+ IL_00eb: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.ilproj
new file mode 100644
index 0000000000..50626351f1
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-none.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="static-none.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.il
new file mode 100644
index 0000000000..879107ec22
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.il
@@ -0,0 +1,81 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:3600:0
+}
+.assembly template
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main(string[] args) cil managed noinlining
+ {
+ .entrypoint
+ .maxstack 5
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ bool V_4)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.s 100
+ IL_0004: stloc.1
+ IL_0005: ldloca.s V_0
+ IL_0007: ldloc.1
+ IL_0008: ldc.i4.1
+ IL_0009: ldftn int32 [mscorlib]System.Threading.Interlocked::CompareExchange(int32&,
+ int32,
+ int32)
+ IL_000a: calli int32 (int32&,
+ int32,
+ int32)
+ IL_000e: stloc.2
+ IL_000f: ldloc.0
+ IL_0010: ldloc.1
+ IL_0011: ceq
+ IL_0013: ldc.i4.0
+ IL_0014: ceq
+ IL_0016: stloc.s V_4
+ IL_0018: ldloc.s V_4
+ IL_001a: brtrue.s IL_002c
+
+ IL_001c: ldstr "passed"
+ IL_0021: call void [System.Console]System.Console::WriteLine(string)
+ IL_0026: nop
+ IL_0027: ldc.i4.s 100
+ IL_0029: stloc.3
+ IL_002a: br.s IL_003b
+
+ IL_002c: ldstr "failed"
+ IL_0031: call void [System.Console]System.Console::WriteLine(string)
+ IL_0036: nop
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.3
+ IL_0039: br.s IL_003b
+
+ IL_003b: ldloc.3
+ IL_003c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.ilproj
new file mode 100644
index 0000000000..04fe63556e
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-QFE/b151440/static-ref.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="static-ref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.il
new file mode 100644
index 0000000000..489f426177
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.il
@@ -0,0 +1,244 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ExternalException {}
+.class private auto ansi beforefieldinit ExternalClass
+ extends [mscorlib]System.Object
+{
+ .field private class ExternalException ee
+ .method public hidebysig instance void
+ ThrowException() cil managed synchronized
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: ldfld class ExternalException ExternalClass::ee
+ IL_0006: throw
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: newobj instance void ExternalException::.ctor()
+ IL_0006: stfld class ExternalException ExternalClass::ee
+ IL_000b: ldarg.0
+ IL_000c: call instance void [mscorlib]System.Object::.ctor()
+ IL_0011: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit ExternalException
+ extends [mscorlib]System.Exception
+{
+ .method public hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class [mscorlib]System.Threading.Thread V_0,
+ class ExternalException V_1,
+ int32 V_2)
+ IL_0000: newobj instance void ExternalException::.ctor()
+ IL_0005: stloc.1
+ IL_0006: ldc.i4.0
+ IL_0007: stloc.2
+ IL_0008: br.s IL_0035
+
+ IL_000a: ldloc.1
+ IL_000b: ldftn instance void ExternalException::runtest()
+ IL_0011: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_0016: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_001b: stloc.0
+ .try
+ {
+ IL_001c: ldloc.0
+ IL_001d: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0022: leave.s IL_0031
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0024: pop
+ IL_0025: ldstr "Exception was caught in main"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: leave.s IL_0031
+
+ }
+ IL_0031: ldloc.2
+ IL_0032: ldc.i4.1
+ IL_0033: add
+ IL_0034: stloc.2
+ IL_0035: ldloc.2
+ IL_0036: ldc.i4.s 10
+ IL_0038: blt.s IL_000a
+
+ IL_003a:
+ ldc.i4 100
+ ret
+ }
+
+ .method public hidebysig instance void
+ runtest() cil managed
+ {
+ .maxstack 3
+ .locals init (int32 V_0,
+ int32 V_1,
+ class ExternalException V_2)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.0
+ IL_0003: stloc.1
+ IL_0004: br.s IL_0035
+
+ .try
+ {
+ .try
+ {
+ IL_0006: ldloc.1
+ IL_0007: ldc.i4.2
+ IL_0008: rem
+ IL_0009: brtrue.s IL_0013
+
+ IL_000b: ldloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.2
+ IL_000e: rem
+ IL_000f: div
+ IL_0010: stloc.0
+ IL_0011: br.s IL_001a
+
+ IL_0013: ldarg.0
+ IL_0014: ldc.i4.0
+ IL_0015: call instance void ExternalException::recurse(int32)
+ IL_001a: leave.s IL_002a
+
+ }
+ catch [mscorlib]System.ArithmeticException
+ {
+ IL_001c: pop
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.1
+ IL_001f: add
+ IL_0020: stloc.0
+ IL_0021: leave.s IL_0031
+
+ }
+ catch ExternalException
+ {
+ IL_0023: pop
+ IL_0024: ldloc.0
+ IL_0025: ldc.i4.1
+ IL_0026: sub
+ IL_0027: stloc.0
+ IL_0028: leave.s IL_0031
+
+ }
+ IL_002a: leave.s IL_0031
+
+ }
+ finally
+ {
+ IL_002c: ldloc.0
+ IL_002d: ldc.i4.1
+ IL_002e: add
+ IL_002f: stloc.0
+ IL_0030: endfinally
+ }
+ IL_0031: ldloc.1
+ IL_0032: ldc.i4.1
+ IL_0033: add
+ IL_0034: stloc.1
+ IL_0035: ldloc.1
+ IL_0036: ldc.i4.s 100
+ IL_0038: blt.s IL_0006
+
+ IL_003a: ldloc.0
+ IL_003b: ldc.i4.s 100
+ IL_003d: bne.un.s IL_0062
+
+ IL_003f: ldarg.0
+ IL_0040: dup
+ IL_0041: stloc.2
+ IL_0042: call void [mscorlib]System.Threading.Monitor::Enter(object)
+ .try
+ {
+ IL_0047: ldstr "TryCatch Test Passed"
+ IL_004c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0051: ldc.i4 100
+ IL_0052: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0057: leave.s IL_0060
+
+ }
+ finally
+ {
+ IL_0059: ldloc.2
+ IL_005a: call void [mscorlib]System.Threading.Monitor::Exit(object)
+ IL_005f: endfinally
+ }
+ IL_0060: br.s IL_0089
+
+ IL_0062: ldarg.0
+ IL_0063: dup
+ IL_0064: stloc.2
+ IL_0065: call void [mscorlib]System.Threading.Monitor::Enter(object)
+ .try
+ {
+ IL_006a: ldstr "TryCatch Test Failed"
+ IL_006f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0074: ldloc.0
+ IL_0075: call void [System.Console]System.Console::WriteLine(int32)
+ IL_007a: ldc.i4.1
+ IL_007b: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0080: leave.s IL_0089
+
+ }
+ finally
+ {
+ IL_0082: ldloc.2
+ IL_0083: call void [mscorlib]System.Threading.Monitor::Exit(object)
+ IL_0088: endfinally
+ }
+ IL_0089: ret
+ }
+
+ .method public hidebysig instance void
+ recurse(int32 counter) cil managed
+ {
+ .maxstack 3
+ .locals init (char[] V_0)
+ IL_0000: ldc.i4.s 100
+ IL_0002: newarr [mscorlib]System.Char
+ IL_0007: stloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldc.i4.s 100
+ IL_000b: bne.un.s IL_0019
+
+ IL_000d: newobj instance void ExternalClass::.ctor()
+ IL_0012: call instance void ExternalClass::ThrowException()
+ IL_0017: br.s IL_0025
+
+ IL_0019: ldarg.0
+ IL_001a: ldarg.1
+ IL_001b: ldc.i4.1
+ IL_001c: add
+ IL_001d: dup
+ IL_001e: starg.s counter
+ IL_0020: call instance void ExternalException::recurse(int32)
+ IL_0025: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Exception::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.ilproj
new file mode 100644
index 0000000000..a580db8c4b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840/b143840.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b143840.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj
new file mode 100644
index 0000000000..68268630a5
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="gbug.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/gbug.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/gbug.il
new file mode 100644
index 0000000000..c3d5cedc43
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/gbug.il
@@ -0,0 +1,128 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:3300:0
+}
+.assembly gbug
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module gbug.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 4096
+.corflags 0x0000001
+
+
+.class private explicit ansi sealed $ArrayType$2$6
+ extends [mscorlib]System.ValueType
+{
+ .pack 1
+ .size 8
+}
+
+
+
+.data D_00008030 = bytearray (
+ 00 00 00 00 01 00 00 00)
+.data D_00008038 = bytearray (
+ 0A 00 00 00 0B 00 00 00)
+.data D_00008040 = bytearray (
+ 02 00 00 06)
+.data D_00008D58 = bytearray (
+ 00 00 00 00 00 00 00 00)
+
+
+.field public static valuetype $ArrayType$2$6 g1 at D_00008030
+.field public static valuetype $ArrayType$2$6 g2 at D_00008038
+.field public static valuetype $ArrayType$2$6 g3 at D_00008D58
+.method public static int32** modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl)
+ ModPP(int32** A_0,
+ int32* A_1,
+ int32* A_2) cil managed
+{
+ .maxstack 3
+ .locals (int32* V_0,
+ int32* V_1,
+ int32* V_2,
+ int32 V_3,
+ int32* V_4,
+ int32 V_5)
+ IL_0000: ldarg.1
+ IL_0001: stloc.1
+ IL_0002: ldarg.2
+ IL_0003: stloc.0
+ IL_0004: ldarg.0
+ IL_0005: ldind.i
+ IL_0006: stloc.2
+ IL_0007: ldc.i4.0
+ IL_0008: stloc.s V_5
+ IL_000a: ldc.i4.1
+ IL_000b: ldloc.s V_5
+ IL_000d: ble.s IL_0032
+
+ IL_000f: ldloc.0
+ IL_0010: dup
+ IL_0011: ldc.i4.4
+ IL_0012: add
+ IL_0013: stloc.0
+ IL_0014: ldind.i4
+ IL_0015: stloc.3
+ IL_0016: ldloc.1
+ IL_0017: stloc.s V_4
+ IL_0019: ldloc.s V_4
+ IL_001b: ldc.i4.4
+ IL_001c: add
+ IL_001d: stloc.1
+ IL_001e: ldloc.2
+ IL_001f: ldloc.s V_4
+ IL_0021: ldind.i4
+ IL_0022: ldc.i4.4
+ IL_0023: mul
+ IL_0024: add
+ IL_0025: ldloc.3
+ IL_0026: stind.i4
+ IL_0027: ldloc.s V_5
+ IL_0029: ldc.i4.1
+ IL_002a: add
+ IL_002b: stloc.s V_5
+ IL_002d: ldc.i4.1
+ IL_002e: ldloc.s V_5
+ IL_0030: bgt.s IL_000f
+
+ IL_0032: ldarg.0
+ IL_0033: ret
+}
+
+.method public static int32 modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl)
+ main() cil managed
+{
+ .entrypoint
+ .maxstack 3
+ .locals (int32* V_0)
+ IL_0000: ldsflda valuetype $ArrayType$2$6 g3
+ IL_0005: stloc.0
+ IL_0006: ldloca.s V_0
+ IL_0008: ldsflda valuetype $ArrayType$2$6 g1
+ IL_000d: ldsflda valuetype $ArrayType$2$6 g2
+ IL_0012: call int32** modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) ModPP(int32**,
+ int32*,
+ int32*)
+ IL_0017: pop
+
+ ldstr "Pass"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ IL_0018: ldc.i4 100
+ IL_0019: ret
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/b213516.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/b213516.ilproj
new file mode 100644
index 0000000000..d1b5bc00a7
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/b213516.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="exe-219037.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="lib-219037.ilproj"/>
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/exe-219037.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/exe-219037.il
new file mode 100644
index 0000000000..7c03e7f43d
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/exe-219037.il
@@ -0,0 +1,68 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern 'lib-219037'
+{
+ .ver 0:0:0:0
+}
+.assembly 'exe-219037'
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.class public auto ansi beforefieldinit ClientType
+ extends [mscorlib]System.Object
+{
+ .method public static void Access() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int32 ['lib-219037']LibType::f
+ IL_0005: pop
+ IL_0006: ldsfld int32 ['lib-219037']LibType::f
+ IL_000b: pop
+ IL_000c: ret
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 100
+ IL_0000: ldstr "Main..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: call void ClientType::Access()
+ IL_000f: ldc.i4.1
+ IL_0010: ldsfld int32 ['lib-219037']Util::count
+ IL_0015: ldc.i4.1
+ IL_0016: ceq
+ IL_0018: sub
+ IL_0019: dup
+ IL_001a: ldstr "Return code: "
+ IL_001f: call void [System.Console]System.Console::Write(string)
+ IL_0024: box [mscorlib]System.Int32
+ IL_0029: call void [System.Console]System.Console::Write(object)
+ IL_002e: ldstr " (non-zero indicates failure)"
+ IL_0033: call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 0
+ ceq
+ brtrue.s PASS
+
+FAIL:
+ ldstr "FAIL"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ br.s END
+
+PASS:
+ ldstr "PASS"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ br.s END
+
+END:
+ IL_0038: ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.il
new file mode 100644
index 0000000000..f400461bd9
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.il
@@ -0,0 +1,31 @@
+
+.assembly extern mscorlib {}
+.assembly 'lib-219037'
+{
+ .ver 0:0:0:0
+}
+.class public auto ansi sealed LibType
+ extends [mscorlib]System.ValueType
+{
+ .field public static initonly int32 f
+ .method private specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 23 (0x17)
+ .maxstack 100
+ IL_0000: ldstr ".cctor"
+ IL_0005: call void [mscorlib]System.Console::WriteLine(string)
+ IL_000a: ldsfld int32 ['lib-219037']Util::count
+ IL_000f: ldc.i4.1
+ IL_0010: add
+ IL_0011: stsfld int32 ['lib-219037']Util::count
+ IL_0016: ret
+ } // end of method LibType::.cctor
+
+} // end of class LibType
+
+.class public auto ansi Util
+ extends [mscorlib]System.Object
+{
+ .field public static int32 count
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.ilproj
new file mode 100644
index 0000000000..67fa539943
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/lib-219037.ilproj
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <CLRTestKind>BuildOnly</CLRTestKind>
+ <GenerateRunScript>false</GenerateRunScript>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lib-219037.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj
new file mode 100644
index 0000000000..ecd0dca6bc
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test-tls.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/test-tls.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/test-tls.il
new file mode 100644
index 0000000000..5af353e217
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/test-tls.il
@@ -0,0 +1,21 @@
+.assembly extern legacy library mscorlib {}
+.assembly testtls
+{
+}
+.data tls FieldData = int32(51966)
+.class public test {
+
+ .field public static int32 TLSFieldData at FieldData
+ .method public static int32 main()
+ {
+ .entrypoint
+ ldsfld int32 test::TLSFieldData
+ stsfld int32 test::TLSFieldData
+ ldc.i4 100
+ stsfld int32 test::TLSFieldData
+ ldsfld int32 test::TLSFieldData
+ ret
+ }
+}
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/SyncGCHole.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/SyncGCHole.il
new file mode 100644
index 0000000000..5b673debf3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/SyncGCHole.il
@@ -0,0 +1,242 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ExternalException {}
+.class private auto ansi beforefieldinit ExternalClass
+ extends [mscorlib]System.Object
+{
+ .field private class ExternalException ee
+ .method public hidebysig instance void
+ ThrowException() cil managed synchronized
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: ldfld class ExternalException ExternalClass::ee
+ IL_0006: throw
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: newobj instance void ExternalException::.ctor()
+ IL_0006: stfld class ExternalException ExternalClass::ee
+ IL_000b: ldarg.0
+ IL_000c: call instance void [mscorlib]System.Object::.ctor()
+ IL_0011: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit ExternalException
+ extends [mscorlib]System.Exception
+{
+ .method public hidebysig static void Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class [mscorlib]System.Threading.Thread V_0,
+ class ExternalException V_1,
+ int32 V_2)
+ IL_0000: newobj instance void ExternalException::.ctor()
+ IL_0005: stloc.1
+ IL_0006: ldc.i4.0
+ IL_0007: stloc.2
+ IL_0008: br.s IL_0035
+
+ IL_000a: ldloc.1
+ IL_000b: ldftn instance void ExternalException::runtest()
+ IL_0011: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_0016: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_001b: stloc.0
+ .try
+ {
+ IL_001c: ldloc.0
+ IL_001d: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0022: leave.s IL_0031
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0024: pop
+ IL_0025: ldstr "Exception was caught in main"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: leave.s IL_0031
+
+ }
+ IL_0031: ldloc.2
+ IL_0032: ldc.i4.1
+ IL_0033: add
+ IL_0034: stloc.2
+ IL_0035: ldloc.2
+ IL_0036: ldc.i4.s 10
+ IL_0038: blt.s IL_000a
+
+ IL_003a: ret
+ }
+
+ .method public hidebysig instance void
+ runtest() cil managed
+ {
+ .maxstack 3
+ .locals init (int32 V_0,
+ int32 V_1,
+ class ExternalException V_2)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4.0
+ IL_0003: stloc.1
+ IL_0004: br.s IL_0035
+
+ .try
+ {
+ .try
+ {
+ IL_0006: ldloc.1
+ IL_0007: ldc.i4.2
+ IL_0008: rem
+ IL_0009: brtrue.s IL_0013
+
+ IL_000b: ldloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.2
+ IL_000e: rem
+ IL_000f: div
+ IL_0010: stloc.0
+ IL_0011: br.s IL_001a
+
+ IL_0013: ldarg.0
+ IL_0014: ldc.i4.0
+ IL_0015: call instance void ExternalException::recurse(int32)
+ IL_001a: leave.s IL_002a
+
+ }
+ catch [mscorlib]System.ArithmeticException
+ {
+ IL_001c: pop
+ IL_001d: ldloc.0
+ IL_001e: ldc.i4.1
+ IL_001f: add
+ IL_0020: stloc.0
+ IL_0021: leave.s IL_0031
+
+ }
+ catch ExternalException
+ {
+ IL_0023: pop
+ IL_0024: ldloc.0
+ IL_0025: ldc.i4.1
+ IL_0026: sub
+ IL_0027: stloc.0
+ IL_0028: leave.s IL_0031
+
+ }
+ IL_002a: leave.s IL_0031
+
+ }
+ finally
+ {
+ IL_002c: ldloc.0
+ IL_002d: ldc.i4.1
+ IL_002e: add
+ IL_002f: stloc.0
+ IL_0030: endfinally
+ }
+ IL_0031: ldloc.1
+ IL_0032: ldc.i4.1
+ IL_0033: add
+ IL_0034: stloc.1
+ IL_0035: ldloc.1
+ IL_0036: ldc.i4.s 100
+ IL_0038: blt.s IL_0006
+
+ IL_003a: ldloc.0
+ IL_003b: ldc.i4.s 100
+ IL_003d: bne.un.s IL_0062
+
+ IL_003f: ldarg.0
+ IL_0040: dup
+ IL_0041: stloc.2
+ IL_0042: call void [mscorlib]System.Threading.Monitor::Enter(object)
+ .try
+ {
+ IL_0047: ldstr "TryCatch Test Passed"
+ IL_004c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0051: ldc.i4 100
+ IL_0052: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0057: leave.s IL_0060
+
+ }
+ finally
+ {
+ IL_0059: ldloc.2
+ IL_005a: call void [mscorlib]System.Threading.Monitor::Exit(object)
+ IL_005f: endfinally
+ }
+ IL_0060: br.s IL_0089
+
+ IL_0062: ldarg.0
+ IL_0063: dup
+ IL_0064: stloc.2
+ IL_0065: call void [mscorlib]System.Threading.Monitor::Enter(object)
+ .try
+ {
+ IL_006a: ldstr "TryCatch Test Failed"
+ IL_006f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0074: ldloc.0
+ IL_0075: call void [System.Console]System.Console::WriteLine(int32)
+ IL_007a: ldc.i4.1
+ IL_007b: call void [mscorlib]System.Environment::set_ExitCode(int32)
+ IL_0080: leave.s IL_0089
+
+ }
+ finally
+ {
+ IL_0082: ldloc.2
+ IL_0083: call void [mscorlib]System.Threading.Monitor::Exit(object)
+ IL_0088: endfinally
+ }
+ IL_0089: ret
+ }
+
+ .method public hidebysig instance void
+ recurse(int32 counter) cil managed
+ {
+ .maxstack 3
+ .locals init (char[] V_0)
+ IL_0000: ldc.i4.s 100
+ IL_0002: newarr [mscorlib]System.Char
+ IL_0007: stloc.0
+ IL_0008: ldarg.1
+ IL_0009: ldc.i4.s 100
+ IL_000b: bne.un.s IL_0019
+
+ IL_000d: newobj instance void ExternalClass::.ctor()
+ IL_0012: call instance void ExternalClass::ThrowException()
+ IL_0017: br.s IL_0025
+
+ IL_0019: ldarg.0
+ IL_001a: ldarg.1
+ IL_001b: ldc.i4.1
+ IL_001c: add
+ IL_001d: dup
+ IL_001e: starg.s counter
+ IL_0020: call instance void ExternalException::recurse(int32)
+ IL_0025: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Exception::.ctor()
+ IL_0006: ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj
new file mode 100644
index 0000000000..aae5d7f4c6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="SyncGCHole.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/b16378.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/b16378.ilproj
new file mode 100644
index 0000000000..64faad060a
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/b16378.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="bbHndIndex.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/bbHndIndex.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/bbHndIndex.il
new file mode 100644
index 0000000000..67d3ebb59f
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16378/bbHndIndex.il
@@ -0,0 +1,38 @@
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly bbHndIndex {}
+.class public bbHndIndex
+{
+.method public static int32 f() cil managed
+{
+.entrypoint
+.maxstack 500
+
+start_try3:
+ leave OUT
+end_try3:
+
+start_fault3:
+ br fault3_br
+ start_finally1:
+ finally1_out: endfinally
+ end_finally1:
+
+ fault3_br:
+ start_try4:
+ leave fault3_out
+ end_try4:
+
+ TARGET_0_0:
+ br TARGET_0_0
+ fault3_out: endfault
+end_fault3:
+OUT:
+ ldc.i4 100
+ret
+
+.try start_try4 to end_try4 finally handler start_finally1 to end_finally1
+.try start_try3 to end_try3 fault handler start_fault3 to end_fault3
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/b16382.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/b16382.ilproj
new file mode 100644
index 0000000000..faf22afbde
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/b16382.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="bbFlags.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/bbFlags.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/bbFlags.il
new file mode 100644
index 0000000000..fabd1746ca
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16382/bbFlags.il
@@ -0,0 +1,63 @@
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly bbFlags {}
+.class public bbFlags
+{
+.method public static int32 f() cil managed
+{
+.maxstack 5
+.locals init (int32 V_0)
+
+br start_try1
+
+ start_finally1:
+ endfinally
+ end_finally1:
+
+
+start_try1:
+ leave OUT0
+end_try1:
+
+OUT:
+ ldc.i4 50
+ stloc.0
+ ldc.i4 12
+ ret
+
+OUT0:
+ br start_try2
+ start_finally2:
+ endfinally
+ end_finally2:
+
+ start_try2:
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ end_try2:
+OUT1:
+leave OUT
+.try start_try2 to end_try2 finally handler start_finally2 to end_finally2
+.try start_try1 to end_try1 finally handler start_finally1 to end_finally1
+}
+
+.method public static int32 Main()
+{
+.maxstack 5
+.entrypoint
+.try
+{
+call int32 bbFlags::f()
+leave OUT
+}
+catch [mscorlib]System.Exception
+{
+leave OUT
+}
+OUT:
+ldc.i4 100
+ret
+}
+
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/b16473.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/b16473.ilproj
new file mode 100644
index 0000000000..9b66a5371e
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/b16473.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ebdTryEnd.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/ebdTryEnd.il b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/ebdTryEnd.il
new file mode 100644
index 0000000000..3c4f92b2ba
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b16473/ebdTryEnd.il
@@ -0,0 +1,1095 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int32 fld0
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 684278239
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 882062663
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_jmp()
+ {
+ jmp int32 EHTest::GetInt32()
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_jmp()
+ {
+ jmp int64 EHTest::GetInt64()
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+.method public static int64 f0(int64 arg0,int64 arg1) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int32 V_3,
+ int32 V_4,
+ int32 V_5)
+br start_try1
+start_fault1:
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+br try1_br
+start_catch1:
+catch1_out:
+call void EHTest::f2()
+pop
+newobj instance void [mscorlib]System.MissingFieldException::.ctor()
+throw
+end_catch1:
+
+
+start_catch2:
+pop
+br catch2_br
+start_catch3:
+catch3_out:
+nop
+ TARGET_0_0:
+ sizeof native unsigned int
+ ldc.i4 109
+ stsfld int32 EHTest::fld0
+ ldsfld int32 EHTest::fld0
+ ldc.i4 52
+ ldc.i4.4
+ ldc.i4 73
+ ldc.i4 121
+ ldc.i4 122
+ stsfld int32 EHTest::fld0
+ ldc.i4 60
+ stloc 4
+ ldc.i4 70
+ ldc.i4 42
+ stsfld int32 EHTest::fld0
+ ldc.i4 9
+ ldc.i4 120
+ ldc.i4 86
+ ldc.i4.4
+ ldc.i4 98
+ ldc.i4 28
+ ldc.i4 125
+ stsfld int32 EHTest::fld0
+ ldc.i4 51
+ stsfld int32 EHTest::fld0
+ ldc.i4 22
+ stsfld int32 EHTest::fld0
+ ldc.i4 13
+ ldc.i4 65
+ stsfld int32 EHTest::fld0
+ ldc.i4 46
+ ldc.i4 26
+ stsfld int32 EHTest::fld0
+ ldc.i4 81
+ ldc.i4 72
+ ldc.i4 110
+ stsfld int32 EHTest::fld0
+ ldc.i4 104
+ ldc.i4 52
+ ldc.i4 98
+ ldc.i4.3
+ ldc.i4 46
+ stsfld int32 EHTest::fld0
+ ldc.i4 46
+ stloc.0
+ ldc.i4 93
+ ldc.i4 87
+ ldc.i4 100
+ stsfld int32 EHTest::fld0
+ ldc.i4 19
+ stsfld int32 EHTest::fld0
+ ldc.i4 103
+ stloc.0
+ ldc.i4 10
+ ldc.i4 72
+ ldc.i4 9
+ ldc.i4 45
+ ldc.i4 120
+ stsfld int32 EHTest::fld0
+ ldc.i4 57
+ ldc.i4 58
+ stsfld int32 EHTest::fld0
+ ldc.i4.0
+ newobj instance void int32[109,57,69,118,54,39,66,54,97,75,62,101,112,64,62,75,52,90,65,22,101,39,60,87,76,46,97,96]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 22
+ ldc.i4 94
+ ldc.i4 82
+ ldc.i4 15
+ ldc.i4 91
+ ldc.i4 77
+ ldc.i4 17
+ ldc.i4 70
+ stsfld int32 EHTest::fld0
+ ldc.i4 32
+ ldc.i4 86
+ ldc.i4 27
+ ldc.i4 28
+ ldc.i4 75
+ ldc.i4 30
+ stsfld int32 EHTest::fld0
+ ldc.i4 21
+ ldc.i4 18
+ ldc.i4 111
+ ldc.i4 79
+ ldc.i4 102
+ ldc.i4 112
+ ldc.i4 98
+ ldc.i4 114
+ ldc.i4 17
+ ldc.i4 44
+ ldc.i4 45
+ ldc.i4.7
+ stsfld int32 EHTest::fld0
+ ldc.i4 103
+ ldc.i4 45
+ ldc.i4 94
+ ldc.i4 110
+ ldc.i4 104
+ stsfld int32 EHTest::fld0
+ ldc.i4 34
+ call instance int32 int32[109,57,69,118,54,39,66,54,97,75,62,101,112,64,62,75,52,90,65,22,101,39,60,87,76,46,97,96]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 39
+ or
+ bgt.un TARGET_0_1
+ TARGET_0_1:
+ ldc.i8 58
+ not
+ ldc.i8 3
+ blt.un TARGET_0_0
+ TARGET_0_2:
+ ldc.i8 19
+ ldc.i8 50
+ box int64
+ unbox int64
+ ldind.i8
+ box int64
+ unbox int64
+ ldind.i8
+ starg.s arg0
+ ldc.i8 20
+ starg.s arg1
+ ldc.i8 91
+ not
+ bge TARGET_0_2
+ TARGET_0_3:
+ ldc.i4 83
+ stsfld int32 EHTest::fld0
+ ldc.i4 118
+ ldc.i4 3
+ shl
+ ldc.i4 24
+ bge.un TARGET_0_1
+ TARGET_0_4:
+ ldc.i8 75
+ ldc.i8 71
+ stloc 1
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ starg.s arg1
+ ldc.i8 3
+ ble TARGET_0_4
+rethrow
+end_catch3:
+
+
+start_catch4:
+catch4_out:
+nop
+ TARGET_1_0:
+ ldc.i8 15
+ stloc.1
+ ldc.i8 6
+ box int64
+ unbox int64
+ ldind.i8
+ stloc.1
+ ldc.i8 69
+ ldc.i8 53
+ starg.s arg0
+ ldc.i8 16
+ add
+ stloc.1
+ ldc.i8 19
+ not
+ ldc.i8 1
+ starg.s arg0
+ ldc.i8 56
+ bgt.un TARGET_1_3
+ TARGET_1_1:
+ ldarg.1
+ ldloc.1
+ starg.s arg1
+ ldc.i8 103
+ div
+ box int64
+ unbox int64
+ ldind.i8
+ conv.i4
+ stloc 4
+ ldloc 4
+ neg
+ ldc.i4 13
+ bgt.un TARGET_1_3
+ TARGET_1_2:
+ ldc.i4.5
+ ldc.i4 29
+ shl
+ stsfld int32 EHTest::fld0
+ ldc.i4 17
+ ldc.i4 109
+ stsfld int32 EHTest::fld0
+ ldc.i4.4
+ stsfld int32 EHTest::fld0
+ ldc.i4 14
+ beq TARGET_1_3
+ TARGET_1_3:
+ ldc.i4 114
+ stloc 4
+ ldc.i4 45
+ stsfld int32 EHTest::fld0
+ ldc.i4 117
+ neg
+ ldc.i4 24
+ shr
+ newarr [mscorlib]System.Int64
+ ldc.i4 93
+ stsfld int32 EHTest::fld0
+ ldc.i4 95
+ ldelem.i8
+ ldc.i8 50
+ cgt
+ ldc.i4 57
+ stsfld int32 EHTest::fld0
+ ldc.i4 32
+ bgt TARGET_1_2
+ TARGET_1_4:
+ ldc.i8 64
+ stloc.1
+ ldc.i8 40
+ starg.s arg0
+ ldc.i8 70
+ box int64
+ unbox int64
+ ldind.i8
+ ldc.i8 14
+ stloc.1
+ ldc.i8 90
+ bge TARGET_1_1
+pop
+leave catch2_out
+end_catch4:
+
+
+catch2_br:
+start_try3:
+nop
+ TARGET_2_0:
+ ldc.i4 109
+ box int32
+ unbox int32
+ ldind.i4
+ stloc.0
+ ldc.i4 105
+ ldc.i4 84
+ or
+ stsfld int32 EHTest::fld0
+ ldc.i4 23
+ ldc.i4 62
+ blt TARGET_2_1
+ TARGET_2_1:
+ ldarg.0
+ ldc.i8 58
+ sub
+ ldc.i8 71
+ blt.un TARGET_2_0
+ TARGET_2_2:
+ ldc.i4 66
+ ldc.i4 38
+ stloc 4
+ ldc.i4 67
+ cgt
+ ldc.i4 31
+ stsfld int32 EHTest::fld0
+ ldc.i4 25
+ or
+ stsfld int32 EHTest::fld0
+ ldc.i4 25
+ stsfld int32 EHTest::fld0
+ ldc.i4 59
+ newarr [mscorlib]System.Int32
+ ldc.i4 19
+ ldelem.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 41
+ newarr [mscorlib]System.Int64
+ ldc.i4 24
+ stloc.3
+ ldc.i4 19
+ stloc.2
+ ldc.i4 39
+ ldelem.i8
+ ldftn int64 EHTest::GetInt64_jmp()
+ calli int64 ()
+ ble TARGET_2_4
+ TARGET_2_3:
+ ldc.i8 45
+ ldc.i8 81
+ starg.s arg1
+ ldc.i8 123
+ starg.s arg0
+ ldc.i8 4
+ sub
+ neg
+ starg.s arg1
+ ldc.i8 64
+ ldc.i8 24
+ starg.s arg0
+ ldc.i8 51
+ cgt
+ ldc.i4 69
+ stsfld int32 EHTest::fld0
+ ldc.i4 94
+ bgt.un TARGET_2_3
+ TARGET_2_4:
+ ldc.i8 96
+ starg.s arg0
+ ldc.i8 101
+ stloc.1
+ ldc.i8 85
+ stloc.1
+ ldc.i8 95
+ not
+ ldc.i8 59
+ blt TARGET_2_1
+try3_out:
+newobj instance void [mscorlib]System.DivideByZeroException::.ctor()
+throw
+end_try3:
+
+start_catch5:
+catch5_out:
+pop
+newobj instance void [mscorlib]System.OutOfMemoryException::.ctor()
+throw
+end_catch5:
+
+
+exception_filter1:
+pop
+ldc.i4.0
+endfilter
+start_filter1:
+pop
+filter1_out: leave catch2_out
+end_filter1:
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+filter2_out: leave catch2_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.0
+endfilter
+start_filter3:
+pop
+br filter3_br
+filter3_br:
+start_try4:
+try4_out:
+newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+throw
+end_try4:
+
+start_finally1:
+finally1_out: endfinally
+end_finally1:
+
+
+nop
+ TARGET_3_0:
+ ldc.i4 107
+ conv.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 84
+ ldc.i4 34
+ bge TARGET_3_2
+ TARGET_3_1:
+ call int32 EHTest::GetInt32()
+ stsfld int32 EHTest::fld0
+ ldc.i4 56
+ ldc.i4 57
+ stsfld int32 EHTest::fld0
+ ldc.i4 21
+ stsfld int32 EHTest::fld0
+ ldc.i4 87
+ stloc.3
+ ldc.i4 53
+ bge TARGET_3_2
+ TARGET_3_2:
+ ldsfld int32 EHTest::fld0
+ stsfld int32 EHTest::fld0
+ ldc.i4 27
+ newarr [mscorlib]System.Int32
+ ldc.i4 14
+ ldelem.i4
+ ldc.i4 103
+ ble.un TARGET_3_0
+ TARGET_3_3:
+ ldloc.1
+ stloc.1
+ call int64 EHTest::GetInt64_jmp()
+ stloc.1
+ ldc.i8 94
+ ldc.i8 106
+ cgt
+ ldc.i8 63
+ ldc.i8 69
+ cgt
+ blt TARGET_3_2
+ TARGET_3_4:
+ ldftn int64 EHTest::GetInt64_jmp()
+ calli int64 ()
+ stloc.1
+ ldc.i8 44
+ stloc.1
+ ldc.i8 4
+ conv.i8
+ ldc.i8 53
+ xor
+ starg.s arg0
+ ldc.i8 75
+ ldc.i8 0
+ bge.un TARGET_3_3
+filter3_out: leave catch2_out
+end_filter3:
+
+catch2_out:
+nop
+ TARGET_4_0:
+ ldloc.1
+ neg
+ ldc.i8 40
+ stloc.1
+ ldc.i8 18
+ stloc.1
+ ldc.i8 95
+ starg.s arg1
+ ldc.i8 87
+ rem
+ ldc.i8 108
+ bgt.un TARGET_4_3
+ TARGET_4_1:
+ ldarg.0
+ conv.i8
+ ldc.i8 36
+ stloc.1
+ ldc.i8 16
+ rem
+ ldc.i8 7
+ rem
+ ldc.i8 37
+ beq TARGET_4_4
+ TARGET_4_2:
+ ldloca 1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i4 126
+ conv.i8
+ box int64
+ unbox int64
+ ldind.i8
+ starg.s arg1
+ ldc.i8 42
+ starg.s arg1
+ ldc.i8 94
+ ldc.i8 18
+ div
+ ble TARGET_4_1
+ TARGET_4_3:
+ call int64 EHTest::GetInt64_jmp()
+ starg.s arg0
+ ldc.i4 60
+ ldc.i4 61
+ stsfld int32 EHTest::fld0
+ ldc.i4 70
+ stloc.0
+ ldc.i4 112
+ rem
+ stsfld int32 EHTest::fld0
+ ldc.i4 9
+ stsfld int32 EHTest::fld0
+ ldc.i4 59
+ neg
+ ldc.i4 29
+ shr
+ conv.i4
+ newarr [mscorlib]System.Int64
+ ldc.i4 13
+ ldelem.i8
+ ldc.i8 86
+ bgt TARGET_4_2
+ TARGET_4_4:
+ call int64 EHTest::GetInt64()
+ stloc.1
+ ldc.i8 107
+ starg.s arg0
+ ldc.i8 89
+ ldc.i8 39
+ stloc.1
+ ldc.i8 98
+ blt.un TARGET_4_1
+leave try1_out
+end_catch2:
+
+
+exception_filter4:
+pop
+ldc.i4.0
+endfilter
+start_filter4:
+pop
+filter4_out: leave try1_out
+end_filter4:
+
+try1_br:
+start_try2:
+try2_out:
+newobj instance void [mscorlib]System.RankException::.ctor()
+throw
+end_try2:
+
+call void EHTest::f2()
+try1_out:
+newobj instance void [mscorlib]System.IndexOutOfRangeException::.ctor()
+throw
+end_try1:
+
+OUT0:
+leave OUT
+OUT:
+ ldc.i8 10
+ret
+.try start_try4 to end_try4 finally handler start_finally1 to end_finally1
+.try start_try3 to end_try3 catch [mscorlib]System.Exception handler start_catch3 to end_catch3
+.try start_try3 to end_try3 catch [mscorlib]System.Exception handler start_catch4 to end_catch4
+.try start_try3 to end_try3 catch [mscorlib]System.DivideByZeroException handler start_catch5 to end_catch5
+.try start_try3 to end_try3 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try3 to end_try3 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try3 to end_try3 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try2 to end_try2 catch [mscorlib]System.Exception handler start_catch1 to end_catch1
+.try start_try2 to end_try2 catch [mscorlib]System.MissingFieldException handler start_catch2 to end_catch2
+.try start_try2 to end_try2 filter exception_filter4 handler start_filter4 to end_filter4
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static int64 f1(int64 arg0) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int64 V_3,
+ int32 V_4)
+br start_try1
+start_fault1:
+br fault1_br
+start_fault2:
+nop
+ TARGET_5_0:
+ sizeof native int
+ stsfld int32 EHTest::fld0
+ ldc.i4 13
+ ldc.i4 45
+ bge TARGET_5_0
+ TARGET_5_1:
+ ldsfld int32 EHTest::fld0
+ ldc.i4 52
+ ldc.i4 60
+ or
+ ldc.i4 13
+ stloc 4
+ ldc.i4 28
+ ldc.i4 42
+ stsfld int32 EHTest::fld0
+ ldc.i4 125
+ ldc.i4 108
+ stloc.0
+ ldc.i4.7
+ newobj instance void int64[86,43,110,24,0]::.ctor(int32,int32,int32,int32,int32)
+ ldc.i4 19
+ stsfld int32 EHTest::fld0
+ ldc.i4 28
+ ldc.i4.4
+ ldc.i4 71
+ stsfld int32 EHTest::fld0
+ ldc.i4 56
+ ldc.i4 39
+ stsfld int32 EHTest::fld0
+ ldc.i4 84
+ ldc.i4 59
+ call instance int64 int64[86,43,110,24,0]::Get(int32,int32,int32,int32,int32)
+ ldc.i8 6
+ beq TARGET_5_3
+ TARGET_5_2:
+ call int32 EHTest::GetInt32_tailcall()
+ ldc.i4 33
+ stloc.0
+ ldc.i4 109
+ sub
+ ldc.i4 49
+ stsfld int32 EHTest::fld0
+ ldc.i4 78
+ beq TARGET_5_2
+ TARGET_5_3:
+ ldc.i8 108
+ starg.s arg0
+ ldc.i8 55
+ ldc.i8 97
+ mul
+ starg.s arg0
+ ldc.i8 113
+ ldc.i8 9
+ beq TARGET_5_3
+ TARGET_5_4:
+ ldc.i8 43
+ conv.i8
+ starg.s arg0
+ ldc.i8 59
+ ldc.i8 1
+ stloc.3
+ ldc.i8 53
+ cgt
+ ldloc.0
+ stloc 4
+ ldc.i4 68
+ stloc 4
+ ldc.i4 66
+ stloc 4
+ ldc.i4 53
+ stloc 4
+ ldc.i4 14
+ ldc.i4 64
+ stsfld int32 EHTest::fld0
+ ldc.i4 29
+ add
+ ble.un TARGET_5_0
+fault2_out: endfault
+end_fault2:
+
+
+fault1_br:
+start_try2:
+br try2_br
+start_finally1:
+br finally1_br
+start_finally2:
+call void EHTest::f2()
+finally2_out: endfinally
+end_finally2:
+
+
+finally1_br:
+start_try4:
+try4_out:
+leave finally1_out
+end_try4:
+
+nop
+ TARGET_6_0:
+ sizeof [mscorlib]System.UIntPtr
+ sizeof [mscorlib]System.IntPtr
+ bge TARGET_6_3
+ TARGET_6_1:
+ ldc.i8 26
+ stloc.3
+ ldc.i8 11
+ stloc.2
+ ldc.i8 67
+ ldc.i8 18
+ starg.s arg0
+ ldc.i8 38
+ rem
+ starg.s arg0
+ ldc.i8 79
+ stloc.3
+ ldc.i8 74
+ ldc.i8 88
+ stloc.1
+ ldc.i8 124
+ ble.un TARGET_6_3
+ TARGET_6_2:
+ ldc.i4 91
+ ldc.i4 6
+ shr
+ ldc.i4 23
+ beq TARGET_6_2
+ TARGET_6_3:
+ ldarg.0
+ ldc.i8 47
+ beq TARGET_6_4
+ TARGET_6_4:
+ ldloc.1
+ stloc.1
+ ldc.i4 58
+ ldc.i4 101
+ ldc.i4 68
+ ldc.i4 116
+ stsfld int32 EHTest::fld0
+ ldc.i4 112
+ ldc.i4 103
+ stsfld int32 EHTest::fld0
+ ldc.i4.2
+ stloc 4
+ ldc.i4 53
+ stloc.0
+ ldc.i4 46
+ stsfld int32 EHTest::fld0
+ ldc.i4 92
+ ldc.i4 118
+ ldc.i4 91
+ ldc.i4 74
+ ldc.i4 79
+ stsfld int32 EHTest::fld0
+ ldc.i4 116
+ ldc.i4 75
+ ldc.i4 80
+ stsfld int32 EHTest::fld0
+ ldc.i4 28
+ ldc.i4 84
+ ldc.i4 62
+ ldc.i4 68
+ stsfld int32 EHTest::fld0
+ ldc.i4 92
+ stsfld int32 EHTest::fld0
+ ldc.i4 125
+ stsfld int32 EHTest::fld0
+ ldc.i4 18
+ stsfld int32 EHTest::fld0
+ ldc.i4.0
+ ldc.i4 20
+ ldc.i4 26
+ ldc.i4 100
+ stsfld int32 EHTest::fld0
+ ldc.i4.2
+ ldc.i4 72
+ ldc.i4 102
+ newobj instance void int32[,,,,,,,,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4.1
+ ldc.i4 83
+ ldc.i4 66
+ ldc.i4 36
+ stsfld int32 EHTest::fld0
+ ldc.i4 105
+ ldc.i4 66
+ ldc.i4.8
+ stloc.0
+ ldc.i4 101
+ ldc.i4 85
+ stsfld int32 EHTest::fld0
+ ldc.i4 69
+ ldc.i4 54
+ stsfld int32 EHTest::fld0
+ ldc.i4 30
+ ldc.i4 94
+ stloc.0
+ ldc.i4 23
+ stloc.0
+ ldc.i4 25
+ ldc.i4 13
+ ldc.i4.6
+ ldc.i4 85
+ ldc.i4 36
+ stloc 4
+ ldc.i4 44
+ ldc.i4 18
+ ldc.i4 96
+ ldc.i4 62
+ stloc.0
+ ldc.i4 14
+ ldc.i4 44
+ stsfld int32 EHTest::fld0
+ ldc.i4 121
+ stsfld int32 EHTest::fld0
+ ldc.i4 73
+ ldc.i4 15
+ stloc.0
+ ldc.i4 57
+ stsfld int32 EHTest::fld0
+ ldc.i4 119
+ ldc.i4 31
+ call instance int32 int32[,,,,,,,,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 85
+ cgt
+ newarr [mscorlib]System.Int32
+ ldc.i4 106
+ stsfld int32 EHTest::fld0
+ ldc.i4 112
+ ldelem.i4
+ ldc.i4.8
+ stloc 4
+ ldc.i4 18
+ stloc.0
+ ldc.i4 59
+ add
+ conv.i8
+ stloc.3
+ ldc.i8 90
+ ldc.i8 120
+ starg.s arg0
+ ldc.i8 37
+ xor
+ stloc.2
+ ldc.i8 25
+ ldc.i8 107
+ bgt TARGET_6_4
+finally1_out: endfinally
+end_finally1:
+
+
+try2_br:
+start_try3:
+call void EHTest::f2()
+try3_out:
+newobj instance void [mscorlib]System.ArgumentOutOfRangeException::.ctor()
+throw
+end_try3:
+
+try2_out:
+newobj instance void [mscorlib]System.RankException::.ctor()
+throw
+end_try2:
+
+nop
+ TARGET_7_0:
+ ldc.i8 123
+ ldc.i8 69
+ stloc.3
+ ldc.i8 85
+ stloc.1
+ ldc.i8 61
+ div
+ ldc.i8 106
+ bgt TARGET_7_3
+ TARGET_7_1:
+ ldftn int32 EHTest::GetInt32()
+ calli int32 ()
+ newarr [mscorlib]System.Int64
+ ldc.i4 45
+ neg
+ ldc.i4 34
+ ceq
+ ldelem.i8
+ ldloc.3
+ starg.s arg0
+ ldc.i8 37
+ mul
+ stloc.2
+ ldc.i8 115
+ ldc.i8 87
+ starg.s arg0
+ ldc.i8 30
+ bgt.un TARGET_7_3
+ TARGET_7_2:
+ ldc.i8 40
+ neg
+ stloc.2
+ ldc.i8 5
+ starg.s arg0
+ ldc.i8 74
+ ldc.i8 73
+ stloc.2
+ ldc.i8 120
+ stloc.2
+ ldc.i8 86
+ stloc.1
+ ldc.i8 5
+ sub
+ ldc.i8 93
+ starg.s arg0
+ ldc.i8 48
+ stloc.3
+ ldc.i8 27
+ div
+ starg.s arg0
+ ldc.i8 71
+ stloc.3
+ ldc.i8 51
+ ldc.i8 11
+ ble TARGET_7_1
+ TARGET_7_3:
+ ldftn int64 EHTest::GetInt64_jmp()
+ calli int64 ()
+ ldc.i8 127
+ stloc.3
+ ldc.i8 65
+ stloc.2
+ ldc.i8 66
+ not
+ starg.s arg0
+ ldc.i8 15
+ ldc.i8 60
+ stloc.3
+ ldc.i8 83
+ add
+ stloc.1
+ ldc.i8 76
+ blt.un TARGET_7_2
+ TARGET_7_4:
+ call int64 EHTest::GetInt64_tailcall()
+ ldc.i8 70
+ stloc.2
+ ldarga arg0
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ neg
+ stloc.3
+ ldc.i8 46
+ bge.un TARGET_7_2
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+try1_out:
+newobj instance void [mscorlib]System.StackOverflowException::.ctor()
+throw
+end_try1:
+OUT:
+ ldc.i8 112
+ret
+OUT0:
+nop
+ TARGET_8_0:
+ sizeof [mscorlib]System.IntPtr
+ ldc.i4 19
+ shl
+ newarr [mscorlib]System.Int64
+ ldc.i4 58
+ ldelem.i8
+ ldloc.2
+ stloc.1
+ ldc.i8 79
+ sub
+ stloc.2
+ ldc.i8 24
+ ldc.i8 42
+ xor
+ stloc.3
+ ldc.i8 26
+ stloc.2
+ ldc.i8 15
+ ldc.i8 5
+ blt.un TARGET_8_1
+ TARGET_8_1:
+ ldloca 4
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ ldc.i4 53
+ ble TARGET_8_4
+ TARGET_8_2:
+ call int64 EHTest::GetInt64_jmp()
+ starg.s arg0
+ ldc.i8 40
+ ldc.i8 79
+ div
+ ldc.i8 8
+ div
+ ldc.i8 62
+ stloc.2
+ ldc.i8 86
+ bgt TARGET_8_1
+ TARGET_8_3:
+ ldloca 0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ ldc.i4 71
+ div
+ ldc.i4 19
+ stsfld int32 EHTest::fld0
+ ldc.i4 126
+ blt TARGET_8_4
+ TARGET_8_4:
+ ldc.i8 81
+ conv.i8
+ conv.i8
+ ldc.i8 99
+ blt TARGET_8_4
+leave OUT
+.try start_try4 to end_try4 finally handler start_finally2 to end_finally2
+.try start_try3 to end_try3 finally handler start_finally1 to end_finally1
+.try start_try2 to end_try2 fault handler start_fault2 to end_fault2
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3,
+ int64 V_4,
+ int32 V_5,
+ int64 V_6)
+.try
+{
+ ldc.i8 4
+call int64 EHTest::f1(int64 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/trep.cs b/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/trep.cs
deleted file mode 100644
index 07169857d3..0000000000
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M02/b20785/trep.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-using System;
-using System.Threading;
-
-internal struct Gen
-{
- public void Target<U>()
- {
- }
- public static void DelegateTest<U>()
- {
- ThreadStart d = new ThreadStart(new Gen().Target<U>);
- IAsyncResult ar = d.BeginInvoke(null, null);
- WaitHandle.WaitAll(new System.Threading.WaitHandle[] { ar.AsyncWaitHandle });
- }
-}
-
-public class Test
-{
- public static int Main()
- {
- Gen.DelegateTest<object>();
- return 100;
- }
-}
-
-
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/b125091.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/b125091.ilproj
new file mode 100644
index 0000000000..26cd2a21c6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/b125091.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/eh.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/eh.il
new file mode 100644
index 0000000000..4a90d22427
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/eh.il
@@ -0,0 +1,170 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int64 fld0
+
+.method public static int32 f1(int64 arg0,int64 arg1,int64 arg2,int32 arg3,int64 arg4) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int32 V_3)
+br start_try1
+start_fault1:
+nop
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+br try1_br
+
+start_catch2:
+catch2_out:
+nop
+ TARGET_7_0:
+ ldc.i4 23
+ box int32
+ unbox int32
+ ldind.i4
+ starg.s arg3
+ ldc.i4 61
+ neg
+ stloc.0
+ ldc.i4 56
+ newarr [mscorlib]System.Int64
+ ldc.i4 108
+ ldelem.i8
+ starg.s arg2
+ TARGET_7_1:
+ ldc.i8 1
+ ldc.i8 51
+ mul
+ ldc.i8 97
+ bgt TARGET_7_1
+rethrow
+end_catch2:
+
+
+exception_filter1:
+pop
+ldc.i4.0
+endfilter
+start_filter1:
+pop
+nop
+
+filter1_out: leave try1_out
+end_filter1:
+
+try1_br:
+start_try2:
+br try2_br
+try2_br:
+
+nop
+
+try2_out:
+newobj instance void [mscorlib]System.InvalidCastException::.ctor()
+throw
+end_try2:
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+filter2_out: leave try1_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.0
+endfilter
+start_filter3:
+pop
+filter3_out: leave try1_out
+end_filter3:
+
+call void EHTest::f2()
+try1_out:
+newobj instance void [mscorlib]System.AppDomainUnloadedException::.ctor()
+throw
+end_try1:
+
+OUT0:
+nop
+
+br start_try4
+
+start_try4:
+end_try4:
+OUT1:
+leave OUT
+OUT:
+ ldc.i4 77
+ ldc.i4 78
+ stloc.3
+ ldc.i4 85
+ sub
+ret
+
+.try start_try2 to end_try2 catch [mscorlib]System.Exception handler start_catch2 to end_catch2
+.try start_try2 to end_try2 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try2 to end_try2 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try2 to end_try2 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f2()
+{
+ret
+}
+
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4,
+ int64 V_5,
+ int32 V_6)
+.try
+{
+ ldc.i8 76
+ ldc.i8 31
+ ldc.i8 115
+ stsfld int64 EHTest::fld0
+ ldc.i8 41
+ ldc.i4 12
+ stloc.2
+ ldc.i4 96
+ ldc.i8 28
+call int32 EHTest::f1(int64 ,int64 ,int64 ,int32 ,int64 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.il
new file mode 100644
index 0000000000..67cce4f1a0
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.il
@@ -0,0 +1,112 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+
+.assembly OverwriteArray
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 02 00 00 ) .custom instance void [mscorlib]System.Security.SecurityTransparentAttribute::.ctor() = ( 01 00 00 00 )
+ .permissionset reqrefuse =
+ (3C 00 50 00 65 00 72 00 6D 00 69 00 73 00 73 00
+ 69 00 6F 00 6E 00 53 00 65 00 74 00 20 00 63 00
+ 6C 00 61 00 73 00 73 00 3D 00 22 00 53 00 79 00
+ 73 00 74 00 65 00 6D 00 2E 00 53 00 65 00 63 00
+ 75 00 72 00 69 00 74 00 79 00 2E 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 53 00 65 00 74 00 22 00 0D 00 0A 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 76 00 65 00 72 00
+ 73 00 69 00 6F 00 6E 00 3D 00 22 00 31 00 22 00
+ 3E 00 0D 00 0A 00 20 00 20 00 20 00 3C 00 49 00
+ 50 00 65 00 72 00 6D 00 69 00 73 00 73 00 69 00
+ 6F 00 6E 00 20 00 63 00 6C 00 61 00 73 00 73 00
+ 3D 00 22 00 53 00 79 00 73 00 74 00 65 00 6D 00
+ 2E 00 53 00 65 00 63 00 75 00 72 00 69 00 74 00
+ 79 00 2E 00 50 00 65 00 72 00 6D 00 69 00 73 00
+ 73 00 69 00 6F 00 6E 00 73 00 2E 00 53 00 65 00
+ 63 00 75 00 72 00 69 00 74 00 79 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 2C 00 20 00 6D 00 73 00 63 00 6F 00 72 00 6C 00
+ 69 00 62 00 2C 00 20 00 56 00 65 00 72 00 73 00
+ 69 00 6F 00 6E 00 3D 00 31 00 2E 00 30 00 2E 00
+ 33 00 33 00 30 00 30 00 2E 00 30 00 2C 00 20 00
+ 43 00 75 00 6C 00 74 00 75 00 72 00 65 00 3D 00
+ 6E 00 65 00 75 00 74 00 72 00 61 00 6C 00 2C 00
+ 20 00 50 00 75 00 62 00 6C 00 69 00 63 00 4B 00
+ 65 00 79 00 54 00 6F 00 6B 00 65 00 6E 00 3D 00
+ 62 00 37 00 37 00 61 00 35 00 63 00 35 00 36 00
+ 31 00 39 00 33 00 34 00 65 00 30 00 38 00 39 00
+ 22 00 0D 00 0A 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 76 00 65 00 72 00 73 00 69 00
+ 6F 00 6E 00 3D 00 22 00 31 00 22 00 0D 00 0A 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 46 00 6C 00 61 00 67 00 73 00 3D 00 22 00 53 00
+ 6B 00 69 00 70 00 56 00 65 00 72 00 69 00 66 00
+ 69 00 63 00 61 00 74 00 69 00 6F 00 6E 00 22 00
+ 2F 00 3E 00 0D 00 0A 00 3C 00 2F 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 53 00 65 00 74 00 3E 00 0D 00 0A 00 )
+}
+
+.class public OverwriteArray extends [mscorlib]System.Object
+{
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+
+ .try
+ {
+ ldstr "Trying to stelem.i4 directly into an int32[0...]"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 2
+ ldc.i4 3
+ newobj instance void int32[...]::.ctor(int32, int32)
+
+ ldc.i4 0
+ ldc.i4 0xc8
+ stelem.i4
+ ldstr "Shouldn't be here..."
+ call void [System.Console]System.Console::WriteLine(string)
+ leave FAIL
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ ldstr "Got a verification exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave PASS
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ ldstr "Got an invalid program exeption"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave PASS
+ }
+ catch [mscorlib]System.Exception
+ {
+ callvirt instance string [mscorlib]System.Object::ToString()
+ ldstr "Got an unknown exception"
+ call void [System.Console]System.Console::WriteLine(string)
+ call void [System.Console]System.Console::WriteLine(string)
+ leave FAIL
+ }
+
+PASS:
+ ldc.i4 100
+ ldstr "Pass"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+
+FAIL:
+ ldc.i4 101
+ ldstr "FAIL"
+ call void [System.Console]System.Console::WriteLine(string)
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.ilproj
new file mode 100644
index 0000000000..ac0d0cad87
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/OverwriteArray.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="OverwriteArray.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b309042/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/1093488365.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/1093488365.il
new file mode 100644
index 0000000000..302bfa2021
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/1093488365.il
@@ -0,0 +1,52 @@
+
+.assembly Test1 {}
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{auto}
+.class FullProof {
+
+.method static int32 Test() noinlining {
+.maxstack 16
+ ldc.r4 0
+ conv.ovf.i4
+ ldc.i4 -2147483648
+ sub.ovf
+ ret
+}
+
+.method public static int32 Main()
+{
+.entrypoint
+.maxstack 3
+ .try
+ {
+ call int32 FullProof::Test()
+ pop
+ leave.s FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ leave.s PASS
+ }
+
+FAIL:
+ ldstr "FAIL"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ br DONE
+
+PASS:
+ ldstr "PASS"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+
+DONE:
+
+ ret
+}
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/b359564.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/b359564.ilproj
new file mode 100644
index 0000000000..c4de46614a
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b359564/b359564.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="1093488365.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.il
new file mode 100644
index 0000000000..6684ec49b5
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.il
@@ -0,0 +1,33 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+
+.assembly 'test' {
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 02 00 00 ) .custom instance void [mscorlib]System.Security.SecurityTransparentAttribute::.ctor() = ( 01 00 00 00 )
+ .permissionset reqrefuse =
+ {
+ [mscorlib]System.Security.Permissions.SecurityPermissionAttribute =
+ {
+ property bool 'SkipVerification' = bool(true)
+ }
+ }
+}
+
+.method public static int32 Main()
+{
+ .entrypoint
+ ldc.i4 0
+ box int8
+ unbox.any int8
+ pop
+
+ ldstr "Test SUCCESS"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ ret
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.ilproj
new file mode 100644
index 0000000000..b54045c3e7
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b423755/b423755.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b423755.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/project.lock.json b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/project.lock.json
index fa8de6e79a..3734dc4ebd 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/project.lock.json
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/project.lock.json
@@ -1411,4 +1411,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.il
new file mode 100644
index 0000000000..cc7c5847bc
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.il
@@ -0,0 +1,295 @@
+
+
+
+
+.module extern user32.dll
+.module extern kernel32
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly cs1
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module cs1.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit cs1
+ extends [mscorlib]System.Object
+{
+ .field private static literal int32 VAL = int32(0x00000005)
+ .field static assembly int32 s_Zero
+ .field static assembly int32 s_i
+ .field private static class cs1 s_obj
+ .field private static bool s_timeUp
+ .field private object m_obj
+ .field private object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) m_objVolatile
+ .field private object[] m_objs
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: nop
+ IL_0007: nop
+ IL_0008: ldarg.0
+ IL_0009: ldc.i4.2
+ IL_000a: newarr [mscorlib]System.Object
+ IL_000f: stfld object[] cs1::m_objs
+ IL_0014: ldarg.0
+ IL_0015: ldfld object[] cs1::m_objs
+ IL_001a: ldc.i4.0
+ IL_001b: ldc.i4.5
+ IL_001c: box [mscorlib]System.Int32
+ IL_0021: stelem.ref
+ IL_0022: ldarg.0
+ IL_0023: ldfld object[] cs1::m_objs
+ IL_0028: ldc.i4.1
+ IL_0029: ldstr "Hello"
+ IL_002e: stelem.ref
+ IL_002f: ldarg.0
+ IL_0030: ldarg.0
+ IL_0031: ldfld object[] cs1::m_objs
+ IL_0036: ldc.i4.0
+ IL_0037: ldelem.ref
+ IL_0038: stfld object cs1::m_obj
+ IL_003d: ldarg.0
+ IL_003e: ldarg.0
+ IL_003f: ldfld object[] cs1::m_objs
+ IL_0044: ldc.i4.1
+ IL_0045: ldelem.ref
+ IL_0046: volatile.
+ IL_0048: stfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) cs1::m_objVolatile
+ IL_004d: nop
+ IL_004e: ret
+ }
+
+ .method public hidebysig instance void
+ CheckVal() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (uint32 V_0,
+ uint32 V_1,
+ bool V_2)
+ IL_0000: nop
+ IL_0001: ldc.i4.0
+ IL_0002: stloc.0
+ IL_0003: br.s IL_006d
+
+ IL_0005: nop
+ .try
+ {
+ IL_0006: nop
+ IL_0007: ldarg.0
+ IL_0008: ldfld object cs1::m_obj
+ IL_000d: unbox [mscorlib]System.Int32
+ ldc.i4 0
+ stind.i4
+
+ IL_0032: ldarg.0
+ IL_0033: volatile.
+ IL_0035: ldfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) cs1::m_objVolatile
+ IL_003a: unbox [mscorlib]System.Int32
+ ldc.i4 0
+ stind.i4
+
+ IL_005f: nop
+ IL_0060: leave.s IL_0067
+
+ }
+ catch [mscorlib]System.InvalidCastException
+ {
+ IL_0062: pop
+ IL_0063: nop
+ IL_0064: nop
+ IL_0065: leave.s IL_0067
+
+ }
+ IL_0067: nop
+ IL_0068: nop
+ IL_0069: ldloc.0
+ IL_006a: ldc.i4.1
+ IL_006b: add
+ IL_006c: stloc.0
+ IL_006d: ldsfld bool cs1::s_timeUp
+ IL_0072: ldc.i4.0
+ IL_0073: ceq
+ IL_0075: stloc.2
+ IL_0076: ldloc.2
+ IL_0077: brtrue.s IL_0005
+
+ IL_0079: ret
+ }
+
+ .method private hidebysig instance void
+ Flip() cil managed
+ {
+ .maxstack 4
+ .locals init (uint32 V_0,
+ string V_1,
+ bool V_2)
+ IL_0000: nop
+ IL_0001: ldc.i4.0
+ IL_0002: stloc.0
+ IL_0003: br.s IL_0051
+
+ IL_0005: nop
+ IL_0006: ldarg.0
+ IL_0007: ldfld object[] cs1::m_objs
+ IL_000c: ldc.i4.1
+ IL_000d: ldelem.ref
+ IL_000e: castclass [mscorlib]System.String
+ IL_0013: stloc.1
+ IL_0014: ldloc.1
+ IL_0015: ldc.i4.0
+ IL_0016: callvirt instance char [mscorlib]System.String::get_Chars(int32)
+ IL_001b: ldc.i4.s 72
+ IL_001d: ceq
+ IL_001f: stloc.2
+ IL_0020: ldloc.2
+ IL_0021: brtrue.s IL_002e
+
+ IL_0023: ldstr "String is corrupted"
+ IL_0028: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_002d: throw
+
+ IL_002e: ldarg.0
+ IL_002f: ldarg.0
+ IL_0030: ldfld object cs1::m_obj
+ IL_0035: volatile.
+ IL_0037: stfld object modreq([mscorlib]System.Runtime.CompilerServices.IsVolatile) cs1::m_objVolatile
+ IL_003c: ldarg.0
+ IL_003d: ldarg.0
+ IL_003e: ldfld object[] cs1::m_objs
+ IL_0043: ldloc.0
+ IL_0044: ldc.i4.2
+ IL_0045: rem
+ IL_0046: ldelem.ref
+ IL_0047: stfld object cs1::m_obj
+ IL_004c: nop
+ IL_004d: ldloc.0
+ IL_004e: ldc.i4.1
+ IL_004f: add
+
+
+
+ IL_0050: stloc.0
+ IL_0051: ldsfld bool cs1::s_timeUp
+ IL_0056: ldc.i4.0
+ IL_0057: ceq
+ IL_0059: stloc.2
+ IL_005a: ldloc.2
+ IL_005b: brtrue.s IL_0005
+
+ IL_005d: ret
+ }
+
+ .method private hidebysig static void SignalTimeUp(object stateInfo) cil managed
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldc.i4.1
+ IL_0002: stsfld bool cs1::s_timeUp
+ IL_0007: ret
+ }
+
+ .method public hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .locals init (class cs1 V_0,
+ class [mscorlib]System.Threading.Thread V_1,
+ class [mscorlib]System.Threading.Timer V_2,
+ class [mscorlib]System.Threading.Thread V_flip
+ )
+ IL_0000: nop
+ IL_0001: newobj instance void cs1::.ctor()
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldftn instance void cs1::CheckVal()
+ IL_000e: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_0013: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0018: stloc.1
+ IL_0019: ldloc.1
+ IL_001a: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_001f: nop
+ IL_0020: ldc.i4.0
+ IL_0021: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0026: nop
+ IL_0027: ldloc.0
+
+ ldftn instance void cs1::Flip()
+ newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ stloc V_flip
+ ldloc V_flip
+ callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ nop
+
+
+ IL_002d: nop
+ IL_002e: ldnull
+ IL_002f: ldftn void cs1::SignalTimeUp(object)
+ IL_0035: newobj instance void [mscorlib]System.Threading.TimerCallback::.ctor(object,
+ native int)
+ IL_003a: ldnull
+ IL_003b: ldc.i4 0x2710
+ IL_0040: ldc.i4.m1
+ IL_0041: newobj instance void [mscorlib]System.Threading.Timer::.ctor(class [mscorlib]System.Threading.TimerCallback,
+ object,
+ int32,
+ int32)
+ IL_0046: stloc.2
+ IL_0047: ldloc.1
+ IL_0048: callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ IL_004d: nop
+
+ ldloc V_flip
+ callvirt instance void [mscorlib]System.Threading.Thread::Join()
+ nop
+
+ IL_004e: ldstr "Test SUCCESS"
+ IL_0053: call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ IL_0059: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 cs1::s_Zero
+ IL_0006: ldc.i4.0
+ IL_0007: stsfld int32 cs1::s_i
+ IL_000c: newobj instance void cs1::.ctor()
+ IL_0011: stsfld class cs1 cs1::s_obj
+ IL_0016: ldc.i4.0
+ IL_0017: stsfld bool cs1::s_timeUp
+ IL_001c: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.ilproj
new file mode 100644
index 0000000000..95b38c4c7a
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b426654/b426654.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b426654.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.il
new file mode 100644
index 0000000000..e8d2293227
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.il
@@ -0,0 +1,148 @@
+
+
+.module extern user32.dll
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:5000:0
+}
+.assembly LdfldEnum
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 02 00 00 ) .custom instance void [mscorlib]System.Security.SecurityTransparentAttribute::.ctor() = ( 01 00 00 00 )
+ .permissionset reqrefuse = (3C 00 50 00 65 00 72 00 6D 00 69 00 73 00 73 00
+ 69 00 6F 00 6E 00 53 00 65 00 74 00 20 00 63 00
+ 6C 00 61 00 73 00 73 00 3D 00 22 00 53 00 79 00
+ 73 00 74 00 65 00 6D 00 2E 00 53 00 65 00 63 00
+ 75 00 72 00 69 00 74 00 79 00 2E 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 53 00 65 00 74 00 22 00 0D 00 0A 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 76 00 65 00 72 00
+ 73 00 69 00 6F 00 6E 00 3D 00 22 00 31 00 22 00
+ 3E 00 0D 00 0A 00 20 00 20 00 20 00 3C 00 49 00
+ 50 00 65 00 72 00 6D 00 69 00 73 00 73 00 69 00
+ 6F 00 6E 00 20 00 63 00 6C 00 61 00 73 00 73 00
+ 3D 00 22 00 53 00 79 00 73 00 74 00 65 00 6D 00
+ 2E 00 53 00 65 00 63 00 75 00 72 00 69 00 74 00
+ 79 00 2E 00 50 00 65 00 72 00 6D 00 69 00 73 00
+ 73 00 69 00 6F 00 6E 00 73 00 2E 00 53 00 65 00
+ 63 00 75 00 72 00 69 00 74 00 79 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 2C 00 20 00 6D 00 73 00 63 00 6F 00 72 00 6C 00
+ 69 00 62 00 2C 00 20 00 56 00 65 00 72 00 73 00
+ 69 00 6F 00 6E 00 3D 00 31 00 2E 00 30 00 2E 00
+ 35 00 30 00 30 00 30 00 2E 00 30 00 2C 00 20 00
+ 43 00 75 00 6C 00 74 00 75 00 72 00 65 00 3D 00
+ 6E 00 65 00 75 00 74 00 72 00 61 00 6C 00 2C 00
+ 20 00 50 00 75 00 62 00 6C 00 69 00 63 00 4B 00
+ 65 00 79 00 54 00 6F 00 6B 00 65 00 6E 00 3D 00
+ 62 00 37 00 37 00 61 00 35 00 63 00 35 00 36 00
+ 31 00 39 00 33 00 34 00 65 00 30 00 38 00 39 00
+ 22 00 0D 00 0A 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 76 00 65 00 72 00 73 00 69 00
+ 6F 00 6E 00 3D 00 22 00 31 00 22 00 0D 00 0A 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
+ 46 00 6C 00 61 00 67 00 73 00 3D 00 22 00 53 00
+ 6B 00 69 00 70 00 56 00 65 00 72 00 69 00 66 00
+ 69 00 63 00 61 00 74 00 69 00 6F 00 6E 00 22 00
+ 2F 00 3E 00 0D 00 0A 00 3C 00 2F 00 50 00 65 00
+ 72 00 6D 00 69 00 73 00 73 00 69 00 6F 00 6E 00
+ 53 00 65 00 74 00 3E 00 0D 00 0A 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module LdfldEnum.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+.class public auto ansi sealed MyEnum
+ extends [mscorlib]System.Enum
+{
+}
+
+.class public auto ansi beforefieldinit cs1
+ extends [mscorlib]System.Object
+{
+}
+
+
+
+
+
+
+
+
+
+.class public auto ansi sealed MyEnum
+ extends [mscorlib]System.Enum
+{
+ .field public specialname rtspecialname int32 value__
+}
+
+.class public auto ansi beforefieldinit cs1
+ extends [mscorlib]System.Object
+{
+ .field private static literal int32 DEFAULT_PE_FILE_BASE_ADDRESS = int32(0x00400000)
+ .method public hidebysig static pinvokeimpl("user32.dll" winapi)
+ int32 MessageBox(native int hWnd,
+ string lpText,
+ string lpCaption,
+ int32 uType) cil managed preservesig
+ {
+ }
+ .method public hidebysig static int32 Main(string[] args) cil managed noinlining
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (valuetype MyEnum V_0)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: ldc.i4 0x400000
+ IL_0007: stloc.0
+ IL_0008: ldloc.0
+ ldfld int32 valuetype MyEnum::value__
+ IL_0009: call void [System.Console]System.Console::WriteLine(int32)
+
+ leave FAILURE
+ CATCHVERIFICATION:
+ leave SUCCESS
+
+ FAILURE:
+ ldstr "Test FAILURE"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 101
+ ret
+
+ SUCCESS:
+ ldstr "Test SUCCESS"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+
+ .try IL_0000 to CATCHVERIFICATION
+ catch [mscorlib]System.Security.VerificationException
+ handler CATCHVERIFICATION to FAILURE
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.ilproj
new file mode 100644
index 0000000000..9489cb1bb2
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b431011/b431011.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b431011.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.il
new file mode 100644
index 0000000000..7f5d2ba249
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.il
@@ -0,0 +1,485 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly b441487
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module b441487.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public auto ansi beforefieldinit Test.FooException`1<T>
+ extends [mscorlib]System.Exception
+{
+ .method public hidebysig specialname virtual
+ instance string get_Message() cil managed
+ {
+ .maxstack 2
+ .locals init (string V_0)
+ IL_0000: nop
+ IL_0001: ldstr "hello from {0}"
+ldnull
+starg 0
+
+ IL_0006: ldtoken !T
+ IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0010: call string [mscorlib]System.String::Format(string,
+ object)
+ IL_0015: stloc.0
+ IL_0016: br.s IL_0018
+
+ IL_0018: ldloc.0
+ IL_0019: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Exception::.ctor()
+ IL_0006: ret
+ }
+
+ .property instance string Message()
+ {
+ .get instance string Test.FooException`1::get_Message()
+ }
+}
+
+.class public auto ansi beforefieldinit Test.Widget`1<T>
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig instance void
+ Foo() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldstr "Foo"
+ IL_0006: call void [System.Console]System.Console::WriteLine(string)
+ IL_000b: nop
+ldnull
+starg 0
+
+ IL_000c: call void class Test.Widget`1<!T>::Hello()
+ IL_0011: nop
+ IL_0012: ret
+ }
+
+ .method public hidebysig static void Hello() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldstr "hello from {0}"
+ IL_0006: ldtoken !T
+ IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0010: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0015: nop
+ IL_0016: ret
+ }
+
+ .method public hidebysig instance void
+ CatchMe() cil managed noinlining
+ {
+ .maxstack 1
+ .locals init (class Test.FooException`1<!T> V_0)
+ IL_0000: nop
+ IL_0001: ldstr "CatchMe"
+ IL_0006: call void [System.Console]System.Console::WriteLine(string)
+ IL_000b: nop
+ldnull
+starg 0
+ .try
+ {
+ IL_000c: nop
+ IL_000d: newobj instance void class Test.FooException`1<!T>::.ctor()
+ IL_0012: throw
+
+ }
+ catch class Test.FooException`1<!T>
+ {
+ IL_0013: stloc.0
+ IL_0014: nop
+ IL_0015: ldloc.0
+ IL_0016: call void [System.Console]System.Console::WriteLine(object)
+ IL_001b: nop
+ IL_001c: nop
+ IL_001d: leave.s IL_001f
+
+ }
+ IL_001f: nop
+ IL_0020: ret
+ }
+
+ .method public hidebysig instance void
+ SyncIt() cil managed synchronized noinlining
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldstr "SyncIt"
+ IL_0006: call void [System.Console]System.Console::WriteLine(string)
+ IL_000b: nop
+ldnull
+starg 0
+ IL_000c: call void class Test.Widget`1<!T>::Hello()
+ IL_0011: nop
+ IL_0012: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit Test.Turtle`1<.ctor T>
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig instance void
+ Foo() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (!T V_0,
+ !T V_1)
+ldnull
+starg 0
+ IL_0000: nop
+ IL_0001: ldloca.s V_1
+ IL_0003: initobj !T
+ IL_0009: ldloc.1
+ IL_000a: box !T
+ IL_000f: brfalse.s IL_001c
+
+ IL_0011: ldloca.s V_1
+ IL_0013: initobj !T
+ IL_0019: ldloc.1
+ IL_001a: br.s IL_0021
+
+ IL_001c: call !!0 [mscorlib]System.Activator::CreateInstance<!T>()
+ IL_0021: stloc.0
+ IL_0022: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi Test.Schyzofrenic`1<T>
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldtoken !T
+ IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000b: call void [System.Console]System.Console::WriteLine(object)
+ IL_0010: nop
+ IL_0011: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public abstract auto ansi sealed beforefieldinit Test.Program
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0,
+ int32 V_1,
+ bool V_2)
+ IL_0000: nop
+ IL_0001: ldc.i4.0
+ IL_0002: stloc.0
+ IL_0003: ldloc.0
+ IL_0004: call int32 Test.Program::RunTests<string>()
+ IL_0009: add
+ IL_000a: stloc.0
+ IL_000b: ldloc.0
+ IL_000c: call int32 Test.Program::RunTests<int32>()
+ IL_0011: add
+ IL_0012: stloc.0
+ IL_0013: ldloc.0
+ IL_0014: call int32 Test.Program::RunTests<object>()
+ IL_0019: add
+ IL_001a: stloc.0
+ IL_001b: ldloc.0
+ IL_001c: call int32 Test.Program::RunTurtle<object>()
+ IL_0021: add
+ IL_0022: stloc.0
+ IL_0023: ldloc.0
+ IL_0024: call int32 Test.Program::RunSchyzofrenic()
+ IL_0029: add
+ IL_002a: stloc.0
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.0
+ IL_002d: ceq
+ IL_002f: stloc.2
+ IL_0030: ldloc.2
+ IL_0031: brtrue.s IL_0044
+
+ IL_0033: nop
+ IL_0034: ldstr "Test FAILED"
+ IL_0039: call void [System.Console]System.Console::WriteLine(string)
+ IL_003e: nop
+ IL_003f: ldc.i4.s 101
+ IL_0041: stloc.1
+ IL_0042: br.s IL_0055
+
+ IL_0044: nop
+ IL_0045: ldstr "Test SUCCESS"
+ IL_004a: call void [System.Console]System.Console::WriteLine(string)
+ IL_004f: nop
+ IL_0050: ldc.i4.s 100
+ IL_0052: stloc.1
+ IL_0053: br.s IL_0055
+
+ IL_0055: ldloc.1
+ IL_0056: ret
+ }
+
+ .method private hidebysig static int32
+ RunSchyzofrenic() cil managed noinlining
+ {
+ .maxstack 1
+ .locals init (class Test.Schyzofrenic`1<string> V_0,
+ int32 V_1)
+ IL_0000: nop
+ IL_0001: ldstr "Running Schyzofrenic<string>()"
+ IL_0006: call void [System.Console]System.Console::WriteLine(string)
+ IL_000b: nop
+ IL_000c: newobj instance void class Test.Schyzofrenic`1<string>::.ctor()
+ IL_0011: stloc.0
+ IL_0012: ldc.i4.0
+ IL_0013: stloc.1
+ IL_0014: br.s IL_0016
+
+ IL_0016: ldloc.1
+ IL_0017: ret
+ }
+
+ .method private hidebysig static int32
+ RunTurtle<.ctor T>() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.NullReferenceException V_1,
+ int32 V_2)
+ IL_0000: nop
+ IL_0001: ldstr "Running turtle for {0}"
+ IL_0006: ldtoken !!T
+ IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0010: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0015: nop
+ IL_0016: ldc.i4.0
+ IL_0017: stloc.0
+ .try
+ {
+ IL_0018: nop
+ IL_0019: newobj instance void class Test.Turtle`1<!!T>::.ctor()
+ IL_001e: call instance void class Test.Turtle`1<!!T>::Foo()
+ IL_0023: nop
+ IL_0024: nop
+ IL_0025: leave.s IL_004c
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ IL_0027: stloc.1
+ IL_0028: nop
+ IL_0029: ldstr "Turtle<{0}>.Foo() failed"
+ IL_002e: ldtoken !!T
+ IL_0033: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0038: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_003d: nop
+ IL_003e: ldloc.1
+ IL_003f: call void [System.Console]System.Console::WriteLine(object)
+ IL_0044: nop
+ IL_0045: ldloc.0
+ IL_0046: ldc.i4.1
+ IL_0047: add
+ IL_0048: stloc.0
+ IL_0049: nop
+ IL_004a: leave.s IL_004c
+
+ }
+ IL_004c: nop
+ IL_004d: ldloc.0
+ IL_004e: stloc.2
+ IL_004f: br.s IL_0051
+
+ IL_0051: ldloc.2
+ IL_0052: ret
+ }
+
+ .method private hidebysig static int32
+ RunTests<T>() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0,
+ class [mscorlib]System.NullReferenceException V_1,
+ int32 V_2)
+ IL_0000: nop
+ IL_0001: ldstr "Running tests for {0}"
+ IL_0006: ldtoken !!T
+ IL_000b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0010: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0015: nop
+ IL_0016: ldc.i4.0
+ IL_0017: stloc.0
+ .try
+ {
+ IL_0018: nop
+ IL_0019: newobj instance void class Test.Widget`1<!!T>::.ctor()
+ IL_001e: call instance void class Test.Widget`1<!!T>::Foo()
+ IL_0023: nop
+ IL_0024: nop
+ IL_0025: leave.s IL_004c
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ IL_0027: stloc.1
+ IL_0028: nop
+ IL_0029: ldstr "Widget<{0}>.Foo() failed"
+ IL_002e: ldtoken !!T
+ IL_0033: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0038: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_003d: nop
+ IL_003e: ldloc.1
+ IL_003f: call void [System.Console]System.Console::WriteLine(object)
+ IL_0044: nop
+ IL_0045: ldloc.0
+ IL_0046: ldc.i4.1
+ IL_0047: add
+ IL_0048: stloc.0
+ IL_0049: nop
+ IL_004a: leave.s IL_004c
+
+ }
+ IL_004c: nop
+ .try
+ {
+ IL_004d: nop
+ IL_004e: newobj instance void class Test.Widget`1<!!T>::.ctor()
+ IL_0053: call instance void class Test.Widget`1<!!T>::CatchMe()
+ IL_0058: nop
+ IL_0059: nop
+ IL_005a: leave.s IL_0081
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ IL_005c: stloc.1
+ IL_005d: nop
+ IL_005e: ldstr "Widget<{0}>.CatchMe() failed"
+ IL_0063: ldtoken !!T
+ IL_0068: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_006d: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0072: nop
+ IL_0073: ldloc.1
+ IL_0074: call void [System.Console]System.Console::WriteLine(object)
+ IL_0079: nop
+ IL_007a: ldloc.0
+ IL_007b: ldc.i4.1
+ IL_007c: add
+ IL_007d: stloc.0
+ IL_007e: nop
+ IL_007f: leave.s IL_0081
+
+ }
+ IL_0081: nop
+ .try
+ {
+ IL_0082: nop
+ IL_0083: newobj instance void class Test.Widget`1<!!T>::.ctor()
+ IL_0088: call instance void class Test.Widget`1<!!T>::SyncIt()
+ IL_008d: nop
+ IL_008e: nop
+ IL_008f: leave.s IL_00b6
+
+ }
+ catch [mscorlib]System.NullReferenceException
+ {
+ IL_0091: stloc.1
+ IL_0092: nop
+ IL_0093: ldstr "Widget<{0}>.SyncIt() failed"
+ IL_0098: ldtoken !!T
+ IL_009d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_00a2: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00a7: nop
+ IL_00a8: ldloc.1
+ IL_00a9: call void [System.Console]System.Console::WriteLine(object)
+ IL_00ae: nop
+ IL_00af: ldloc.0
+ IL_00b0: ldc.i4.1
+ IL_00b1: add
+ IL_00b2: stloc.0
+ IL_00b3: nop
+ IL_00b4: leave.s IL_00b6
+
+ }
+ IL_00b6: nop
+ IL_00b7: ldloc.0
+ IL_00b8: stloc.2
+ IL_00b9: br.s IL_00bb
+
+ IL_00bb: ldloc.2
+ IL_00bc: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.ilproj
new file mode 100644
index 0000000000..c88c6ec118
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b441487/b441487.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b441487.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.il
new file mode 100644
index 0000000000..ed697f8f62
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.il
@@ -0,0 +1,704 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int32 fld0
+ .field private static int64 fld1
+ .field private static int64 fld2
+ .field private static int64 fld3
+ .field private static int32 fld4
+ .field private static int64 fld5
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 195527541
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 282825993
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_jmp()
+ {
+ jmp int32 EHTest::GetInt32()
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_jmp()
+ {
+ jmp int64 EHTest::GetInt64()
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+
+.method public static int32 f1(int32 arg0,int64 arg1,int64 arg2,int32 arg3) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int32 V_3,
+ int64 V_4)
+br start_try1
+start_try1:
+call void EHTest::f2()
+try1_out:
+newobj instance void [mscorlib]System.MulticastNotSupportedException::.ctor()
+throw
+end_try1:
+
+start_catch1:
+catch1_out:
+rethrow
+end_catch1:
+
+
+start_catch2:
+pop
+br catch2_br
+start_catch3:
+pop
+br catch3_br
+start_finally1:
+call void EHTest::f2()
+finally1_out: endfinally
+end_finally1:
+
+
+catch3_br:
+start_try3:
+try3_out:
+leave catch3_out
+end_try3:
+
+catch3_out:
+nop
+ TARGET_4_0:
+ ldarg.0
+ ldc.i4 98
+ beq TARGET_4_0
+ TARGET_4_1:
+ ldsfld int32 EHTest::fld4
+ ldsfld int32 EHTest::fld0
+ starg.s arg3
+ ldc.i4 62
+ bge.un TARGET_4_4
+ TARGET_4_2:
+ ldc.i4 86
+ stloc.2
+ ldsfld int32 EHTest::fld0
+ ldc.i4 65
+ stsfld int32 EHTest::fld0
+ ldc.i4 43
+ stsfld int32 EHTest::fld0
+ ldc.i4 10
+ starg.s arg0
+ ldc.i4 33
+ blt.un TARGET_4_4
+ TARGET_4_3:
+ ldc.i4 59
+ ldc.i4 5
+ shr
+ starg.s arg0
+ ldc.i4 81
+ stsfld int32 EHTest::fld4
+ ldc.i4 34
+ ldc.i4 119
+ stsfld int32 EHTest::fld4
+ ldc.i4 93
+ ceq
+ starg.s arg0
+ ldc.i4 36
+ ldc.i4 93
+ starg.s arg0
+ ldc.i4 23
+ ceq
+ conv.i4
+ ldc.i4 93
+ stsfld int32 EHTest::fld4
+ ldc.i4 24
+ bgt.un TARGET_4_0
+ TARGET_4_4:
+ ldarg.1
+ starg.s arg2
+ ldc.i8 23
+ ldc.i8 8
+ not
+ blt.un TARGET_4_3
+newobj instance void [mscorlib]System.TypeLoadException::.ctor()
+throw
+end_catch3:
+
+
+exception_filter1:
+pop
+ldc.i4.1
+endfilter
+start_filter1:
+pop
+br filter1_br
+start_catch4:
+catch4_out:
+nop
+ TARGET_5_0:
+ call int32 EHTest::GetInt32_jmp()
+ ldc.i4 117
+ ldc.i4 13
+ shr
+ box int32
+ unbox int32
+ ldind.i4
+ box int32
+ unbox int32
+ ldind.i4
+ ldc.i4 32
+ stsfld int32 EHTest::fld0
+ ldc.i4 44
+ ldc.i4 57
+ ldc.i4 21
+ ldc.i4 78
+ ldc.i4.1
+ ldc.i4 80
+ starg.s arg3
+ ldc.i4 126
+ ldc.i4 10
+ ldc.i4 105
+ stloc.3
+ ldc.i4 21
+ stsfld int32 EHTest::fld4
+ ldc.i4 91
+ ldc.i4 90
+ ldc.i4 25
+ ldc.i4 26
+ ldc.i4 87
+ ldc.i4 33
+ starg.s arg3
+ ldc.i4 77
+ ldc.i4 75
+ ldc.i4 39
+ newobj instance void int64[41...42,11...16,96...113,103...105,108...118,39...53,37...38,115...127,53...90,103...126,13...14,41...86,70...126,115...120,29...113,83...125,79...91]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 110
+ ldc.i4 78
+ stsfld int32 EHTest::fld4
+ ldc.i4 72
+ ldc.i4 103
+ ldc.i4.8
+ stloc.2
+ ldc.i4.1
+ ldc.i4 32
+ stloc.0
+ ldc.i4 46
+ ldc.i4.5
+ ldc.i4 122
+ ldc.i4 62
+ stsfld int32 EHTest::fld4
+ ldc.i4 21
+ ldc.i4 92
+ ldc.i4 15
+ starg.s arg0
+ ldc.i4 75
+ ldc.i4 86
+ ldc.i4 14
+ ldc.i4 57
+ ldc.i4 27
+ ldc.i4 41
+ ldc.i4 35
+ ldc.i4 41
+ stsfld int32 EHTest::fld4
+ ldc.i4 61
+ call instance int64 int64[41...42,11...16,96...113,103...105,108...118,39...53,37...38,115...127,53...90,103...126,13...14,41...86,70...126,115...120,29...113,83...125,79...91]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 2
+ stloc.1
+ ldc.i8 46
+ starg.s arg1
+ ldc.i8 83
+ starg.s arg1
+ ldc.i8 8
+ starg.s arg1
+ ldc.i8 39
+ starg.s arg1
+ ldc.i8 69
+ ldc.i8 102
+ starg.s arg1
+ ldc.i8 127
+ rem
+ ldc.i8 34
+ rem
+ neg
+ beq TARGET_5_2
+ TARGET_5_1:
+ ldc.i8 36
+ ldarg.1
+ ldc.i8 55
+ div
+ ldc.i8 59
+ add
+ stloc.1
+ ldc.i8 123
+ blt.un TARGET_5_0
+ TARGET_5_2:
+ sizeof [mscorlib]System.UIntPtr
+ ldc.i4 120
+ ldc.i4 126
+ sub
+ add
+ ldc.i4 106
+ clt
+ ldc.i4 92
+ bge TARGET_5_2
+ TARGET_5_3:
+ ldarga arg1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldloca 3
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ ldc.i4 127
+ starg.s arg3
+ ldc.i4 118
+ clt
+ ldc.i4 99
+ div
+ neg
+ starg.s arg0
+ ldc.i4 96
+ starg.s arg3
+ ldc.i4 119
+ ldc.i4 110
+ stloc.3
+ ldc.i4 99
+ stloc.3
+ ldc.i4 95
+ ldc.i4 58
+ ldc.i4 34
+ ldc.i4 62
+ ldc.i4.6
+ ldc.i4 45
+ ldc.i4 125
+ ldc.i4 32
+ ldc.i4 48
+ ldc.i4 116
+ stsfld int32 EHTest::fld0
+ ldc.i4 34
+ ldc.i4 107
+ ldc.i4 95
+ ldc.i4 121
+ ldc.i4 11
+ starg.s arg3
+ ldc.i4 44
+ ldc.i4 119
+ ldc.i4 76
+ ldc.i4 106
+ ldc.i4 13
+ ldc.i4 89
+ newobj instance void int64[38...95,116...118,88...116,59...65,5...120,16...67,10...85,41...95,112...115,14...18,18...19,4...62,107...118,43...121,123...125,32...112,2...46,94...101,51...127,89...91]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 38
+ ldc.i4 33
+ ldc.i4 39
+ stloc.2
+ ldc.i4 126
+ ldc.i4.8
+ ldc.i4 90
+ ldc.i4 36
+ stloc.0
+ ldc.i4.4
+ stloc.2
+ ldc.i4 64
+ stloc.2
+ ldc.i4 37
+ stsfld int32 EHTest::fld0
+ ldc.i4 64
+ stsfld int32 EHTest::fld0
+ ldc.i4 13
+ ldc.i4 107
+ starg.s arg0
+ ldc.i4 88
+ ldc.i4 43
+ ldc.i4 98
+ ldc.i4 18
+ stloc.0
+ ldc.i4 68
+ ldc.i4 119
+ starg.s arg0
+ ldc.i4 123
+ starg.s arg0
+ ldc.i4 106
+ ldc.i4 126
+ ldc.i4 127
+ stloc.0
+ ldc.i4 106
+ ldc.i4 88
+ stsfld int32 EHTest::fld0
+ ldc.i4.3
+ ldc.i4 93
+ ldc.i4.0
+ ldc.i4 21
+ ldc.i4 24
+ ldc.i4 56
+ ldc.i4 58
+ call instance int64 int64[38...95,116...118,88...116,59...65,5...120,16...67,10...85,41...95,112...115,14...18,18...19,4...62,107...118,43...121,123...125,32...112,2...46,94...101,51...127,89...91]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 127
+ mul
+ starg.s arg2
+ ldc.i8 71
+ starg.s arg2
+ ldc.i8 123
+ starg.s arg1
+ ldc.i8 30
+ stsfld int64 EHTest::fld3
+ ldc.i8 38
+ bgt.un TARGET_5_4
+ TARGET_5_4:
+ ldc.i4 115
+ ldftn int32 EHTest::GetInt32()
+ calli int32 ()
+ starg.s arg3
+ ldc.i4 54
+ stloc.3
+ ldc.i4 113
+ bgt TARGET_5_0
+rethrow
+end_catch4:
+
+
+start_catch5:
+pop
+catch5_out:
+call void EHTest::f2()
+newobj instance void [mscorlib]System.InvalidCastException::.ctor()
+throw
+end_catch5:
+
+
+start_catch6:
+pop
+catch6_out:
+call void EHTest::f2()
+leave filter1_out
+end_catch6:
+
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+filter2_out: leave filter1_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.1
+endfilter
+start_filter3:
+pop
+nop
+ TARGET_6_0:
+ ldloc.0
+ ldc.i4 115
+ sub
+ newarr [mscorlib]System.Int32
+ ldc.i4.5
+ stsfld int32 EHTest::fld4
+ ldc.i4 59
+ ldelem.i4
+ ldc.i4 120
+ blt TARGET_6_0
+ TARGET_6_1:
+ ldarga arg3
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ ldc.i4 56
+ sub
+ ldc.i4 41
+ blt.un TARGET_6_1
+ TARGET_6_2:
+ ldc.i4 19
+ ldc.i4 97
+ ceq
+ ldc.i4 12
+ or
+ starg.s arg3
+ ldc.i4 79
+ neg
+ ldc.i4.2
+ blt TARGET_6_0
+ TARGET_6_3:
+ call int32 EHTest::GetInt32()
+ ldloc.0
+ ldc.i4.5
+ neg
+ ldc.i4 49
+ starg.s arg3
+ ldc.i4 63
+ ldc.i4 28
+ stsfld int32 EHTest::fld0
+ ldc.i4 20
+ starg.s arg3
+ ldc.i4 47
+ starg.s arg0
+ ldc.i4 44
+ stsfld int32 EHTest::fld0
+ ldc.i4 116
+ stsfld int32 EHTest::fld0
+ ldc.i4 62
+ stsfld int32 EHTest::fld0
+ ldc.i4 93
+ stloc.0
+ ldc.i4 27
+ ldc.i4 78
+ starg.s arg0
+ ldc.i4 67
+ ldc.i4 58
+ ldc.i4 79
+ stloc.3
+ ldc.i4 28
+ ldc.i4 24
+ stloc.0
+ ldc.i4 55
+ ldc.i4 84
+ ldc.i4 79
+ ldc.i4 9
+ ldc.i4 49
+ starg.s arg3
+ ldc.i4 96
+ ldc.i4 96
+ ldc.i4.5
+ ldc.i4.5
+ stsfld int32 EHTest::fld0
+ ldc.i4 31
+ ldc.i4 61
+ ldc.i4 31
+ ldc.i4 81
+ ldc.i4 74
+ ldc.i4 122
+ stsfld int32 EHTest::fld0
+ ldc.i4 100
+ ldc.i4 18
+ ldc.i4 50
+ newobj instance void int64[117,77,75,30,9,40,113,19,116,109,101,59,102,91,49,62,22,104,47,127,90,11,11]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 127
+ starg.s arg3
+ ldc.i4 113
+ stloc.2
+ ldc.i4 95
+ starg.s arg0
+ ldc.i4 126
+ ldc.i4 37
+ ldc.i4 53
+ ldc.i4 12
+ stloc.0
+ ldc.i4 95
+ ldc.i4 84
+ ldc.i4 68
+ ldc.i4 29
+ ldc.i4 51
+ stsfld int32 EHTest::fld0
+ ldc.i4 126
+ starg.s arg0
+ ldc.i4 49
+ starg.s arg3
+ ldc.i4 73
+ ldc.i4 39
+ starg.s arg0
+ ldc.i4 112
+ starg.s arg0
+ ldc.i4 116
+ ldc.i4 97
+ ldc.i4.8
+ ldc.i4 91
+ stloc.0
+ ldc.i4 84
+ ldc.i4 42
+ ldc.i4 37
+ ldc.i4 94
+ stsfld int32 EHTest::fld4
+ ldc.i4 109
+ stloc.3
+ ldc.i4 121
+ ldc.i4 50
+ ldc.i4 74
+ ldc.i4 85
+ ldc.i4.3
+ ldc.i4 45
+ ldc.i4 53
+ starg.s arg0
+ ldc.i4 122
+ ldc.i4 9
+ ldc.i4 93
+ stloc.0
+ ldc.i4 33
+ stsfld int32 EHTest::fld4
+ ldc.i4 106
+ stloc.0
+ ldc.i4 28
+ call instance int64 int64[117,77,75,30,9,40,113,19,116,109,101,59,102,91,49,62,22,104,47,127,90,11,11]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 74
+ starg.s arg1
+ ldc.i8 69
+ xor
+ ldc.i8 18
+ rem
+ ldc.i8 12
+ bgt.un TARGET_6_2
+ TARGET_6_4:
+ ldsflda int32 EHTest::fld4
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ stloc.3
+ ldc.i4 120
+ stsfld int32 EHTest::fld4
+ ldc.i4 76
+ ldc.i4 57
+ add
+ stloc.3
+ ldc.i4 76
+ ldc.i4 43
+ beq TARGET_6_2
+filter3_out: leave filter1_out
+end_filter3:
+
+filter1_br:
+start_try4:
+try4_out:
+leave filter1_out
+end_try4:
+
+exception_filter4:
+pop
+ldc.i4.0
+endfilter
+start_filter4:
+pop
+call void EHTest::f2()
+filter4_out: leave filter1_out
+end_filter4:
+
+filter1_out: leave catch2_out
+end_filter1:
+
+exception_filter5:
+pop
+ldc.i4.1
+endfilter
+start_filter5:
+pop
+filter5_out: leave catch2_out
+end_filter5:
+
+exception_filter6:
+pop
+ldc.i4.1
+endfilter
+start_filter6:
+pop
+call void EHTest::f2()
+filter6_out: leave catch2_out
+end_filter6:
+
+catch2_br:
+start_try2:
+try2_out:
+leave catch2_out
+end_try2:
+
+catch2_out:
+leave OUT0
+end_catch2:
+
+
+start_catch7:
+pop
+catch7_out:
+newobj instance void [mscorlib]System.FieldAccessException::.ctor()
+throw
+end_catch7:
+
+OUT:
+ ldc.i4 18
+ stsfld int32 EHTest::fld0
+ ldc.i4 33
+ starg.s arg3
+ ldc.i4 105
+ret
+OUT0:
+leave OUT
+.try start_try4 to end_try4 catch [mscorlib]System.TypeLoadException handler start_catch4 to end_catch4
+.try start_try4 to end_try4 catch [mscorlib]System.TypeUnloadedException handler start_catch5 to end_catch5
+.try start_try4 to end_try4 catch [mscorlib]System.InvalidCastException handler start_catch6 to end_catch6
+.try start_try4 to end_try4 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try4 to end_try4 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try4 to end_try4 filter exception_filter4 handler start_filter4 to end_filter4
+.try start_try3 to end_try3 finally handler start_finally1 to end_finally1
+.try start_try2 to end_try2 catch [mscorlib]System.NotFiniteNumberException handler start_catch3 to end_catch3
+.try start_try2 to end_try2 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try2 to end_try2 filter exception_filter5 handler start_filter5 to end_filter5
+.try start_try2 to end_try2 filter exception_filter6 handler start_filter6 to end_filter6
+.try start_try1 to end_try1 catch [mscorlib]System.MulticastNotSupportedException handler start_catch1 to end_catch1
+.try start_try1 to end_try1 catch [mscorlib]System.OutOfMemoryException handler start_catch2 to end_catch2
+.try start_try1 to end_try1 catch [mscorlib]System.Exception handler start_catch7 to end_catch7
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3)
+.try
+{
+ ldc.i4 73
+ stloc.0
+ ldc.i4 94
+ ldc.i4 111
+ conv.i8
+ ldc.i8 46
+ stloc.1
+ ldc.i8 20
+ stsfld int64 EHTest::fld3
+ ldc.i8 92
+ stsfld int64 EHTest::fld2
+ ldc.i8 84
+ ldc.i4 122
+call int32 EHTest::f1(int32 ,int64 ,int64 ,int32 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.ilproj
new file mode 100644
index 0000000000..aa0f910ea6
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487364/b487364.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b487364.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.il
new file mode 100644
index 0000000000..b6fa4e6425
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.il
@@ -0,0 +1,373 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int64 fld0
+ .field private static int32 fld1
+ .field private static int32 fld2
+ .field private static int32 fld3
+ .field private static int32 fld4
+
+.method public static int64 f1(int32 arg0,int64 arg1,int64 arg2,int32 arg3,int32 arg4) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int32 V_3)
+br start_try1
+start_try1:
+br try1_br
+try1_br:
+start_try2:
+try2_out:
+leave try1_out
+end_try2:
+
+start_fault1:
+call void EHTest::f2()
+fault1_out: endfault
+end_fault1:
+
+
+nop
+ TARGET_2_0:
+ ldc.i8 114
+ starg.s arg2
+ ldsfld int64 EHTest::fld0
+ stsfld int64 EHTest::fld0
+ ldsflda int64 EHTest::fld0
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ stloc.1
+ ldc.i8 17
+ stloc.1
+ ldc.i8 74
+ ldc.i8 58
+ ceq
+ newarr [mscorlib]System.Int64
+ sizeof native int
+ ldelem.i8
+ ldc.i8 33
+ blt.un TARGET_2_1
+ TARGET_2_1:
+ ldc.i4 74
+ ldc.i4 29
+ cgt
+ starg.s arg3
+ ldc.i4 57
+ stsfld int32 EHTest::fld4
+ ldc.i4 107
+ ldc.i4 97
+ cgt
+ starg.s arg0
+ ldc.i4 60
+ ldc.i4 42
+ starg.s arg0
+ ldc.i4 70
+ beq TARGET_2_3
+ TARGET_2_2:
+ ldc.i4 76
+ starg.s arg3
+ ldc.i4 122
+ ldc.i4.1
+ stsfld int32 EHTest::fld3
+ ldc.i4 20
+ stsfld int32 EHTest::fld4
+ ldc.i4 67
+ ldc.i4 117
+ starg.s arg3
+ ldc.i4 99
+ ldc.i4 47
+ ldc.i4 121
+ ldc.i4 16
+ ldc.i4 101
+ ldc.i4 85
+ ldc.i4 77
+ stloc.3
+ ldc.i4 78
+ ldc.i4 121
+ ldc.i4 24
+ ldc.i4 31
+ stsfld int32 EHTest::fld4
+ ldc.i4 19
+ stsfld int32 EHTest::fld2
+ ldc.i4 57
+ stsfld int32 EHTest::fld4
+ ldc.i4 112
+ stsfld int32 EHTest::fld2
+ ldc.i4 55
+ ldc.i4.8
+ ldc.i4 15
+ ldc.i4 39
+ ldc.i4 58
+ ldc.i4 113
+ stloc.2
+ ldc.i4 102
+ stsfld int32 EHTest::fld1
+ ldc.i4 48
+ ldc.i4 78
+ ldc.i4 106
+ ldc.i4.2
+ ldc.i4 124
+ starg.s arg4
+ ldc.i4 73
+ ldc.i4 83
+ ldc.i4 59
+ ldc.i4 63
+ stloc.2
+ ldc.i4 63
+ ldc.i4 115
+ ldc.i4 105
+ ldc.i4 64
+ newobj instance void int32[86...,75...,82...,49...,7...,69...,6...,82...,17...,32...,100...,52...,21...,117...,41...,4...,32...,124...,7...,17...,48...,46...,20...,108...,116...,53...,125...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 17
+ ldc.i4 18
+ ldc.i4 109
+ ldc.i4 116
+ ldc.i4 89
+ ldc.i4.5
+ ldc.i4.2
+ starg.s arg3
+ ldc.i4.6
+ starg.s arg0
+ ldc.i4 33
+ ldc.i4 55
+ stloc.3
+ ldc.i4 98
+ ldc.i4 101
+ stloc.3
+ ldc.i4 51
+ ldc.i4 27
+ ldc.i4 79
+ starg.s arg3
+ ldc.i4 40
+ ldc.i4 53
+ ldc.i4 32
+ stsfld int32 EHTest::fld4
+ ldc.i4 22
+ ldc.i4 127
+ ldc.i4 109
+ starg.s arg4
+ ldc.i4.4
+ stsfld int32 EHTest::fld3
+ ldc.i4 122
+ stloc.2
+ ldc.i4 41
+ ldc.i4 23
+ ldc.i4 53
+ ldc.i4 21
+ ldc.i4 112
+ ldc.i4 98
+ stsfld int32 EHTest::fld2
+ ldc.i4 21
+ stsfld int32 EHTest::fld2
+ ldc.i4 104
+ ldc.i4 29
+ ldc.i4 28
+ stsfld int32 EHTest::fld4
+ ldc.i4.7
+ stloc.0
+ ldc.i4 123
+ stsfld int32 EHTest::fld3
+ ldc.i4 89
+ ldc.i4 114
+ starg.s arg0
+ ldc.i4 19
+ stsfld int32 EHTest::fld4
+ ldc.i4 83
+ ldc.i4 125
+ ldc.i4 46
+ stloc.2
+ ldc.i4 118
+ ldc.i4 38
+ ldc.i4 106
+ call instance int32 int32[86...,75...,82...,49...,7...,69...,6...,82...,17...,32...,100...,52...,21...,117...,41...,4...,32...,124...,7...,17...,48...,46...,20...,108...,116...,53...,125...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ stloc.2
+ ldc.i4 33
+ ldc.i4 41
+ or
+ starg.s arg4
+ ldc.i4 30
+ ldc.i4 41
+ stloc.2
+ ldc.i4 94
+ or
+ ldc.i4 95
+ bge TARGET_2_4
+ TARGET_2_3:
+ ldloc.0
+ ldc.i4 23
+ stloc.0
+ ldc.i4 98
+ bgt.un TARGET_2_2
+ TARGET_2_4:
+ ldftn int32 EHTest::GetInt32_jmp()
+ calli int32 ()
+ neg
+ ldc.i4 70
+ starg.s arg4
+ ldc.i4 35
+ ble.un TARGET_2_4
+try1_out:
+newobj instance void [mscorlib]System.OverflowException::.ctor()
+throw
+end_try1:
+
+start_fault2:
+nop
+ TARGET_3_0:
+ ldloc.0
+ newarr [mscorlib]System.Int32
+ ldc.i4.1
+ ldelem.i4
+ stloc.0
+ ldc.i4 9
+ ldc.i4 55
+ clt
+ stsfld int32 EHTest::fld1
+ ldc.i4.0
+ starg.s arg4
+ ldc.i4 67
+ ldc.i4 38
+ beq TARGET_3_4
+ TARGET_3_1:
+ ldarg.1
+ ldc.i8 37
+ ceq
+ stloc.0
+ ldc.i4 16
+ stsfld int32 EHTest::fld2
+ ldc.i4 54
+ ldc.i4 89
+ starg.s arg3
+ ldc.i4 115
+ stloc.0
+ ldc.i4.3
+ mul
+ ldc.i4 60
+ bge.un TARGET_3_2
+ TARGET_3_2:
+ ldc.i4 96
+ ldc.i4 117
+ div
+ starg.s arg3
+ ldc.i4 21
+ stsfld int32 EHTest::fld3
+ ldc.i4 108
+ stsfld int32 EHTest::fld4
+ ldc.i4 86
+ neg
+ ldc.i4 10
+ or
+ ldc.i4 92
+ stsfld int32 EHTest::fld1
+ ldc.i4 122
+ beq TARGET_3_3
+ TARGET_3_3:
+ ldarg.3
+ stsfld int32 EHTest::fld3
+ ldc.i4 56
+ neg
+ stloc.0
+ ldc.i4 13
+ stsfld int32 EHTest::fld1
+ ldc.i4 94
+ ldc.i4.1
+ add
+ ldc.i4 124
+ stloc.0
+ ldc.i4 27
+ rem
+ ldc.i4 76
+ ble TARGET_3_4
+ TARGET_3_4:
+ ldsflda int64 EHTest::fld0
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ stsfld int64 EHTest::fld0
+ ldc.i8 127
+ ldc.i8 24
+ or
+ starg.s arg2
+ ldc.i8 31
+ stsfld int64 EHTest::fld0
+ ldc.i8 58
+ ldc.i8 34
+ sub
+ stloc.1
+ ldc.i8 122
+ starg.s arg2
+ ldc.i8 98
+ ldc.i8 67
+ starg.s arg1
+ ldc.i8 102
+ rem
+ ldc.i8 78
+ ble TARGET_3_1
+fault2_out: endfault
+end_fault2:
+
+OUT:
+ ldc.i8 70
+ret
+OUT0:
+leave OUT
+.try start_try2 to end_try2 fault handler start_fault1 to end_fault1
+.try start_try1 to end_try1 fault handler start_fault2 to end_fault2
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2)
+.try
+{
+ ldc.i4 109
+ box int32
+ unbox int32
+ ldind.i4
+ stloc.0
+ ldc.i4 57
+ ldc.i4.8
+ add
+ ldc.i8 69
+ ldc.i8 4
+ ldc.i4 67
+ stsfld int32 EHTest::fld3
+ ldc.i4 120
+ ldc.i4 112
+ stloc.0
+ ldc.i4 78
+call int64 EHTest::f1(int32 ,int64 ,int64 ,int32 ,int32 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.ilproj
new file mode 100644
index 0000000000..e505f72b20
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b487372/b487372.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b487372.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.il b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.il
new file mode 100644
index 0000000000..acf6734cd9
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.il
@@ -0,0 +1,1110 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern System {}
+.assembly EHTest {}
+.class public EHTest
+{
+ .field private static int32 fld0
+ .field private static int32 fld1
+ .field private static int64 fld2
+
+ .method public static int32 GetInt32()
+ {
+ ldc.i4 2131605038
+ ret
+ }
+ .method public static int64 GetInt64()
+ {
+ ldc.i4 665271698
+ conv.i8
+ ret
+ }
+ .method public static int32 GetInt32_jmp()
+ {
+ jmp int32 EHTest::GetInt32()
+ }
+ .method public static int32 GetInt32_tailcall()
+ {
+ tail. call int32 EHTest::GetInt32()
+ ret
+ }
+ .method public static int64 GetInt64_jmp()
+ {
+ jmp int64 EHTest::GetInt64()
+ }
+ .method public static int64 GetInt64_tailcall()
+ {
+ tail. call int64 EHTest::GetInt64()
+ ret
+ }
+.method public static int32 f0(int32 arg0,int64 arg1) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1)
+br start_try1
+start_catch1:
+catch1_out:
+call void EHTest::f2()
+rethrow
+end_catch1:
+
+
+start_try1:
+try1_out:
+leave OUT0
+end_try1:
+
+start_catch2:
+pop
+br catch2_br
+start_fault1:
+br fault1_br
+start_finally1:
+br finally1_br
+start_catch3:
+catch3_out:
+pop
+leave finally1_out
+end_catch3:
+
+
+exception_filter1:
+pop
+ldc.i4.0
+endfilter
+start_filter1:
+pop
+nop
+ TARGET_0_0:
+ ldc.i8 100
+ ldc.i8 54
+ stsfld int64 EHTest::fld2
+ ldsfld int64 EHTest::fld2
+ stsfld int64 EHTest::fld2
+ ldc.i8 120
+ ble.un TARGET_0_2
+ TARGET_0_1:
+ ldc.i8 11
+ stloc.1
+ ldloc.1
+ ldc.i8 127
+ stloc.1
+ ldc.i8 102
+ beq TARGET_0_1
+ TARGET_0_2:
+ call int64 EHTest::GetInt64_tailcall()
+ ldsfld int64 EHTest::fld2
+ box int64
+ unbox int64
+ ldind.i8
+ blt.un TARGET_0_1
+ TARGET_0_3:
+ ldftn int64 EHTest::GetInt64_jmp()
+ calli int64 ()
+ ldc.i4 31
+ stloc.0
+ ldc.i4 69
+ stloc.0
+ ldc.i4 23
+ conv.i4
+ ldc.i4 63
+ mul
+ newarr [mscorlib]System.Int64
+ ldc.i4 96
+ ldelem.i8
+ stsfld int64 EHTest::fld2
+ ldc.i8 83
+ or
+ ldc.i8 50
+ bgt.un TARGET_0_4
+ TARGET_0_4:
+ ldc.i4 51
+ stsfld int32 EHTest::fld1
+ ldsfld int32 EHTest::fld1
+ ldsflda int32 EHTest::fld1
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ blt.un TARGET_0_4
+filter1_out: leave finally1_out
+end_filter1:
+
+finally1_br:
+start_try4:
+call void EHTest::f2()
+try4_out:
+newobj instance void [mscorlib]System.EntryPointNotFoundException::.ctor()
+throw
+end_try4:
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+filter2_out: leave finally1_out
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.0
+endfilter
+start_filter3:
+pop
+filter3_out: leave finally1_out
+end_filter3:
+
+finally1_out: endfinally
+end_finally1:
+
+
+fault1_br:
+start_try3:
+call void EHTest::f2()
+try3_out:
+newobj instance void [mscorlib]System.OutOfMemoryException::.ctor()
+throw
+end_try3:
+
+nop
+ TARGET_1_0:
+ ldc.i4 80
+ stsfld int32 EHTest::fld1
+ ldc.i4 59
+ starg.s arg0
+ ldc.i4 43
+ ldc.i4 5
+ shr
+ ldc.i4 121
+ ldc.i4 57
+ ldc.i4.7
+ ldc.i4 49
+ ldc.i4 126
+ ldc.i4 102
+ ldc.i4 57
+ ldc.i4.4
+ ldc.i4.5
+ ldc.i4 92
+ starg.s arg0
+ ldc.i4 70
+ ldc.i4 30
+ newobj instance void int64[,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4.6
+ stsfld int32 EHTest::fld0
+ ldc.i4.8
+ stloc.0
+ ldc.i4.3
+ ldc.i4 92
+ ldc.i4 21
+ starg.s arg0
+ ldc.i4 96
+ starg.s arg0
+ ldc.i4 45
+ stsfld int32 EHTest::fld1
+ ldc.i4 92
+ ldc.i4 120
+ ldc.i4 35
+ ldc.i4 43
+ ldc.i4.4
+ ldc.i4 33
+ starg.s arg0
+ ldc.i4 36
+ stloc.0
+ ldc.i4 88
+ ldc.i4 17
+ ldc.i4 33
+ ldc.i4.5
+ ldc.i4 126
+ call instance int64 int64[,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 126
+ bge.un TARGET_1_2
+ TARGET_1_1:
+ ldc.i4.7
+ stsfld int32 EHTest::fld1
+ ldc.i4 43
+ not
+ stsfld int32 EHTest::fld1
+ ldc.i4 31
+ ldc.i4 53
+ mul
+ stloc.0
+ ldc.i4 19
+ ldc.i4 125
+ starg.s arg0
+ ldc.i4 50
+ add
+ newarr [mscorlib]System.Int64
+ ldc.i4 65
+ ldelem.i8
+ call int64 EHTest::GetInt64_jmp()
+ blt.un TARGET_1_1
+ TARGET_1_2:
+ ldloca 0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 125
+ ldc.i4 19
+ beq TARGET_1_0
+ TARGET_1_3:
+ ldc.i4 63
+ starg.s arg0
+ ldc.i4 38
+ ldc.i4 87
+ add
+ ldc.i4.6
+ bgt.un TARGET_1_1
+ TARGET_1_4:
+ ldc.i8 24
+ starg.s arg1
+ ldc.i8 1
+ ldc.i8 56
+ mul
+ box int64
+ unbox int64
+ ldind.i8
+ not
+ stloc.1
+ ldc.i8 106
+ ldc.i8 89
+ rem
+ ldc.i8 50
+ ble.un TARGET_1_0
+fault1_out: endfault
+end_fault1:
+
+
+catch2_br:
+start_try2:
+try2_out:
+newobj instance void [mscorlib]System.ArgumentException::.ctor()
+throw
+end_try2:
+
+catch2_out:
+leave OUT0
+end_catch2:
+
+
+start_catch4:
+pop
+catch4_out:
+nop
+ TARGET_2_0:
+ ldc.i4 26
+ box int32
+ unbox int32
+ ldind.i4
+ starg.s arg0
+ ldc.i4 66
+ ldc.i4 15
+ shl
+ ldc.i4 52
+ stloc.0
+ ldc.i4 123
+ starg.s arg0
+ ldc.i4 14
+ starg.s arg0
+ ldc.i4 125
+ mul
+ ldc.i4 108
+ stloc.0
+ ldc.i4 38
+ ble TARGET_2_4
+ TARGET_2_1:
+ ldarga arg1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldloc.0
+ newarr [mscorlib]System.Int64
+ ldc.i4 85
+ ldelem.i8
+ stsfld int64 EHTest::fld2
+ ldc.i4 48
+ starg.s arg0
+ ldc.i4 25
+ newarr [mscorlib]System.Int64
+ ldc.i4 65
+ ldelem.i8
+ bgt.un TARGET_2_0
+ TARGET_2_2:
+ ldftn int32 EHTest::GetInt32_tailcall()
+ calli int32 ()
+ ldc.i4 41
+ blt TARGET_2_3
+ TARGET_2_3:
+ ldsfld int64 EHTest::fld2
+ ldc.i8 43
+ add
+ ldc.i8 47
+ starg.s arg1
+ ldc.i8 123
+ ble.un TARGET_2_2
+ TARGET_2_4:
+ ldc.i4 32
+ ldc.i4 48
+ bgt.un TARGET_2_3
+newobj instance void [mscorlib]System.EntryPointNotFoundException::.ctor()
+throw
+end_catch4:
+
+
+exception_filter4:
+pop
+ldc.i4.0
+endfilter
+start_filter4:
+pop
+nop
+ TARGET_3_0:
+ ldloc.1
+ stloc.1
+ ldarg.1
+ ldc.i8 120
+ sub
+ stloc.1
+ ldc.i8 46
+ stsfld int64 EHTest::fld2
+ ldc.i8 13
+ stsfld int64 EHTest::fld2
+ ldc.i8 27
+ stloc.1
+ ldc.i8 106
+ ldc.i8 86
+ rem
+ starg.s arg1
+ ldc.i8 2
+ ldc.i8 38
+ blt.un TARGET_3_1
+ TARGET_3_1:
+ ldarg.1
+ ldc.i8 102
+ ble.un TARGET_3_3
+ TARGET_3_2:
+ ldloca 0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ newarr [mscorlib]System.Int32
+ ldc.i4 119
+ ldelem.i4
+ stloc.0
+ ldc.i4 18
+ stsfld int32 EHTest::fld1
+ ldc.i4 99
+ ldc.i4 76
+ starg.s arg0
+ ldc.i4 89
+ bgt.un TARGET_3_2
+ TARGET_3_3:
+ ldloc.1
+ ldc.i8 55
+ or
+ ldc.i8 61
+ mul
+ stsfld int64 EHTest::fld2
+ ldc.i8 91
+ stloc.1
+ ldc.i8 43
+ ldc.i8 26
+ bge.un TARGET_3_0
+ TARGET_3_4:
+ call int32 EHTest::GetInt32_jmp()
+ ldc.i4 59
+ box int32
+ unbox int32
+ ldind.i4
+ blt TARGET_3_3
+filter4_out: leave OUT0
+end_filter4:
+
+exception_filter5:
+pop
+ldc.i4.0
+endfilter
+start_filter5:
+pop
+call void EHTest::f2()
+filter5_out: leave OUT0
+end_filter5:
+
+OUT:
+ ldc.i4 119
+ stloc.0
+ ldc.i4 14
+ stloc.0
+ ldc.i4 83
+ stloc.0
+ ldc.i4 74
+ret
+OUT0:
+nop
+ TARGET_4_0:
+ ldarga arg1
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldc.i8 37
+ ceq
+ ldloca 0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ ldc.i4 119
+ add
+ bge TARGET_4_4
+ TARGET_4_1:
+ ldarg.0
+ neg
+ ldsfld int32 EHTest::fld1
+ neg
+ bgt TARGET_4_3
+ TARGET_4_2:
+ sizeof native int
+ stloc.0
+ ldc.i4 64
+ ldc.i4 100
+ cgt
+ ldc.i4 22
+ bgt.un TARGET_4_3
+ TARGET_4_3:
+ ldc.i4 73
+ ldc.i4 122
+ stsfld int32 EHTest::fld1
+ ldc.i4 22
+ ceq
+ stloc.0
+ ldc.i4 51
+ ldc.i4 59
+ bge.un TARGET_4_4
+ TARGET_4_4:
+ ldftn int32 EHTest::GetInt32_tailcall()
+ calli int32 ()
+ starg.s arg0
+ ldsflda int32 EHTest::fld1
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 25
+ ldc.i4 126
+ starg.s arg0
+ ldc.i4 40
+ sub
+ ldc.i4 18
+ bgt.un TARGET_4_0
+leave OUT
+.try start_try4 to end_try4 catch [mscorlib]System.Exception handler start_catch3 to end_catch3
+.try start_try4 to end_try4 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try4 to end_try4 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try4 to end_try4 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try3 to end_try3 finally handler start_finally1 to end_finally1
+.try start_try2 to end_try2 fault handler start_fault1 to end_fault1
+.try start_try1 to end_try1 catch [mscorlib]System.Exception handler start_catch1 to end_catch1
+.try start_try1 to end_try1 catch [mscorlib]System.Exception handler start_catch2 to end_catch2
+.try start_try1 to end_try1 catch [mscorlib]System.ArgumentException handler start_catch4 to end_catch4
+.try start_try1 to end_try1 filter exception_filter4 handler start_filter4 to end_filter4
+.try start_try1 to end_try1 filter exception_filter5 handler start_filter5 to end_filter5
+}
+
+.method public static int64 f1(int64 arg0) cil managed
+{
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int32 V_2,
+ int64 V_3,
+ int64 V_4)
+br start_try1
+start_fault1:
+fault1_out: endfault
+end_fault1:
+
+
+start_try1:
+nop
+ TARGET_5_0:
+ ldsfld int64 EHTest::fld2
+ call int32 EHTest::GetInt32()
+ neg
+ sizeof native unsigned int
+ stsfld int32 EHTest::fld1
+ ldc.i4 71
+ stsfld int32 EHTest::fld0
+ ldc.i4 93
+ stloc.0
+ ldc.i4 42
+ ldc.i4 17
+ shl
+ ldc.i4 16
+ stsfld int32 EHTest::fld1
+ ldc.i4 102
+ stsfld int32 EHTest::fld1
+ ldc.i4 26
+ stsfld int32 EHTest::fld0
+ ldc.i4 47
+ ldc.i4 58
+ ldc.i4 24
+ ldc.i4 26
+ stsfld int32 EHTest::fld1
+ ldc.i4 89
+ ldc.i4 55
+ ldc.i4 39
+ ldc.i4 118
+ stsfld int32 EHTest::fld1
+ ldc.i4 12
+ stsfld int32 EHTest::fld1
+ ldc.i4 64
+ ldc.i4 101
+ stloc.0
+ ldc.i4 97
+ stsfld int32 EHTest::fld0
+ ldc.i4 27
+ ldc.i4 28
+ stsfld int32 EHTest::fld1
+ ldc.i4.7
+ stsfld int32 EHTest::fld0
+ ldc.i4.0
+ ldc.i4 103
+ stsfld int32 EHTest::fld0
+ ldc.i4 25
+ ldc.i4 102
+ ldc.i4 44
+ ldc.i4.2
+ ldc.i4 103
+ stloc.0
+ ldc.i4 24
+ ldc.i4 83
+ ldc.i4 84
+ ldc.i4 39
+ ldc.i4 13
+ ldc.i4 70
+ ldc.i4 103
+ stloc.2
+ ldc.i4 104
+ ldc.i4 101
+ ldc.i4 57
+ stsfld int32 EHTest::fld1
+ ldc.i4 113
+ newobj instance void int64[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 105
+ stloc.0
+ ldc.i4 25
+ ldc.i4 66
+ ldc.i4 40
+ ldc.i4.6
+ stloc.2
+ ldc.i4 18
+ ldc.i4 49
+ ldc.i4 110
+ ldc.i4.5
+ ldc.i4 73
+ ldc.i4.8
+ stloc.0
+ ldc.i4 113
+ ldc.i4 31
+ ldc.i4 123
+ ldc.i4.1
+ ldc.i4 13
+ ldc.i4.2
+ ldc.i4 62
+ stloc.0
+ ldc.i4 69
+ ldc.i4 72
+ ldc.i4.6
+ stsfld int32 EHTest::fld0
+ ldc.i4 71
+ ldc.i4 87
+ stsfld int32 EHTest::fld0
+ ldc.i4 69
+ ldc.i4 70
+ stsfld int32 EHTest::fld0
+ ldc.i4 27
+ stsfld int32 EHTest::fld1
+ ldc.i4 73
+ ldc.i4 66
+ ldc.i4 79
+ stsfld int32 EHTest::fld0
+ ldc.i4.2
+ ldc.i4 73
+ ldc.i4 108
+ stsfld int32 EHTest::fld1
+ ldc.i4 78
+ ldc.i4 57
+ call instance int64 int64[...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...,...]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ stloc 4
+ ldc.i8 19
+ ldc.i8 36
+ xor
+ ble.un TARGET_5_3
+ TARGET_5_1:
+ ldarg.0
+ stsfld int64 EHTest::fld2
+ ldc.i8 65
+ stsfld int64 EHTest::fld2
+ ldc.i8 23
+ ldc.i8 45
+ add
+ conv.i8
+ ldc.i8 97
+ ble.un TARGET_5_4
+ TARGET_5_2:
+ ldftn int32 EHTest::GetInt32_jmp()
+ calli int32 ()
+ ldc.i4 50
+ stsfld int32 EHTest::fld0
+ ldc.i4 110
+ bgt.un TARGET_5_3
+ TARGET_5_3:
+ call int64 EHTest::GetInt64()
+ ldloc 4
+ stloc 4
+ ldc.i8 60
+ bgt TARGET_5_2
+ TARGET_5_4:
+ ldc.i4 65
+ stloc.0
+ ldloc.2
+ stsfld int32 EHTest::fld0
+ ldc.i4 120
+ ldc.i4 77
+ or
+ not
+ ldc.i4 43
+ stsfld int32 EHTest::fld1
+ ldc.i4 21
+ bgt TARGET_5_2
+try1_out:
+newobj instance void [mscorlib]System.ArgumentException::.ctor()
+throw
+end_try1:
+
+OUT:
+ ldsfld int64 EHTest::fld2
+ret
+OUT0:
+nop
+ TARGET_6_0:
+ ldsflda int32 EHTest::fld0
+ mkrefany [mscorlib]System.Int32
+ refanyval [mscorlib]System.Int32
+ ldind.i4
+ stsfld int32 EHTest::fld0
+ ldc.i4 32
+ ldc.i4 15
+ clt
+ ldc.i4 99
+ ble.un TARGET_6_2
+ TARGET_6_1:
+ ldc.i8 73
+ ldc.i8 55
+ xor
+ stsfld int64 EHTest::fld2
+ ldc.i8 96
+ ldc.i8 110
+ stsfld int64 EHTest::fld2
+ ldc.i8 97
+ mul
+ neg
+ ldc.i8 83
+ blt.un TARGET_6_1
+ TARGET_6_2:
+ call int32 EHTest::GetInt32_jmp()
+ stsfld int32 EHTest::fld1
+ ldc.i4 45
+ stsfld int32 EHTest::fld1
+ ldc.i4 70
+ ldc.i4 45
+ clt
+ ldc.i4.2
+ blt TARGET_6_2
+ TARGET_6_3:
+ ldc.i8 52
+ neg
+ not
+ ldc.i8 76
+ sub
+ starg.s arg0
+ ldc.i8 39
+ ldc.i8 55
+ add
+ ldc.i8 32
+ starg.s arg0
+ ldc.i8 105
+ bgt TARGET_6_0
+ TARGET_6_4:
+ ldc.i8 88
+ ldc.i8 12
+ ble TARGET_6_0
+br start_try2
+start_catch1:
+pop
+br catch1_br
+start_finally1:
+nop
+ TARGET_7_0:
+ sizeof native unsigned int
+ ldc.i4 103
+ ldc.i4 110
+ rem
+ mul
+ stsfld int32 EHTest::fld0
+ ldc.i4 54
+ newarr [mscorlib]System.Int32
+ ldc.i4.7
+ ldelem.i4
+ ldc.i4 63
+ ble.un TARGET_7_4
+ TARGET_7_1:
+ ldloca 4
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ stsfld int64 EHTest::fld2
+ ldc.i8 7
+ ldc.i8 13
+ starg.s arg0
+ ldc.i8 98
+ starg.s arg0
+ ldc.i8 114
+ or
+ stsfld int64 EHTest::fld2
+ ldc.i8 101
+ ldc.i8 1
+ stsfld int64 EHTest::fld2
+ ldc.i8 121
+ bge.un TARGET_7_0
+ TARGET_7_2:
+ ldc.i4 69
+ ldc.i4 60
+ rem
+ ldc.i4 44
+ clt
+ stsfld int32 EHTest::fld0
+ ldc.i4 118
+ stsfld int32 EHTest::fld0
+ ldc.i4 81
+ ldc.i4 29
+ beq TARGET_7_2
+ TARGET_7_3:
+ ldloc.2
+ ldc.i4 109
+ bge.un TARGET_7_2
+ TARGET_7_4:
+ ldc.i4 62
+ ldc.i4 95
+ bgt TARGET_7_0
+finally1_out: endfinally
+end_finally1:
+
+
+catch1_br:
+start_try3:
+try3_out:
+leave catch1_out
+end_try3:
+
+catch1_out:
+leave OUT1
+end_catch1:
+
+
+exception_filter1:
+pop
+ldc.i4.1
+endfilter
+start_filter1:
+pop
+br filter1_br
+start_finally2:
+nop
+ TARGET_8_0:
+ ldftn int64 EHTest::GetInt64_tailcall()
+ calli int64 ()
+ conv.i4
+ stloc.0
+ ldc.i4 23
+ stloc.2
+ ldc.i4 63
+ ldc.i4 116
+ stloc.0
+ ldc.i4.6
+ mul
+ ldc.i4 80
+ sub
+ stsfld int32 EHTest::fld1
+ ldc.i4 117
+ ldc.i4 11
+ ldc.i4 76
+ stsfld int32 EHTest::fld0
+ ldc.i4 20
+ stsfld int32 EHTest::fld1
+ ldc.i4 84
+ stloc.0
+ ldc.i4 108
+ ldc.i4 97
+ ldc.i4.2
+ ldc.i4 79
+ stsfld int32 EHTest::fld0
+ ldc.i4 115
+ stloc.2
+ ldc.i4 50
+ stsfld int32 EHTest::fld0
+ ldc.i4 126
+ ldc.i4 125
+ ldc.i4 79
+ ldc.i4 22
+ ldc.i4 51
+ ldc.i4 109
+ ldc.i4 90
+ stloc.2
+ ldc.i4 72
+ ldc.i4.6
+ ldc.i4 112
+ ldc.i4 65
+ ldc.i4 120
+ stloc.2
+ ldc.i4 21
+ ldc.i4 14
+ newobj instance void int64[,,,,,,,,,,,,,,,,]::.ctor(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i4 36
+ ldc.i4 72
+ ldc.i4 117
+ stloc.2
+ ldc.i4 91
+ stsfld int32 EHTest::fld0
+ ldc.i4 72
+ ldc.i4 10
+ ldc.i4.6
+ ldc.i4 89
+ ldc.i4 63
+ ldc.i4 86
+ ldc.i4 15
+ ldc.i4 66
+ ldc.i4 120
+ ldc.i4 108
+ ldc.i4 111
+ ldc.i4 82
+ ldc.i4 85
+ ldc.i4 122
+ ldc.i4 15
+ call instance int64 int64[,,,,,,,,,,,,,,,,]::Get(int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32)
+ ldc.i8 47
+ stsfld int64 EHTest::fld2
+ ldc.i8 1
+ div
+ ldc.i8 19
+ stsfld int64 EHTest::fld2
+ ldc.i8 2
+ ble TARGET_8_1
+ TARGET_8_1:
+ ldc.i4 80
+ stsfld int32 EHTest::fld1
+ ldc.i4 20
+ ldc.i4 23
+ stloc.2
+ ldc.i4 66
+ sub
+ ldc.i4 117
+ rem
+ ldc.i4.4
+ bge.un TARGET_8_2
+ TARGET_8_2:
+ ldftn int64 EHTest::GetInt64()
+ calli int64 ()
+ stsfld int64 EHTest::fld2
+ ldc.i8 75
+ stsfld int64 EHTest::fld2
+ ldc.i8 122
+ ldc.i8 77
+ bge TARGET_8_0
+ TARGET_8_3:
+ ldloc.0
+ stsfld int32 EHTest::fld1
+ ldc.i4 42
+ ldc.i4 58
+ mul
+ stsfld int32 EHTest::fld1
+ ldc.i4 120
+ stsfld int32 EHTest::fld0
+ ldc.i4 16
+ ldc.i4 88
+ bgt.un TARGET_8_2
+ TARGET_8_4:
+ ldsflda int64 EHTest::fld2
+ mkrefany [mscorlib]System.Int64
+ refanyval [mscorlib]System.Int64
+ ldind.i8
+ ldftn int32 EHTest::GetInt32_jmp()
+ calli int32 ()
+ newarr [mscorlib]System.Int64
+ ldsfld int32 EHTest::fld0
+ ldc.i4 25
+ cgt
+ ldelem.i8
+ bgt.un TARGET_8_1
+finally2_out: endfinally
+end_finally2:
+
+
+filter1_br:
+start_try4:
+nop
+ TARGET_9_0:
+ call int64 EHTest::GetInt64_jmp()
+ stloc 4
+ ldc.i8 55
+ ldc.i8 99
+ starg.s arg0
+ ldc.i8 99
+ starg.s arg0
+ ldc.i8 65
+ stsfld int64 EHTest::fld2
+ ldc.i8 80
+ stloc.3
+ ldc.i8 17
+ blt.un TARGET_9_3
+ TARGET_9_1:
+ ldc.i8 74
+ ldc.i8 33
+ or
+ conv.i8
+ ldc.i8 36
+ div
+ stloc 4
+ ldc.i8 97
+ stsfld int64 EHTest::fld2
+ ldc.i8 125
+ ldc.i8 109
+ sub
+ ldc.i8 25
+ beq TARGET_9_2
+ TARGET_9_2:
+ ldc.i8 115
+ ldc.i8 126
+ stsfld int64 EHTest::fld2
+ ldc.i8 49
+ div
+ stloc.3
+ ldc.i8 29
+ box int64
+ unbox int64
+ ldind.i8
+ ldc.i8 44
+ starg.s arg0
+ ldc.i8 1
+ bgt TARGET_9_4
+ TARGET_9_3:
+ ldarg.0
+ box int64
+ unbox int64
+ ldind.i8
+ ldc.i8 19
+ bge.un TARGET_9_3
+ TARGET_9_4:
+ ldc.i4 106
+ stloc.0
+ ldc.i4 87
+ stsfld int32 EHTest::fld0
+ ldc.i4 29
+ stsfld int32 EHTest::fld0
+ ldc.i4 63
+ stloc.2
+ ldc.i4 39
+ ldc.i4 84
+ or
+ ldc.i4 13
+ shl
+ ldc.i4.1
+ beq TARGET_9_4
+try4_out:
+leave filter1_out
+end_try4:
+
+filter1_out: leave OUT1
+end_filter1:
+
+start_try2:
+call void EHTest::f2()
+try2_out:
+newobj instance void [mscorlib]System.ContextMarshalException::.ctor()
+throw
+end_try2:
+
+exception_filter2:
+pop
+ldc.i4.1
+endfilter
+start_filter2:
+pop
+call void EHTest::f2()
+filter2_out: leave OUT1
+end_filter2:
+
+exception_filter3:
+pop
+ldc.i4.1
+endfilter
+start_filter3:
+pop
+filter3_out: leave OUT1
+end_filter3:
+OUT1:
+leave OUT
+.try start_try4 to end_try4 finally handler start_finally2 to end_finally2
+.try start_try3 to end_try3 finally handler start_finally1 to end_finally1
+.try start_try2 to end_try2 catch [mscorlib]System.ArgumentException handler start_catch1 to end_catch1
+.try start_try2 to end_try2 filter exception_filter1 handler start_filter1 to end_filter1
+.try start_try2 to end_try2 filter exception_filter2 handler start_filter2 to end_filter2
+.try start_try2 to end_try2 filter exception_filter3 handler start_filter3 to end_filter3
+.try start_try1 to end_try1 fault handler start_fault1 to end_fault1
+}
+
+.method public static void f2() cil managed
+{
+call void [mscorlib]System.GC::Collect()
+ret
+}
+.method public static int32 Main() cil managed
+{
+.entrypoint
+.maxstack 500
+.maxstack 500
+.locals init (int32 V_0,
+ int64 V_1,
+ int64 V_2,
+ int32 V_3,
+ int32 V_4)
+.try
+{
+ ldc.i8 75
+ stsfld int64 EHTest::fld2
+ ldsfld int64 EHTest::fld2
+ ldc.i8 68
+ mul
+ box int64
+ unbox int64
+ ldind.i8
+call int64 EHTest::f1(int64 )
+leave RET
+}
+catch [mscorlib]System.Exception
+{
+leave RET
+}
+RET: ldc.i4 100
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ret
+}
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.ilproj
new file mode 100644
index 0000000000..49977667de
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b530694/b530694.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b530694.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.il b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.il
new file mode 100644
index 0000000000..181a033587
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.il
@@ -0,0 +1,40 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+}
+
+.assembly b404051
+{
+}
+
+
+.class private auto ansi beforefieldinit BadHandles
+ extends [mscorlib]System.Object
+{
+ .field private static object Pass
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0005: stsfld object BadHandles::Pass
+ IL_000a: ldtoken field object BadHandles::Pass
+ IL_000f: call class [mscorlib]System.Reflection.FieldInfo
+ [mscorlib]System.Reflection.FieldInfo::GetFieldFromHandle(
+ valuetype [mscorlib]System.RuntimeFieldHandle)
+ IL_0014: call void [System.Console]System.Console::WriteLine(object)
+ ldc.i4.s 100
+ IL_0019: ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.ilproj
new file mode 100644
index 0000000000..2d0f765b8d
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b404051/b404051.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b404051.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.il b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.il
new file mode 100644
index 0000000000..e88b583bcb
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.il
@@ -0,0 +1,443 @@
+
+
+
+
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly Contains
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 2:0:30414:3
+}
+.module Contains.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class interface public abstract auto ansi IComparableValue
+{
+ .method public hidebysig newslot specialname abstract virtual
+ instance class [mscorlib]System.IComparable
+ get_Val() cil managed
+ {
+ }
+
+ .method public hidebysig newslot specialname abstract virtual
+ instance void set_Val(class [mscorlib]System.IComparable 'value') cil managed
+ {
+ }
+
+ .property instance class [mscorlib]System.IComparable
+ Val()
+ {
+ .get instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ .set instance void IComparableValue::set_Val(class [mscorlib]System.IComparable)
+ }
+}
+
+.class public auto ansi beforefieldinit Driver`2<(IComparableValue) K,V>
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig instance void
+ NonGenericIDictionaryContainsValidations(!K[] keys,
+ !V[] values) cil managed
+ {
+ .maxstack 4
+ .locals init (class [mscorlib]System.Collections.Generic.Dictionary`2<!K,!V> V_0,
+ class [mscorlib]System.Collections.IDictionary V_1,
+ int32 V_2,
+ class [mscorlib]System.Exception V_3,
+ bool V_4)
+ IL_0000: nop
+ IL_0001: newobj instance void class ValueKeyComparer`1<!K>::.ctor()
+ IL_0006: newobj instance void class [mscorlib]System.Collections.Generic.Dictionary`2<!K,!V>::.ctor(class [mscorlib]System.Collections.Generic.IEqualityComparer`1<!0>)
+ IL_000b: stloc.0
+ IL_000c: ldloc.0
+ IL_000d: stloc.1
+ IL_000e: ldc.i4.0
+ IL_000f: stloc.2
+ IL_0010: br.s IL_002d
+
+ IL_0012: nop
+ IL_0013: ldloc.0
+ IL_0014: ldarg.1
+ IL_0015: ldloc.2
+ IL_0016: ldelem !K
+ IL_001b: ldarg.2
+ IL_001c: ldloc.2
+ IL_001d: ldelem !V
+ IL_0022: callvirt instance void class [mscorlib]System.Collections.Generic.Dictionary`2<!K,!V>::Add(!0,
+ !1)
+ IL_0027: nop
+ IL_0028: nop
+ IL_0029: ldloc.2
+ IL_002a: ldc.i4.1
+ IL_002b: add
+ IL_002c: stloc.2
+ IL_002d: ldloc.2
+ IL_002e: ldarg.1
+ IL_002f: ldlen
+ IL_0030: conv.i4
+ IL_0031: clt
+ IL_0033: stloc.s V_4
+ IL_0035: ldloc.s V_4
+ IL_0037: brtrue.s IL_0012
+
+ IL_0039: ldtoken !K
+ IL_003e: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0043: ldtoken [mscorlib]System.ValueType
+ IL_0048: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_004d: callvirt instance bool [mscorlib]System.Type::IsSubclassOf(class [mscorlib]System.Type)
+ IL_0052: stloc.s V_4
+ IL_0054: ldloc.s V_4
+ IL_0056: brtrue.s IL_0071
+
+ IL_0058: nop
+ .try
+ {
+ IL_0059: nop
+ IL_005a: ldloc.1
+ IL_005b: ldnull
+ IL_005c: unbox.any !K
+ IL_0061: box !K
+ IL_0066: callvirt instance bool [mscorlib]System.Collections.IDictionary::Contains(object)
+ IL_006b: pop
+ IL_006c: leave.s IL_0071
+
+ }
+ catch [mscorlib]System.ArgumentException
+ {
+ IL_006e: pop
+ IL_006f: leave.s IL_0071
+
+ }
+ IL_0071: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit ValueKeyComparer`1<(IComparableValue) T>
+ extends [mscorlib]System.Object
+ implements class [mscorlib]System.Collections.Generic.IEqualityComparer`1<!T>
+{
+ .method public hidebysig newslot virtual final
+ instance bool Equals(!T x,
+ !T y) cil managed
+ {
+ .maxstack 3
+ .locals init (bool V_0,
+ bool V_1)
+ IL_0000: nop
+ IL_0001: ldnull
+ IL_0002: ldarg.1
+ IL_0003: box !T
+ IL_0008: ceq
+ IL_000a: ldc.i4.0
+ IL_000b: ceq
+ IL_000d: stloc.1
+ IL_000e: ldloc.1
+ IL_000f: brtrue.s IL_001d
+
+ IL_0011: ldnull
+ IL_0012: ldarg.2
+ IL_0013: box !T
+ IL_0018: ceq
+ IL_001a: stloc.0
+ IL_001b: br.s IL_006c
+
+ IL_001d: ldnull
+ IL_001e: ldarga.s x
+ IL_0020: constrained. !T
+ IL_0026: callvirt instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ IL_002b: ceq
+ IL_002d: ldc.i4.0
+ IL_002e: ceq
+ IL_0030: stloc.1
+ IL_0031: ldloc.1
+ IL_0032: brtrue.s IL_0047
+
+ IL_0034: ldnull
+ IL_0035: ldarga.s y
+ IL_0037: constrained. !T
+ IL_003d: callvirt instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ IL_0042: ceq
+ IL_0044: stloc.0
+ IL_0045: br.s IL_006c
+
+ IL_0047: ldc.i4.0
+ IL_0048: ldarga.s x
+ IL_004a: constrained. !T
+ IL_0050: callvirt instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ IL_0055: ldarga.s y
+ IL_0057: constrained. !T
+ IL_005d: callvirt instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ IL_0062: callvirt instance int32 [mscorlib]System.IComparable::CompareTo(object)
+ IL_0067: ceq
+ IL_0069: stloc.0
+ IL_006a: br.s IL_006c
+
+ IL_006c: ldloc.0
+ IL_006d: ret
+ }
+
+ .method public hidebysig newslot virtual final
+ instance int32 GetHashCode(!T obj) cil managed
+ {
+ .maxstack 2
+ .locals init (string V_0,
+ int32 V_1,
+ char V_2,
+ int32 V_3,
+ string V_4,
+ int32 V_5,
+ bool V_6)
+ IL_0000: nop
+ IL_0001: ldarga.s obj
+ IL_0003: constrained. !T
+ IL_0009: callvirt instance class [mscorlib]System.IComparable IComparableValue::get_Val()
+ IL_000e: callvirt instance string [mscorlib]System.Object::ToString()
+ IL_0013: stloc.0
+ IL_0014: ldc.i4.0
+ IL_0015: stloc.1
+ IL_0016: nop
+ IL_0017: ldloc.0
+ IL_0018: stloc.s V_4
+ IL_001a: ldc.i4.0
+ IL_001b: stloc.s V_5
+ IL_001d: br.s IL_0035
+
+ IL_001f: ldloc.s V_4
+ IL_0021: ldloc.s V_5
+ IL_0023: callvirt instance char [mscorlib]System.String::get_Chars(int32)
+ IL_0028: stloc.2
+ IL_0029: nop
+ IL_002a: ldloc.1
+ IL_002b: ldloc.2
+ IL_002c: add
+ IL_002d: stloc.1
+ IL_002e: nop
+ IL_002f: ldloc.s V_5
+ IL_0031: ldc.i4.1
+ IL_0032: add
+ IL_0033: stloc.s V_5
+ IL_0035: ldloc.s V_5
+ IL_0037: ldloc.s V_4
+ IL_0039: callvirt instance int32 [mscorlib]System.String::get_Length()
+ IL_003e: clt
+ IL_0040: stloc.s V_6
+ IL_0042: ldloc.s V_6
+ IL_0044: brtrue.s IL_001f
+
+ IL_0046: ldloc.1
+ IL_0047: ldc.i4.0
+ IL_0048: clt
+ IL_004a: ldc.i4.0
+ IL_004b: ceq
+ IL_004d: stloc.s V_6
+ IL_004f: ldloc.s V_6
+ IL_0051: brtrue.s IL_0058
+
+ IL_0053: ldloc.1
+ IL_0054: neg
+ IL_0055: stloc.3
+ IL_0056: br.s IL_005c
+
+ IL_0058: ldloc.1
+ IL_0059: stloc.3
+ IL_005a: br.s IL_005c
+
+ IL_005c: ldloc.3
+ IL_005d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit Contains
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 5
+ .locals init (class Driver`2<valuetype ValX1`1<string>,class RefX1`1<int32>> V_0)
+ IL_0000: nop
+ .try
+ {
+ IL_0001: newobj instance void class Driver`2<valuetype ValX1`1<string>,class RefX1`1<int32>>::.ctor()
+ IL_0006: stloc.s V_0
+ IL_0008: nop
+ IL_0009: ldloc.s V_0
+ IL_000b: ldc.i4.0
+ IL_000c: newarr valuetype ValX1`1<string>
+ IL_0011: ldc.i4.0
+ IL_0012: newarr class RefX1`1<int32>
+ IL_0017: callvirt instance void class Driver`2<valuetype ValX1`1<string>,class RefX1`1<int32>>::NonGenericIDictionaryContainsValidations(!0[],
+ !1[])
+ IL_001c: leave.s IL_0021
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_001e: pop
+ IL_001f: leave.s IL_0028
+
+ }
+ IL_0021: nop
+ IL_0022: ldc.i4 0x64
+ IL_0027: ret
+
+ IL_0028: ldc.i4 0x64
+ IL_002d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit ValX1`1<([mscorlib]System.IComparable) T>
+ extends [mscorlib]System.ValueType
+ implements IComparableValue
+{
+ .field private !T _val
+ .method public hidebysig newslot specialname virtual final
+ instance class [mscorlib]System.IComparable
+ get_Val() cil managed
+ {
+ .maxstack 1
+ .locals init (class [mscorlib]System.IComparable V_0)
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: ldfld !0 valuetype ValX1`1<!T>::_val
+ IL_0007: box !T
+ IL_000c: stloc.0
+ IL_000d: br.s IL_000f
+
+ IL_000f: ldloc.0
+ IL_0010: ret
+ }
+
+ .method public hidebysig newslot specialname virtual final
+ instance void set_Val(class [mscorlib]System.IComparable 'value') cil managed
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: ldarg.1
+ IL_0003: unbox.any !T
+ IL_0008: stfld !0 valuetype ValX1`1<!T>::_val
+ IL_000d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(!T t) cil managed
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: ldarg.1
+ IL_0003: stfld !0 valuetype ValX1`1<!T>::_val
+ IL_0008: ret
+ }
+
+ .property instance class [mscorlib]System.IComparable
+ Val()
+ {
+ .get instance class [mscorlib]System.IComparable ValX1`1::get_Val()
+ .set instance void ValX1`1::set_Val(class [mscorlib]System.IComparable)
+ }
+}
+
+.class public auto ansi beforefieldinit RefX1`1<([mscorlib]System.IComparable) T>
+ extends [mscorlib]System.Object
+ implements IComparableValue
+{
+ .field private !T _val
+ .method public hidebysig newslot specialname virtual final
+ instance class [mscorlib]System.IComparable
+ get_Val() cil managed
+ {
+ .maxstack 1
+ .locals init (class [mscorlib]System.IComparable V_0)
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: ldfld !0 class RefX1`1<!T>::_val
+ IL_0007: box !T
+ IL_000c: stloc.0
+ IL_000d: br.s IL_000f
+
+ IL_000f: ldloc.0
+ IL_0010: ret
+ }
+
+ .method public hidebysig newslot specialname virtual final
+ instance void set_Val(class [mscorlib]System.IComparable 'value') cil managed
+ {
+ .maxstack 8
+ IL_0000: nop
+ IL_0001: ldarg.0
+ IL_0002: ldarg.1
+ IL_0003: unbox.any !T
+ IL_0008: stfld !0 class RefX1`1<!T>::_val
+ IL_000d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(!T t) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: nop
+ IL_0007: nop
+ IL_0008: ldarg.0
+ IL_0009: ldarg.1
+ IL_000a: stfld !0 class RefX1`1<!T>::_val
+ IL_000f: nop
+ IL_0010: ret
+ }
+
+ .property instance class [mscorlib]System.IComparable
+ Val()
+ {
+ .get instance class [mscorlib]System.IComparable RefX1`1::get_Val()
+ .set instance void RefX1`1::set_Val(class [mscorlib]System.IComparable)
+ }
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.ilproj
new file mode 100644
index 0000000000..740fa1f99d
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/dev10/b440158/b440158.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b440158.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.il b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.il
new file mode 100644
index 0000000000..3774c79743
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.il
@@ -0,0 +1,110 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+
+.assembly nan
+{
+}
+
+.class private abstract auto ansi sealed beforefieldinit NaN
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals init (float64 nnan, float64 pnan, float64 pzero, float64 nzero, int32 returnValue)
+ ldc.i4.s 100
+ stloc.s returnValue
+ ldc.r8 float64 ( 0xfff8000020000000 )
+ stloc.0
+ ldloc.0
+ neg
+ stloc.1
+ ldc.r8 float64 ( 0x0 )
+ stloc.2
+ ldloc.2
+ neg
+ stloc.3
+ ldloc.0
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldloc.1
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldloc.2
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldloc.3
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldloca.s 0
+ ldind.u8
+ call void [System.Console]System.Console::WriteLine(uint64)
+ ldc.i8 18444492274432737280
+ ldloca.s 0
+ ldind.u8
+ ceq
+ brtrue.s IL1
+ ldc.i4.s 101
+ stloc.s returnValue
+ ldstr "FAILED: Previous value should have been 18444492274432737280"
+ call void [System.Console]System.Console::WriteLine(string)
+IL1:
+ ldloca.s 1
+ ldind.u8
+ call void [System.Console]System.Console::WriteLine(uint64)
+ ldc.i8 9221120237577961472
+ ldloca.s 1
+ ldind.u8
+ ceq
+ brtrue.s IL2
+ ldc.i4.s 101
+ stloc.s returnValue
+ ldstr "FAILED: Previous value should have been 9221120237577961472"
+ call void [System.Console]System.Console::WriteLine(string)
+IL2:
+ ldloca.s 2
+ ldind.u8
+ call void [System.Console]System.Console::WriteLine(uint64)
+ ldc.i8 0
+ ldloca.s 2
+ ldind.u8
+ ceq
+ brtrue.s IL3
+ ldc.i4.s 101
+ stloc.s returnValue
+ ldstr "FAILED: Previous value should have been 0"
+ call void [System.Console]System.Console::WriteLine(string)
+IL3:
+ ldloca.s 3
+ ldind.u8
+ call void [System.Console]System.Console::WriteLine(uint64)
+ ldc.i8 9223372036854775808
+ ldloca.s 3
+ ldind.u8
+ ceq
+ brtrue.s IL4
+ ldc.i4.s 101
+ stloc.s returnValue
+ ldstr "FAILED: Previous value should have been 9223372036854775808"
+ call void [System.Console]System.Console::WriteLine(string)
+IL4:
+
+ ldc.i4.s 100
+ ldloc.s returnValue
+ ceq
+ brfalse.s IL5
+ ldstr "!!!! Test Passed !!!"
+ call void [System.Console]System.Console::WriteLine(string)
+IL5:
+ ldloc.s returnValue
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.ilproj
new file mode 100644
index 0000000000..40f98c4375
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/DDB/b175679/b175679.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b175679.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/app.config b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.il b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.il
new file mode 100644
index 0000000000..00388fb3f3
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.il
@@ -0,0 +1,1280 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly ddb609988
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module ddb609988.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public sequential ansi sealed beforefieldinit OneString
+ extends [mscorlib]System.ValueType
+{
+ .field public string isString
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(string i) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0007: ldarg.0
+ IL_0008: ldfld string OneString::isString
+ IL_000d: ldnull
+ IL_000e: ceq
+ IL_0010: stsfld bool Program::IsInit
+ IL_0015: ldstr "OneString: isString: {0}"
+ IL_001a: ldarg.0
+ IL_001b: ldfld string OneString::isString
+ IL_0020: brfalse.s IL_002a
+
+ IL_0022: ldarg.0
+ IL_0023: ldfld string OneString::isString
+ IL_0028: br.s IL_002f
+
+ IL_002a: ldstr "<null>"
+ IL_002f: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0034: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneInt
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 isInt
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(int32 i) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0007: ldarg.0
+ IL_0008: ldfld int32 OneInt::isInt
+ IL_000d: ldc.i4.0
+ IL_000e: ceq
+ IL_0010: stsfld bool Program::IsInit
+ IL_0015: ldstr "OneInt: isInt: {0}"
+ IL_001a: ldarg.0
+ IL_001b: ldfld int32 OneInt::isInt
+ IL_0020: box [mscorlib]System.Int32
+ IL_0025: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_002a: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneBool
+ extends [mscorlib]System.ValueType
+{
+ .field public bool isBool
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(bool i) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0007: ldarg.0
+ IL_0008: ldfld bool OneBool::isBool
+ IL_000d: ldc.i4.0
+ IL_000e: ceq
+ IL_0010: stsfld bool Program::IsInit
+ IL_0015: ldstr "OneBool: isBool: {0}"
+ IL_001a: ldarg.0
+ IL_001b: ldfld bool OneBool::isBool
+ IL_0020: box [mscorlib]System.Boolean
+ IL_0025: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_002a: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneRtTH
+ extends [mscorlib]System.ValueType
+{
+ .field public valuetype [mscorlib]System.RuntimeTypeHandle isRtTH
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(valuetype [mscorlib]System.RuntimeTypeHandle i) cil managed noinlining
+ {
+ .maxstack 3
+ IL_0007: ldarg.0
+ IL_0008: ldflda valuetype [mscorlib]System.RuntimeTypeHandle OneRtTH::isRtTH
+ IL_000d: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0012: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_0017: call bool [mscorlib]System.IntPtr::op_Equality(native int,
+ native int)
+ IL_001c: stsfld bool Program::IsInit
+ IL_0021: ldstr "OneRtTH: isRuntimeTypeHandle: {0}.Value: {1}"
+ IL_0026: ldarg.0
+ IL_0027: ldfld valuetype [mscorlib]System.RuntimeTypeHandle OneRtTH::isRtTH
+ IL_002c: ldnull
+ IL_002d: call bool [mscorlib]System.RuntimeTypeHandle::op_Inequality(valuetype [mscorlib]System.RuntimeTypeHandle,
+ object)
+ IL_0032: brtrue.s IL_003b
+
+ IL_0034: ldstr "<null>"
+ IL_0039: br.s IL_0040
+
+ IL_003b: ldstr "<not null>"
+ IL_0040: ldarg.0
+ IL_0041: ldflda valuetype [mscorlib]System.RuntimeTypeHandle OneRtTH::isRtTH
+ IL_0046: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_004b: box [mscorlib]System.IntPtr
+ IL_0050: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0055: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneStructOneString
+ extends [mscorlib]System.ValueType
+{
+ .field public valuetype OneString isOneString
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(valuetype OneString i) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0007: ldarg.0
+ IL_0008: ldflda valuetype OneString OneStructOneString::isOneString
+ IL_000d: ldfld string OneString::isString
+ IL_0012: ldnull
+ IL_0013: ceq
+ IL_0015: stsfld bool Program::IsInit
+ IL_001a: ldstr "OneStructOneString: isOneString.isString: {0}"
+ IL_001f: ldarg.0
+ IL_0020: ldflda valuetype OneString OneStructOneString::isOneString
+ IL_0025: ldfld string OneString::isString
+ IL_002a: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_002f: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneStructOneInt
+ extends [mscorlib]System.ValueType
+{
+ .field public valuetype OneInt isOneInt
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(valuetype OneInt i) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0007: ldarg.0
+ IL_0008: ldflda valuetype OneInt OneStructOneInt::isOneInt
+ IL_000d: ldfld int32 OneInt::isInt
+ IL_0012: ldc.i4.0
+ IL_0013: ceq
+ IL_0015: stsfld bool Program::IsInit
+ IL_001a: ldstr "OneStructOneInt: isOneInt.isInt: {0}"
+ IL_001f: ldarg.0
+ IL_0020: ldflda valuetype OneInt OneStructOneInt::isOneInt
+ IL_0025: ldfld int32 OneInt::isInt
+ IL_002a: box [mscorlib]System.Int32
+ IL_002f: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0034: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit OneStructOneRtTH
+ extends [mscorlib]System.ValueType
+{
+ .field public valuetype OneRtTH isOneRtTH
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(valuetype OneRtTH i) cil managed noinlining
+ {
+ .maxstack 2
+ IL_0007: ldarg.0
+ IL_0008: ldflda valuetype OneRtTH OneStructOneRtTH::isOneRtTH
+ IL_000d: ldflda valuetype [mscorlib]System.RuntimeTypeHandle OneRtTH::isRtTH
+ IL_0012: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0017: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_001c: call bool [mscorlib]System.IntPtr::op_Equality(native int,
+ native int)
+ IL_0021: stsfld bool Program::IsInit
+ IL_0026: ldstr "OneStructOneRtTH: isOneRtTH.isRtTH.Value: {0}"
+ IL_002b: ldarg.0
+ IL_002c: ldflda valuetype OneRtTH OneStructOneRtTH::isOneRtTH
+ IL_0031: ldflda valuetype [mscorlib]System.RuntimeTypeHandle OneRtTH::isRtTH
+ IL_0036: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_003b: box [mscorlib]System.IntPtr
+ IL_0040: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0045: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit TwoStringInt
+ extends [mscorlib]System.ValueType
+{
+ .field public string isString
+ .field public int32 isInt
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(string i) cil managed noinlining
+ {
+ .maxstack 3
+ IL_000e: ldarg.0
+ IL_000f: ldfld string TwoStringInt::isString
+ IL_0014: brtrue.s IL_0021
+
+ IL_0016: ldarg.0
+ IL_0017: ldfld int32 TwoStringInt::isInt
+ IL_001c: ldc.i4.0
+ IL_001d: ceq
+ IL_001f: br.s IL_0022
+
+ IL_0021: ldc.i4.0
+ IL_0022: stsfld bool Program::IsInit
+ IL_0027: ldstr "TwoStringInt: isString: {0} isInt: {1}"
+ IL_002c: ldarg.0
+ IL_002d: ldfld string TwoStringInt::isString
+ IL_0032: brfalse.s IL_003c
+
+ IL_0034: ldarg.0
+ IL_0035: ldfld string TwoStringInt::isString
+ IL_003a: br.s IL_0041
+
+ IL_003c: ldstr "<null>"
+ IL_0041: ldarg.0
+ IL_0042: ldfld int32 TwoStringInt::isInt
+ IL_0047: box [mscorlib]System.Int32
+ IL_004c: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0051: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit TwoIntBool
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 isInt
+ .field public bool isBool
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(int32 i) cil managed noinlining
+ {
+ .maxstack 3
+ IL_000e: ldarg.0
+ IL_000f: ldfld int32 TwoIntBool::isInt
+ IL_0014: brtrue.s IL_0021
+
+ IL_0016: ldarg.0
+ IL_0017: ldfld bool TwoIntBool::isBool
+ IL_001c: ldc.i4.0
+ IL_001d: ceq
+ IL_001f: br.s IL_0022
+
+ IL_0021: ldc.i4.0
+ IL_0022: stsfld bool Program::IsInit
+ IL_0027: ldstr "TwoIntBool: isInt: {0} isBool: {1}"
+ IL_002c: ldarg.0
+ IL_002d: ldfld int32 TwoIntBool::isInt
+ IL_0032: box [mscorlib]System.Int32
+ IL_0037: ldarg.0
+ IL_0038: ldfld bool TwoIntBool::isBool
+ IL_003d: box [mscorlib]System.Boolean
+ IL_0042: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_0047: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit TwoRTTHDouble
+ extends [mscorlib]System.ValueType
+{
+ .field public float64 isDouble
+ .field public valuetype [mscorlib]System.RuntimeTypeHandle isRtTH
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(bool i) cil managed noinlining
+ {
+ .maxstack 3
+ IL_001b: ldarg.0
+ IL_001c: ldfld float64 TwoRTTHDouble::isDouble
+ IL_0021: ldc.r8 0.0
+ IL_002a: bne.un.s IL_0043
+
+ IL_002c: ldarg.0
+ IL_002d: ldflda valuetype [mscorlib]System.RuntimeTypeHandle TwoRTTHDouble::isRtTH
+ IL_0032: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0037: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_003c: call bool [mscorlib]System.IntPtr::op_Equality(native int,
+ native int)
+ IL_0041: br.s IL_0044
+
+ IL_0043: ldc.i4.0
+ IL_0044: stsfld bool Program::IsInit
+ IL_0049: ldstr "TwoRTTHDouble: isDouble: {0}, isRtTH.Value: {1}"
+ IL_004e: ldarg.0
+ IL_004f: ldfld float64 TwoRTTHDouble::isDouble
+ IL_0054: box [mscorlib]System.Double
+ IL_0059: ldarg.0
+ IL_005a: ldflda valuetype [mscorlib]System.RuntimeTypeHandle TwoRTTHDouble::isRtTH
+ IL_005f: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0064: box [mscorlib]System.IntPtr
+ IL_0069: call void [System.Console]System.Console::WriteLine(string,
+ object,
+ object)
+ IL_006e: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit AllTypes
+ extends [mscorlib]System.ValueType
+{
+ .field public bool isBool
+ .field public int32 isInt
+ .field public int16 isShort
+ .field public float64 isDouble
+ .field public valuetype [mscorlib]System.RuntimeTypeHandle isRtTH
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(bool i) cil managed noinlining
+ {
+ .maxstack 4
+ .locals init (object[] V_0)
+ IL_0024: ldarg.0
+ IL_0025: ldflda valuetype [mscorlib]System.RuntimeTypeHandle AllTypes::isRtTH
+ IL_002a: initobj [mscorlib]System.RuntimeTypeHandle
+ IL_0030: ldarg.0
+ IL_0031: ldfld bool AllTypes::isBool
+ IL_0036: brtrue.s IL_0070
+
+ IL_0038: ldarg.0
+ IL_0039: ldfld int32 AllTypes::isInt
+ IL_003e: brtrue.s IL_0070
+
+ IL_0040: ldarg.0
+ IL_0041: ldfld int16 AllTypes::isShort
+ IL_0046: brtrue.s IL_0070
+
+ IL_0048: ldarg.0
+ IL_0049: ldfld float64 AllTypes::isDouble
+ IL_004e: ldc.r8 0.0
+ IL_0057: bne.un.s IL_0070
+
+ IL_0059: ldarg.0
+ IL_005a: ldflda valuetype [mscorlib]System.RuntimeTypeHandle AllTypes::isRtTH
+ IL_005f: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0064: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_0069: call bool [mscorlib]System.IntPtr::op_Equality(native int,
+ native int)
+ IL_006e: br.s IL_0071
+
+ IL_0070: ldc.i4.0
+ IL_0071: stsfld bool Program::IsInit
+ IL_0076: ldstr "AllTypes: isBool: {0} isInt: {1}, isShort: {2}, is"
+ + "Double: {3}, isRtTH.Value: {4}"
+ IL_007b: ldc.i4.5
+ IL_007c: newarr [mscorlib]System.Object
+ IL_0081: stloc.0
+ IL_0082: ldloc.0
+ IL_0083: ldc.i4.0
+ IL_0084: ldarg.0
+ IL_0085: ldfld bool AllTypes::isBool
+ IL_008a: box [mscorlib]System.Boolean
+ IL_008f: stelem.ref
+ IL_0090: ldloc.0
+ IL_0091: ldc.i4.1
+ IL_0092: ldarg.0
+ IL_0093: ldfld int32 AllTypes::isInt
+ IL_0098: box [mscorlib]System.Int32
+ IL_009d: stelem.ref
+ IL_009e: ldloc.0
+ IL_009f: ldc.i4.2
+ IL_00a0: ldarg.0
+ IL_00a1: ldfld int16 AllTypes::isShort
+ IL_00a6: box [mscorlib]System.Int16
+ IL_00ab: stelem.ref
+ IL_00ac: ldloc.0
+ IL_00ad: ldc.i4.3
+ IL_00ae: ldarg.0
+ IL_00af: ldfld float64 AllTypes::isDouble
+ IL_00b4: box [mscorlib]System.Double
+ IL_00b9: stelem.ref
+ IL_00ba: ldloc.0
+ IL_00bb: ldc.i4.4
+ IL_00bc: ldarg.0
+ IL_00bd: ldflda valuetype [mscorlib]System.RuntimeTypeHandle AllTypes::isRtTH
+ IL_00c2: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_00c7: box [mscorlib]System.IntPtr
+ IL_00cc: stelem.ref
+ IL_00cd: ldloc.0
+ IL_00ce: call void [System.Console]System.Console::WriteLine(string,
+ object[])
+ IL_00d3: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit AllTypesNullable
+ extends [mscorlib]System.ValueType
+{
+ .field public valuetype [mscorlib]System.Nullable`1<bool> isBool
+ .field public valuetype [mscorlib]System.Nullable`1<int32> isInt
+ .field public valuetype [mscorlib]System.Nullable`1<int16> isShort
+ .field public valuetype [mscorlib]System.Nullable`1<float64> isDouble
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor(bool i) cil managed noinlining
+ {
+ .maxstack 4
+ .locals init (valuetype [mscorlib]System.Nullable`1<bool> V_0,
+ valuetype [mscorlib]System.Nullable`1<int32> V_1,
+ valuetype [mscorlib]System.Nullable`1<int16> V_2,
+ valuetype [mscorlib]System.Nullable`1<float64> V_3,
+ object[] V_4)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: newobj instance void valuetype [mscorlib]System.Nullable`1<bool>::.ctor(!0)
+ IL_0007: stfld valuetype [mscorlib]System.Nullable`1<bool> AllTypesNullable::isBool
+ IL_000c: ldarg.0
+ IL_000d: ldc.i4.0
+ IL_000e: newobj instance void valuetype [mscorlib]System.Nullable`1<int32>::.ctor(!0)
+ IL_0013: stfld valuetype [mscorlib]System.Nullable`1<int32> AllTypesNullable::isInt
+ IL_0018: ldarg.0
+ IL_0019: ldc.i4.0
+ IL_001a: newobj instance void valuetype [mscorlib]System.Nullable`1<int16>::.ctor(!0)
+ IL_001f: stfld valuetype [mscorlib]System.Nullable`1<int16> AllTypesNullable::isShort
+ IL_0024: ldarg.0
+ IL_0025: ldc.r8 0.0
+ IL_002e: newobj instance void valuetype [mscorlib]System.Nullable`1<float64>::.ctor(!0)
+ IL_0033: stfld valuetype [mscorlib]System.Nullable`1<float64> AllTypesNullable::isDouble
+ IL_0038: ldarg.0
+ IL_0039: ldfld valuetype [mscorlib]System.Nullable`1<bool> AllTypesNullable::isBool
+ IL_003e: stloc.0
+ IL_003f: ldloca.s V_0
+ IL_0041: call instance !0 valuetype [mscorlib]System.Nullable`1<bool>::GetValueOrDefault()
+ IL_0046: brtrue.s IL_0051
+
+ IL_0048: ldloca.s V_0
+ IL_004a: call instance bool valuetype [mscorlib]System.Nullable`1<bool>::get_HasValue()
+ IL_004f: br.s IL_0052
+
+ IL_0051: ldc.i4.0
+ IL_0052: brfalse.s IL_00b1
+
+ IL_0054: ldarg.0
+ IL_0055: ldfld valuetype [mscorlib]System.Nullable`1<int32> AllTypesNullable::isInt
+ IL_005a: stloc.1
+ IL_005b: ldloca.s V_1
+ IL_005d: call instance !0 valuetype [mscorlib]System.Nullable`1<int32>::GetValueOrDefault()
+ IL_0062: brtrue.s IL_006d
+
+ IL_0064: ldloca.s V_1
+ IL_0066: call instance bool valuetype [mscorlib]System.Nullable`1<int32>::get_HasValue()
+ IL_006b: br.s IL_006e
+
+ IL_006d: ldc.i4.0
+ IL_006e: brfalse.s IL_00b1
+
+ IL_0070: ldarg.0
+ IL_0071: ldfld valuetype [mscorlib]System.Nullable`1<int16> AllTypesNullable::isShort
+ IL_0076: stloc.2
+ IL_0077: ldloca.s V_2
+ IL_0079: call instance !0 valuetype [mscorlib]System.Nullable`1<int16>::GetValueOrDefault()
+ IL_007e: brtrue.s IL_0089
+
+ IL_0080: ldloca.s V_2
+ IL_0082: call instance bool valuetype [mscorlib]System.Nullable`1<int16>::get_HasValue()
+ IL_0087: br.s IL_008a
+
+ IL_0089: ldc.i4.0
+ IL_008a: brfalse.s IL_00b1
+
+ IL_008c: ldarg.0
+ IL_008d: ldfld valuetype [mscorlib]System.Nullable`1<float64> AllTypesNullable::isDouble
+ IL_0092: stloc.3
+ IL_0093: ldloca.s V_3
+ IL_0095: call instance !0 valuetype [mscorlib]System.Nullable`1<float64>::GetValueOrDefault()
+ IL_009a: ldc.r8 0.0
+ IL_00a3: bne.un.s IL_00ae
+
+ IL_00a5: ldloca.s V_3
+ IL_00a7: call instance bool valuetype [mscorlib]System.Nullable`1<float64>::get_HasValue()
+ IL_00ac: br.s IL_00b2
+
+ IL_00ae: ldc.i4.0
+ IL_00af: br.s IL_00b2
+
+ IL_00b1: ldc.i4.0
+ IL_00b2: stsfld bool Program::IsInit
+ IL_00b7: ldstr "AllTypesNullable: isBool: {0} isInt: {1}, isShort:"
+ + " {2}, isDouble: {3}"
+ IL_00bc: ldc.i4.4
+ IL_00bd: newarr [mscorlib]System.Object
+ IL_00c2: stloc.s V_4
+ IL_00c4: ldloc.s V_4
+ IL_00c6: ldc.i4.0
+ IL_00c7: ldarg.0
+ IL_00c8: ldfld valuetype [mscorlib]System.Nullable`1<bool> AllTypesNullable::isBool
+ IL_00cd: box valuetype [mscorlib]System.Nullable`1<bool>
+ IL_00d2: stelem.ref
+ IL_00d3: ldloc.s V_4
+ IL_00d5: ldc.i4.1
+ IL_00d6: ldarg.0
+ IL_00d7: ldfld valuetype [mscorlib]System.Nullable`1<int32> AllTypesNullable::isInt
+ IL_00dc: box valuetype [mscorlib]System.Nullable`1<int32>
+ IL_00e1: stelem.ref
+ IL_00e2: ldloc.s V_4
+ IL_00e4: ldc.i4.2
+ IL_00e5: ldarg.0
+ IL_00e6: ldfld valuetype [mscorlib]System.Nullable`1<int16> AllTypesNullable::isShort
+ IL_00eb: box valuetype [mscorlib]System.Nullable`1<int16>
+ IL_00f0: stelem.ref
+ IL_00f1: ldloc.s V_4
+ IL_00f3: ldc.i4.3
+ IL_00f4: ldarg.0
+ IL_00f5: ldfld valuetype [mscorlib]System.Nullable`1<float64> AllTypesNullable::isDouble
+ IL_00fa: box valuetype [mscorlib]System.Nullable`1<float64>
+ IL_00ff: stelem.ref
+ IL_0100: ldloc.s V_4
+ IL_0102: call void [System.Console]System.Console::WriteLine(string,
+ object[])
+ IL_0107: ret
+ }
+
+}
+
+.class public sequential ansi sealed beforefieldinit AllTypesNoExplicitConstructor
+ extends [mscorlib]System.ValueType
+{
+ .field public bool isBool
+ .field public int32 isInt
+ .field public int16 isShort
+ .field public float64 isDouble
+ .field public valuetype [mscorlib]System.RuntimeTypeHandle isRtTH
+}
+
+.class public auto ansi beforefieldinit Program
+ extends [mscorlib]System.Object
+{
+ .field public static bool IsInit
+ .field public static bool AllPassed
+ .method public hidebysig static void F(object o) cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method private hidebysig static void Test1() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldstr "4"
+ IL_0005: newobj instance void OneString::.ctor(string)
+ IL_000a: box OneString
+ IL_000f: call void Program::F(object)
+ IL_0014: ldsfld bool Program::IsInit
+ IL_0019: brtrue.s IL_0021
+
+ IL_001b: ldc.i4.0
+ IL_001c: stsfld bool Program::AllPassed
+ IL_0021: ret
+ }
+
+ .method private hidebysig static void Test2() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.4
+ IL_0001: newobj instance void OneInt::.ctor(int32)
+ IL_0006: box OneInt
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test3() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: newobj instance void OneBool::.ctor(bool)
+ IL_0006: box OneBool
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test4() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (valuetype [mscorlib]System.RuntimeTypeHandle V_0)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj [mscorlib]System.RuntimeTypeHandle
+ IL_0008: ldloc.0
+ IL_0009: newobj instance void OneRtTH::.ctor(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000e: box OneRtTH
+ IL_0013: call void Program::F(object)
+ IL_0018: ldsfld bool Program::IsInit
+ IL_001d: brtrue.s IL_0025
+
+ IL_001f: ldc.i4.0
+ IL_0020: stsfld bool Program::AllPassed
+ IL_0025: ret
+ }
+
+ .method private hidebysig static void Test5() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldstr "4"
+ IL_0005: newobj instance void OneString::.ctor(string)
+ IL_000a: newobj instance void OneStructOneString::.ctor(valuetype OneString)
+ IL_000f: box OneStructOneString
+ IL_0014: call void Program::F(object)
+ IL_0019: ldsfld bool Program::IsInit
+ IL_001e: brtrue.s IL_0026
+
+ IL_0020: ldc.i4.0
+ IL_0021: stsfld bool Program::AllPassed
+ IL_0026: ret
+ }
+
+ .method private hidebysig static void Test6() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.4
+ IL_0001: newobj instance void OneInt::.ctor(int32)
+ IL_0006: newobj instance void OneStructOneInt::.ctor(valuetype OneInt)
+ IL_000b: box OneStructOneInt
+ IL_0010: call void Program::F(object)
+ IL_0015: ldsfld bool Program::IsInit
+ IL_001a: brtrue.s IL_0022
+
+ IL_001c: ldc.i4.0
+ IL_001d: stsfld bool Program::AllPassed
+ IL_0022: ret
+ }
+
+ .method private hidebysig static void Test7() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (valuetype [mscorlib]System.RuntimeTypeHandle V_0)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj [mscorlib]System.RuntimeTypeHandle
+ IL_0008: ldloc.0
+ IL_0009: newobj instance void OneRtTH::.ctor(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_000e: newobj instance void OneStructOneRtTH::.ctor(valuetype OneRtTH)
+ IL_0013: box OneStructOneRtTH
+ IL_0018: call void Program::F(object)
+ IL_001d: ldsfld bool Program::IsInit
+ IL_0022: brtrue.s IL_002a
+
+ IL_0024: ldc.i4.0
+ IL_0025: stsfld bool Program::AllPassed
+ IL_002a: ret
+ }
+
+ .method private hidebysig static void Test8() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldstr "1"
+ IL_0005: newobj instance void TwoStringInt::.ctor(string)
+ IL_000a: box TwoStringInt
+ IL_000f: call void Program::F(object)
+ IL_0014: ldsfld bool Program::IsInit
+ IL_0019: brtrue.s IL_0021
+
+ IL_001b: ldc.i4.0
+ IL_001c: stsfld bool Program::AllPassed
+ IL_0021: ret
+ }
+
+ .method private hidebysig static void Test9() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: newobj instance void TwoIntBool::.ctor(int32)
+ IL_0006: box TwoIntBool
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test10() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: newobj instance void TwoRTTHDouble::.ctor(bool)
+ IL_0006: box TwoRTTHDouble
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test11() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: newobj instance void AllTypes::.ctor(bool)
+ IL_0006: box AllTypes
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test12() cil managed noinlining
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: newobj instance void AllTypesNullable::.ctor(bool)
+ IL_0006: box AllTypesNullable
+ IL_000b: call void Program::F(object)
+ IL_0010: ldsfld bool Program::IsInit
+ IL_0015: brtrue.s IL_001d
+
+ IL_0017: ldc.i4.0
+ IL_0018: stsfld bool Program::AllPassed
+ IL_001d: ret
+ }
+
+ .method private hidebysig static void Test13() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling OneString in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_0033
+
+ IL_000e: ldstr "4"
+ IL_0013: newobj instance void OneString::.ctor(string)
+ IL_0018: box OneString
+ IL_001d: call void Program::F(object)
+ IL_0022: ldsfld bool Program::IsInit
+ IL_0027: brtrue.s IL_002f
+
+ IL_0029: ldc.i4.0
+ IL_002a: stsfld bool Program::AllPassed
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.1
+ IL_0031: add
+ IL_0032: stloc.0
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.s 10
+ IL_0036: blt.s IL_000e
+
+ IL_0038: ret
+ }
+
+ .method private hidebysig static void Test14() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling OneInt in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.4
+ IL_000f: newobj instance void OneInt::.ctor(int32)
+ IL_0014: box OneInt
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test15() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling OneBool in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.1
+ IL_000f: newobj instance void OneBool::.ctor(bool)
+ IL_0014: box OneBool
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test16() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0,
+ valuetype [mscorlib]System.RuntimeTypeHandle V_1)
+ IL_0000: ldstr "Calling OneRtTH in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_0037
+
+ IL_000e: ldloca.s V_1
+ IL_0010: initobj [mscorlib]System.RuntimeTypeHandle
+ IL_0016: ldloc.1
+ IL_0017: newobj instance void OneRtTH::.ctor(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_001c: box OneRtTH
+ IL_0021: call void Program::F(object)
+ IL_0026: ldsfld bool Program::IsInit
+ IL_002b: brtrue.s IL_0033
+
+ IL_002d: ldc.i4.0
+ IL_002e: stsfld bool Program::AllPassed
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.1
+ IL_0035: add
+ IL_0036: stloc.0
+ IL_0037: ldloc.0
+ IL_0038: ldc.i4.s 10
+ IL_003a: blt.s IL_000e
+
+ IL_003c: ret
+ }
+
+ .method private hidebysig static void Test17() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling OneStructOneString in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_0038
+
+ IL_000e: ldstr "4"
+ IL_0013: newobj instance void OneString::.ctor(string)
+ IL_0018: newobj instance void OneStructOneString::.ctor(valuetype OneString)
+ IL_001d: box OneStructOneString
+ IL_0022: call void Program::F(object)
+ IL_0027: ldsfld bool Program::IsInit
+ IL_002c: brtrue.s IL_0034
+
+ IL_002e: ldc.i4.0
+ IL_002f: stsfld bool Program::AllPassed
+ IL_0034: ldloc.0
+ IL_0035: ldc.i4.1
+ IL_0036: add
+ IL_0037: stloc.0
+ IL_0038: ldloc.0
+ IL_0039: ldc.i4.s 10
+ IL_003b: blt.s IL_000e
+
+ IL_003d: ret
+ }
+
+ .method private hidebysig static void Test18() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling OneStructOneInt in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_0034
+
+ IL_000e: ldc.i4.4
+ IL_000f: newobj instance void OneInt::.ctor(int32)
+ IL_0014: newobj instance void OneStructOneInt::.ctor(valuetype OneInt)
+ IL_0019: box OneStructOneInt
+ IL_001e: call void Program::F(object)
+ IL_0023: ldsfld bool Program::IsInit
+ IL_0028: brtrue.s IL_0030
+
+ IL_002a: ldc.i4.0
+ IL_002b: stsfld bool Program::AllPassed
+ IL_0030: ldloc.0
+ IL_0031: ldc.i4.1
+ IL_0032: add
+ IL_0033: stloc.0
+ IL_0034: ldloc.0
+ IL_0035: ldc.i4.s 10
+ IL_0037: blt.s IL_000e
+
+ IL_0039: ret
+ }
+
+ .method private hidebysig static void Test19() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0,
+ valuetype [mscorlib]System.RuntimeTypeHandle V_1)
+ IL_0000: ldstr "Calling OneStructOneRtTH in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_003c
+
+ IL_000e: ldloca.s V_1
+ IL_0010: initobj [mscorlib]System.RuntimeTypeHandle
+ IL_0016: ldloc.1
+ IL_0017: newobj instance void OneRtTH::.ctor(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_001c: newobj instance void OneStructOneRtTH::.ctor(valuetype OneRtTH)
+ IL_0021: box OneStructOneRtTH
+ IL_0026: call void Program::F(object)
+ IL_002b: ldsfld bool Program::IsInit
+ IL_0030: brtrue.s IL_0038
+
+ IL_0032: ldc.i4.0
+ IL_0033: stsfld bool Program::AllPassed
+ IL_0038: ldloc.0
+ IL_0039: ldc.i4.1
+ IL_003a: add
+ IL_003b: stloc.0
+ IL_003c: ldloc.0
+ IL_003d: ldc.i4.s 10
+ IL_003f: blt.s IL_000e
+
+ IL_0041: ret
+ }
+
+ .method private hidebysig static void Test20() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling TwoStringInt in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_0033
+
+ IL_000e: ldstr "1"
+ IL_0013: newobj instance void TwoStringInt::.ctor(string)
+ IL_0018: box TwoStringInt
+ IL_001d: call void Program::F(object)
+ IL_0022: ldsfld bool Program::IsInit
+ IL_0027: brtrue.s IL_002f
+
+ IL_0029: ldc.i4.0
+ IL_002a: stsfld bool Program::AllPassed
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.1
+ IL_0031: add
+ IL_0032: stloc.0
+ IL_0033: ldloc.0
+ IL_0034: ldc.i4.s 10
+ IL_0036: blt.s IL_000e
+
+ IL_0038: ret
+ }
+
+ .method private hidebysig static void Test21() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling TwoIntBool in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.1
+ IL_000f: newobj instance void TwoIntBool::.ctor(int32)
+ IL_0014: box TwoIntBool
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test22() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling TwoRTTHDouble in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.1
+ IL_000f: newobj instance void TwoRTTHDouble::.ctor(bool)
+ IL_0014: box TwoRTTHDouble
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test23() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling AllTypes in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.1
+ IL_000f: newobj instance void AllTypes::.ctor(bool)
+ IL_0014: box AllTypes
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test24() cil managed noinlining
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldstr "Calling AllTypesNullable in a loop..."
+ IL_0005: call void [System.Console]System.Console::WriteLine(string)
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.0
+ IL_000c: br.s IL_002f
+
+ IL_000e: ldc.i4.0
+ IL_000f: newobj instance void AllTypesNullable::.ctor(bool)
+ IL_0014: box AllTypesNullable
+ IL_0019: call void Program::F(object)
+ IL_001e: ldsfld bool Program::IsInit
+ IL_0023: brtrue.s IL_002b
+
+ IL_0025: ldc.i4.0
+ IL_0026: stsfld bool Program::AllPassed
+ IL_002b: ldloc.0
+ IL_002c: ldc.i4.1
+ IL_002d: add
+ IL_002e: stloc.0
+ IL_002f: ldloc.0
+ IL_0030: ldc.i4.s 10
+ IL_0032: blt.s IL_000e
+
+ IL_0034: ret
+ }
+
+ .method private hidebysig static void Test25() cil managed noinlining
+ {
+ .maxstack 4
+ .locals init (valuetype AllTypesNoExplicitConstructor V_0,
+ object[] V_1)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj AllTypesNoExplicitConstructor
+ IL_0008: ldloca.s V_0
+ IL_000a: ldfld bool AllTypesNoExplicitConstructor::isBool
+ IL_000f: brtrue.s IL_004d
+
+ IL_0011: ldloca.s V_0
+ IL_0013: ldfld int32 AllTypesNoExplicitConstructor::isInt
+ IL_0018: brtrue.s IL_004d
+
+ IL_001a: ldloca.s V_0
+ IL_001c: ldfld int16 AllTypesNoExplicitConstructor::isShort
+ IL_0021: brtrue.s IL_004d
+
+ IL_0023: ldloca.s V_0
+ IL_0025: ldfld float64 AllTypesNoExplicitConstructor::isDouble
+ IL_002a: ldc.r8 0.0
+ IL_0033: bne.un.s IL_004d
+
+ IL_0035: ldloca.s V_0
+ IL_0037: ldflda valuetype [mscorlib]System.RuntimeTypeHandle AllTypesNoExplicitConstructor::isRtTH
+ IL_003c: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_0041: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_0046: call bool [mscorlib]System.IntPtr::op_Equality(native int,
+ native int)
+ IL_004b: br.s IL_004e
+
+ IL_004d: ldc.i4.0
+ IL_004e: stsfld bool Program::IsInit
+ IL_0053: ldstr "AllTypesNoExplicitConstructor: isBool: {0} isInt: "
+ + "{1}, isShort: {2}, isDouble: {3}, isRtTH.Value: {4}"
+ IL_0058: ldc.i4.5
+ IL_0059: newarr [mscorlib]System.Object
+ IL_005e: stloc.1
+ IL_005f: ldloc.1
+ IL_0060: ldc.i4.0
+ IL_0061: ldloca.s V_0
+ IL_0063: ldfld bool AllTypesNoExplicitConstructor::isBool
+ IL_0068: box [mscorlib]System.Boolean
+ IL_006d: stelem.ref
+ IL_006e: ldloc.1
+ IL_006f: ldc.i4.1
+ IL_0070: ldloca.s V_0
+ IL_0072: ldfld int32 AllTypesNoExplicitConstructor::isInt
+ IL_0077: box [mscorlib]System.Int32
+ IL_007c: stelem.ref
+ IL_007d: ldloc.1
+ IL_007e: ldc.i4.2
+ IL_007f: ldloca.s V_0
+ IL_0081: ldfld int16 AllTypesNoExplicitConstructor::isShort
+ IL_0086: box [mscorlib]System.Int16
+ IL_008b: stelem.ref
+ IL_008c: ldloc.1
+ IL_008d: ldc.i4.3
+ IL_008e: ldloca.s V_0
+ IL_0090: ldfld float64 AllTypesNoExplicitConstructor::isDouble
+ IL_0095: box [mscorlib]System.Double
+ IL_009a: stelem.ref
+ IL_009b: ldloc.1
+ IL_009c: ldc.i4.4
+ IL_009d: ldloca.s V_0
+ IL_009f: ldflda valuetype [mscorlib]System.RuntimeTypeHandle AllTypesNoExplicitConstructor::isRtTH
+ IL_00a4: call instance native int [mscorlib]System.RuntimeTypeHandle::get_Value()
+ IL_00a9: box [mscorlib]System.IntPtr
+ IL_00ae: stelem.ref
+ IL_00af: ldloc.1
+ IL_00b0: call void [System.Console]System.Console::WriteLine(string,
+ object[])
+ IL_00b5: ldsfld bool Program::IsInit
+ IL_00ba: brtrue.s IL_00c2
+
+ IL_00bc: ldc.i4.0
+ IL_00bd: stsfld bool Program::AllPassed
+ IL_00c2: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ IL_0000: call void Program::Test1()
+ IL_0005: call void Program::Test2()
+ IL_000a: call void Program::Test3()
+ IL_0014: call void Program::Test5()
+ IL_0019: call void Program::Test6()
+ IL_0023: call void Program::Test8()
+ IL_0028: call void Program::Test9()
+ IL_0037: call void Program::Test12()
+ IL_003c: call void Program::Test13()
+ IL_0041: call void Program::Test14()
+ IL_0046: call void Program::Test15()
+ IL_0050: call void Program::Test17()
+ IL_0055: call void Program::Test18()
+ IL_005f: call void Program::Test20()
+ IL_0064: call void Program::Test21()
+ IL_0073: call void Program::Test24()
+ IL_007d: ldsfld bool Program::AllPassed
+ IL_0082: brfalse.s IL_0091
+
+ IL_0084: ldstr "!!!!!!!!!! TEST PASSED !!!!!!!!!!!!!"
+ IL_0089: call void [System.Console]System.Console::WriteLine(string)
+ IL_008e: ldc.i4.s 100
+ IL_0090: ret
+
+ IL_0091: ldstr "!!!!!!!!!! TEST FAILED !!!!!!!!!!!!!"
+ IL_0096: call void [System.Console]System.Console::WriteLine(string)
+ IL_009b: ldc.i4.s 101
+ IL_009d: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: stsfld bool Program::IsInit
+ IL_0006: ldc.i4.1
+ IL_0007: stsfld bool Program::AllPassed
+ IL_000c: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.ilproj
new file mode 100644
index 0000000000..66349bf894
--- /dev/null
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/v2.1/b609988/b609988.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b609988.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/Dev11/External/dev11_149090/project.lock.json b/tests/src/JIT/Regression/Dev11/External/dev11_149090/project.lock.json
index 1dc28330b8..0e0392c941 100644
--- a/tests/src/JIT/Regression/Dev11/External/dev11_149090/project.lock.json
+++ b/tests/src/JIT/Regression/Dev11/External/dev11_149090/project.lock.json
@@ -1575,4 +1575,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/Dev11/dev10_865840/app.config b/tests/src/JIT/Regression/Dev11/dev10_865840/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev10_865840/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.il b/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.il
new file mode 100644
index 0000000000..9d034cd0c8
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.il
@@ -0,0 +1,71 @@
+
+
+
+
+
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly repro
+{
+ .custom instance void [mscorlib]System.Security.SecurityCriticalAttribute::.ctor() = ( 01 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .ver 0:0:0:0
+}
+.module dev10_865840.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class private sequential ansi sealed beforefieldinit DifRepro.MyInt
+ extends [mscorlib]System.ValueType
+{
+ .field public native int i
+}
+
+.class private auto ansi beforefieldinit DifRepro.Program
+ extends [mscorlib]System.Object
+{
+ .field private static class [mscorlib]System.Security.Permissions.SecurityPermission _unmanagedCodePermission
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 8
+ IL_0000: call void DifRepro.Program::Test()
+ IL_0005: ldc.i4 0x64
+ IL_000a: ret
+ }
+
+ .method private hidebysig static void Helper(valuetype DifRepro.MyInt& i) cil managed
+ {
+ .maxstack 8
+ IL_0000: ret
+ }
+
+ .method public hidebysig static reqsecobj
+ void Test() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: call void DifRepro.Program::Helper(valuetype DifRepro.MyInt&)
+ IL_0006: ldsfld class [mscorlib]System.Security.Permissions.SecurityPermission DifRepro.Program::_unmanagedCodePermission
+ IL_000b: brtrue.s IL_0018
+
+ IL_000d: ldc.i4.2
+ IL_000e: newobj instance void [mscorlib]System.Security.Permissions.SecurityPermission::.ctor(valuetype [mscorlib]System.Security.Permissions.SecurityPermissionFlag)
+ IL_0013: stsfld class [mscorlib]System.Security.Permissions.SecurityPermission DifRepro.Program::_unmanagedCodePermission
+ IL_0018: ldsfld class [mscorlib]System.Security.Permissions.SecurityPermission DifRepro.Program::_unmanagedCodePermission
+ IL_001d: callvirt instance void [mscorlib]System.Security.CodeAccessPermission::Demand()
+ IL_0022: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj b/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj
new file mode 100644
index 0000000000..c1e7b9ff4b
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="dev10_865840.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/Dev11/dev11_10427/app.config b/tests/src/JIT/Regression/Dev11/dev11_10427/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev11_10427/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.il b/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.il
new file mode 100644
index 0000000000..5baa8f960f
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.il
@@ -0,0 +1,76 @@
+
+.assembly Conv_ovf_u4_Bug {}
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+.publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+.ver 2:0:0:0
+}
+
+.method static public int32 main() il managed
+{
+.entrypoint
+.locals init ([0] int64 alpha, [1] int32 delta, [2] int32 result)
+
+.try
+{
+call int32 [mscorlib]System.Environment::get_TickCount()
+conv.i8
+ldc.i8 0x80000000
+or
+stloc.0
+ldc.i4 100
+stloc result
+
+ldloc.0
+ldc.i4.m1
+conv.u8
+and
+conv.ovf.i4
+stloc.1
+
+ldstr "First conv.ovf.i4 raised no exception. delta = "
+call void [System.Console]System.Console::Write(string)
+ldloc.1
+call void [System.Console]System.Console::WriteLine(int32)
+ldc.i4 101
+stloc result
+
+ldloc.0
+ldc.i4.m1
+conv.u8
+and
+
+stloc.0
+ldloc.0
+
+conv.ovf.i4
+stloc.1
+
+ldstr "Second conv.ovf.i4 raised no exception. delta = "
+call void [System.Console]System.Console::Write(string)
+ldloc.1
+call void [System.Console]System.Console::WriteLine(int32)
+
+leave.s EXIT
+}
+catch [mscorlib]System.Exception
+{
+callvirt instance class [mscorlib]System.Type [mscorlib]System.Exception::GetType()
+callvirt instance string [mscorlib]System.Reflection.MemberInfo::get_Name()
+call void [System.Console]System.Console::Write(string)
+
+leave.s EXIT
+}
+
+EXIT:
+ldloc result
+ret
+}
+
diff --git a/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.ilproj b/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.ilproj
new file mode 100644
index 0000000000..a706a4b9f4
--- /dev/null
+++ b/tests/src/JIT/Regression/Dev11/dev11_10427/conv_ovf_i4.ilproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>PdbOnly</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="conv_ovf_i4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815941/DevDiv_815941.il b/tests/src/JIT/Regression/JitBlue/devdiv_815941/DevDiv_815941.il
new file mode 100644
index 0000000000..1bf95ef41f
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815941/DevDiv_815941.il
@@ -0,0 +1,86 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly DevDiv_815941 { }
+.module DevDiv_815941.exe
+
+.class Repro
+{
+ .method private hidebysig static int32 Main() cil managed
+ {
+ // This testcase declares a union of two fields: double and long
+ // We ensure that if a non-zero value is stored in the double field
+ // the value returned for the long field is also non-zero
+
+ .entrypoint
+ .maxstack 2
+ .locals init (valuetype DoubleConverter V_0,
+ int64 V_1)
+
+ ldc.r8 1.23
+ ldloca.s V_0
+ call int64 DoubleConverter::ToLong(float64, valuetype DoubleConverter&)
+ stloc.1
+ ldloc.1
+ ldc.i8 0
+ ceq
+ brtrue.s FAIL
+ ldstr "PASS!"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ ret
+FAIL:
+ ldstr "FAIL!"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.1
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.s 101
+ ret
+ }
+}
+
+.class public explicit sealed DoubleConverter extends [mscorlib]System.ValueType
+{
+ .field [0] private float64 d
+ .field [0] private int64 l
+
+ .method public hidebysig static int64 ToLong(float64 'value',
+ valuetype DoubleConverter& converter) cil managed
+ {
+ .maxstack 2
+ .locals init (int64 V_0)
+
+ nop
+ ldarg.1
+ ldarg.0
+ stfld float64 DoubleConverter::d
+ ldarg.1
+ ldfld int64 DoubleConverter::l
+ stloc.0
+ ldloc.0
+ ret
+ }
+
+ .method public hidebysig static float64 ToDouble(int64 'value',
+ valuetype DoubleConverter& converter) cil managed
+ {
+ .maxstack 2
+ .locals init (float64 V_0)
+
+ nop
+ ldarg.1
+ ldarg.0
+ stfld int64 DoubleConverter::l
+ ldarg.1
+ ldfld float64 DoubleConverter::d
+ stloc.0
+ ldloc.0
+ ret
+ }
+
+}
+
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815941/app.config b/tests/src/JIT/Regression/JitBlue/devdiv_815941/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815941/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815941/devdiv_815941.ilproj b/tests/src/JIT/Regression/JitBlue/devdiv_815941/devdiv_815941.ilproj
new file mode 100644
index 0000000000..dca1e87d3e
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815941/devdiv_815941.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="DevDiv_815941.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815942/DevDiv_815942.il b/tests/src/JIT/Regression/JitBlue/devdiv_815942/DevDiv_815942.il
new file mode 100644
index 0000000000..870e4bc848
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815942/DevDiv_815942.il
@@ -0,0 +1,41 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib { }
+.assembly DevDiv_815942 {}
+.module DevDiv_815942.exe
+
+.class Repro
+{
+ .method static int32 Main() cil managed
+ {
+ // This testcase ensures that we correctly compare a double local
+ // against a float const by converting the float const to double
+ // instead of converting the local to float and losing precision
+
+ .entrypoint
+ .locals init (float64 V_1)
+ ldc.i4.1
+ conv.i8
+ call float64 [mscorlib]System.BitConverter::Int64BitsToDouble(int64)
+ conv.r8
+ stloc.0
+ ldloc.0
+ ldc.r4 0.0
+ bne.un.s PASS
+ ldstr "FAIL!"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldloc.0
+ call void [System.Console]System.Console::WriteLine(float64)
+ ldc.i4.s 101
+ ret
+PASS:
+ ldstr "PASS!"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815942/app.config b/tests/src/JIT/Regression/JitBlue/devdiv_815942/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815942/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/JitBlue/devdiv_815942/devdiv_815942.ilproj b/tests/src/JIT/Regression/JitBlue/devdiv_815942/devdiv_815942.ilproj
new file mode 100644
index 0000000000..cd6baa0577
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/devdiv_815942/devdiv_815942.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="DevDiv_815942.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.il b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.il
new file mode 100644
index 0000000000..64b015d904
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.il
@@ -0,0 +1,130 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ldobj.exe{
+
+}
+
+.class public _ldobj {
+
+.method public static int32 main() {
+.entrypoint
+.locals (class [mscorlib]System.IO.TextWriter,value class valClass,value class valClass)
+.maxstack 2
+ call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ stloc 0
+
+ newobj instance void valClass::.ctor()
+ stloc 1
+ newobj instance void valClass::.ctor()
+ stloc 2
+ ldloca 1
+ ldc.i4 0xFAFAFAFA
+ stfld int32 valClass::Field
+ ldc.i4 0xDBDBDBDB
+ stsfld int32 valClass::SField
+
+ ldloca 2
+ ldc.i4 0x00000000
+ stfld int32 valClass::Field
+
+ ldloca 1
+ ldfld int32 valClass::Field
+ ldc.i4 0xFAFAFAFA
+ ceq
+ brfalse failInit
+ ldsfld int32 valClass::SField
+ ldc.i4 0xDBDBDBDB
+ ceq
+ brfalse failInit
+ ldloca 2
+ ldfld int32 valClass::Field
+ ldc.i4 0x00000000
+ ceq
+ brtrue ldlocaTest
+failInit:
+ ldloc 0
+ ldstr "one _or both val classes failed initialization."
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+ldlocaTest:
+ ldloca 1
+ ldobj valClass
+
+ ldloca 2
+ call void _ldobj::changeData(value class valClass,value class valClass*)
+
+ ldloca 1
+ ldfld int32 valClass::Field
+ ldc.i4 0xFAFAFAFA
+ ceq
+ brfalse failTest
+ ldloca 2
+ ldfld int32 valClass::Field
+ ldc.i4 0xBBBBBBBB
+ ceq
+ brfalse failTest
+ ldsfld int32 valClass::SField
+ ldc.i4 0xDDDDDDDD
+ ceq
+ brtrue pass
+failTest:
+ ldloc 0
+ ldstr "failure after initialization."
+
+
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ br fail
+
+pass:
+ ldloc 0
+ ldstr "_ldobj tests PASS"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 100
+ br end
+fail:
+ ldloc 0
+ ldstr "!!! FAILURE !!! LDOBJ TEST(S) FAILED !!! FAILURE !!!"
+
+
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(class [mscorlib]System.String)
+ ldc.i4 0x0
+ br end
+end:
+ ret
+}
+
+.method public static void changeData(value class valClass,value class valClass*) {
+.maxstack 2
+ ldarga 0
+ ldc.i4 0xBBBBBBBB
+ stfld int32 valClass::Field
+ ldc.i4 0xDDDDDDDD
+ stsfld int32 valClass::SField
+ ldarg 1
+ ldarga 0
+ cpobj valClass
+ ret
+}
+
+}
+.class public value sealed valClass {
+.field public int32 Field
+.field public static int32 SField
+
+ .method public public void .ctor(){
+ ret
+ }
+}
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.ilproj
new file mode 100644
index 0000000000..abe151e84b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b84128/b84128.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b84128.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/ConsoleApplication2.il b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/ConsoleApplication2.il
new file mode 100644
index 0000000000..bc49e6a0d8
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/ConsoleApplication2.il
@@ -0,0 +1,104 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern Microsoft.VisualBasic
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 7:0:0:0
+}
+.assembly extern System
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern System.Data
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern System.Xml
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly ConsoleApplication2
+{
+
+
+ .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 39 35 33 34 45 45 36 46 2D 36 43 43 35
+ 2D 34 36 42 37 2D 39 32 30 32 2D 36 42 35 46 44
+ 34 43 37 38 34 45 34 00 00 )
+ .custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 1:0:583:22480
+}
+.module ConsoleApplication2.exe
+.imagebase 0x11000000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+.namespace ConsoleApplication2
+{
+ .class private auto ansi sealed Module1
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [Microsoft.VisualBasic]Microsoft.VisualBasic.Globals/StandardModuleAttribute::.ctor() = ( 01 00 00 00 )
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (bool V_0,
+ int16 V_1,
+ object V_2)
+ IL_0000: nop
+ IL_0001: ldc.i4.s 16
+ IL_0003: stloc.1
+ IL_0004: ldloc.1
+ IL_0005: box [mscorlib]System.Int16
+ IL_000a: stloc.2
+ IL_000b: ldloc.2
+ IL_000c: unbox [mscorlib]System.Int16
+ IL_0011: ldobj [mscorlib]System.Int16
+ IL_0016: ldc.i4.0
+ IL_0017: cgt.un
+ IL_0019: stloc.0
+ IL_001a: ldloc.0
+ IL_001b: brfalse.s IL_0028
+
+ IL_001d: ldstr "test"
+ IL_0022: call void [System.Console]System.Console::WriteLine(string)
+ IL_0027: nop
+ IL_0028: nop
+ IL_0029: nop
+ ldc.i4 100
+ IL_002a: ret
+ }
+
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/b98431.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/b98431.ilproj
new file mode 100644
index 0000000000..62a5135453
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b98431/b98431.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ConsoleApplication2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/b99403.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/b99403.ilproj
new file mode 100644
index 0000000000..8933d153d9
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/b99403.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cbyte7a.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/cbyte7a.il b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/cbyte7a.il
new file mode 100644
index 0000000000..9c3f1ce8f1
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b99403/cbyte7a.il
@@ -0,0 +1,97 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern Microsoft.VisualBasic
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 7:0:0:0
+}
+.assembly extern System
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern System.Data
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly extern System.Xml
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:0:2411:0
+}
+.assembly CByte7a
+{
+
+
+ .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 37 37 32 33 34 36 31 34 2D 34 44 37 37
+ 2D 34 38 45 42 2D 39 45 46 34 2D 36 45 34 42 36
+ 45 30 33 42 42 45 44 00 00 )
+ .custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 00 00 00 )
+ .hash algorithm 0x00008004
+ .ver 1:0:585:20133
+}
+.module CByte7a.exe
+.imagebase 0x11000000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+.namespace CByte7a
+{
+ .class private auto ansi sealed Module1
+ extends [mscorlib]System.Object
+ {
+ .custom instance void [Microsoft.VisualBasic]Microsoft.VisualBasic.Globals/StandardModuleAttribute::.ctor() = ( 01 00 00 00 )
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 )
+ .maxstack 2
+ .locals init (bool V_0,
+ uint8 V_1)
+ IL_0000: nop
+ IL_0001: ldc.i4.1
+ IL_0002: stloc.0
+ IL_0003: ldloc.0
+ IL_0004: ldc.i4.s 31
+ IL_0006: shl
+ IL_0007: ldc.i4.s 31
+ IL_0009: shr
+ IL_000a: conv.u1
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0012: nop
+ IL_0013: nop
+ IL_0014: ldc.i4 100
+ ret
+ }
+
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/b126221.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/b126221.ilproj
new file mode 100644
index 0000000000..975c7a60e9
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/b126221.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cs_il.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/cs_il.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/cs_il.il
new file mode 100644
index 0000000000..20ca667e6a
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b126221/cs_il.il
@@ -0,0 +1,133 @@
+
+
+
+
+.assembly extern legacy library mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .hash = (CA 05 4F 87 FF A4 18 D8 3E 2E 6B D2 6E 73 FE 65
+ 5F E5 6E 66 )
+ .ver 1:2:3400:0
+}
+.assembly legacy library cs_test_01
+{
+
+
+ .permissionset reqmin
+ "<PermissionSet class=\"System.Security.PermissionSe"
+ + "t\"\r\nversion=\"1\">\r\n<IPermission class=\"System.Security.Permis"
+ + "sions.SecurityPermission, mscorlib, Version=1.2.3400.0, Cult"
+ + "ure=neutral, PublicKeyToken=b77a5c561934e089\"\r\nversion=\"1\"\r\n"
+ + "Flags=\"SkipVerification\"/>\r\n</PermissionSet>\r\n"
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module cs_test_01.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class public sequential ansi sealed beforefieldinit big
+ extends [mscorlib]System.ValueType
+{
+ .pack 1
+ .size 20
+ .field public int32 dummy
+}
+
+.class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals (valuetype big V_0,
+ int32* V_1,
+ int32 V_2,
+ int32 V_3,
+ int32* V_4)
+ IL_0000: ldloca.s V_0
+ IL_0002: initobj big
+ IL_0008: sizeof big
+ IL_000e: ldc.i4.s 20
+ IL_0010: beq.s IL_0014
+
+ IL_0012: ldc.i4.1
+ IL_0013: ret
+
+ IL_0014: ldloca.s V_0
+ IL_0016: ldflda int32 big::dummy
+ IL_001b: stloc.1
+ IL_001c: ldc.i4.0
+ IL_001d: stloc.2
+ IL_001e: br.s IL_002b
+
+ IL_0020: ldloc.1
+ IL_0021: ldloc.2
+ IL_0022: stind.i4
+ IL_0023: ldloc.1
+ IL_0024: ldc.i4.4
+ IL_0025: add
+ IL_0026: stloc.1
+ IL_0027: ldloc.2
+ IL_0028: ldc.i4.1
+ IL_0029: add
+ IL_002a: stloc.2
+ IL_002b: ldloc.2
+ IL_002c: ldc.i4.5
+ IL_002d: blt.s IL_0020
+
+ IL_002f: ldc.i4.0
+ IL_0030: stloc.3
+ IL_0031: ldloca.s V_0
+ IL_0033: ldflda int32 big::dummy
+ IL_0038: stloc.s V_4
+ IL_003a: br.s IL_004e
+
+ IL_003c: ldloc.3
+ IL_003d: dup
+ IL_003e: ldc.i4.1
+ IL_003f: add
+ IL_0040: stloc.3
+ IL_0041: ldloc.s V_4
+ IL_0043: ldind.i4
+ IL_0044: beq.s IL_0048
+
+ IL_0046: ldc.i4.1
+ IL_0047: ret
+
+ IL_0048: ldloc.s V_4
+ IL_004a: ldc.i4.4
+ IL_004b: add
+ IL_004c: stloc.s V_4
+ IL_004e: ldloc.s V_4
+ IL_0050: ldloca.s V_0
+ IL_0052: ldflda int32 big::dummy
+ IL_0057: sizeof big
+ IL_005d: add
+ IL_005e: blt.un.s IL_003c
+
+ IL_0060: ldc.i4 100
+ IL_0061: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/b142473.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/b142473.ilproj
new file mode 100644
index 0000000000..0042c47cee
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/b142473.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="loop_06_24_02.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/loop_06_24_02.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/loop_06_24_02.il
new file mode 100644
index 0000000000..f690e14311
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-Beta1/b142473/loop_06_24_02.il
@@ -0,0 +1,36736 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly legacy library test
+{
+ .ver 0:0:0:0
+}
+.module hello.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class private auto ansi myclass
+ extends [mscorlib]System.Object
+{
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 16
+ .locals init (int64 V_0,
+ int64 V_1,
+ int64 V_2,
+ int64 V_3,
+ int64 V_4,
+ int64 V_5,
+ int64 V_6,
+ int64 V_7,
+ int64 V_8,
+ int64 V_9,
+ int64 V_10,
+ int64 V_11,
+ int64 V_12,
+ int64 V_13,
+ int64 V_14,
+ int64 V_15,
+ int64 V_16,
+ int64 V_17,
+ int64 V_18,
+ int64 V_19,
+ int64 V_20,
+ int64 V_21,
+ int64 V_22,
+ int64 V_23,
+ int64 V_24,
+ int64 V_25,
+ int64 V_26,
+ int64 V_27,
+ int64 V_28,
+ int64 V_29,
+ int64 V_30,
+ int64 V_31,
+ int64 V_32,
+ int64 V_33,
+ int64 V_34,
+ int64 V_35,
+ int64 V_36,
+ int64 V_37,
+ int64 V_38,
+ int64 V_39,
+ int64 V_40,
+ int64 V_41,
+ int64 V_42,
+ int64 V_43,
+ int64 V_44,
+ int64 V_45,
+ int64 V_46,
+ int64 V_47,
+ int64 V_48,
+ int64 V_49,
+ int64 V_50,
+ int64 V_51,
+ int64 V_52,
+ int64 V_53,
+ int64 V_54,
+ int64 V_55,
+ int64 V_56,
+ int64 V_57,
+ int64 V_58,
+ int64 V_59)
+ IL_0000: ldc.i8 0x0
+ IL_0009: stloc V_0
+ IL_000d: ldloc V_6
+ IL_0011: ldc.i8 0x1
+ IL_001a: add
+ IL_001b: stloc V_44
+ IL_001f: ldc.i8 0x0
+ IL_0028: stloc V_1
+ IL_002c: ldc.i8 0x0
+ IL_0035: stloc V_2
+ IL_0039: ldc.i8 0x0
+ IL_0042: stloc V_3
+ IL_0046: ldc.i8 0x0
+ IL_004f: stloc V_4
+ IL_0053: br IL_867e
+
+ IL_0058: ldc.i8 0x0
+ IL_0061: stloc V_6
+ IL_0065: ldc.i8 0x0
+ IL_006e: stloc V_7
+ IL_0072: ldc.i8 0x0
+ IL_007b: stloc V_8
+ IL_007f: ldloc V_39
+ IL_0083: ldloc V_47
+ IL_0087: add
+ IL_0088: stloc V_27
+ IL_008c: ldloc V_8
+ IL_0090: ldc.i8 0x1
+ IL_0099: add
+ IL_009a: stloc V_8
+ IL_009e: ldloc V_8
+ IL_00a2: ldc.i8 0x2
+ IL_00ab: blt IL_007f
+
+ IL_00b0: br IL_073f
+
+ IL_00b5: br IL_00c7
+
+ IL_00ba: ldloc V_43
+ IL_00be: ldloc V_20
+ IL_00c2: add
+ IL_00c3: stloc V_37
+ IL_00c7: ldc.i8 0x0
+ IL_00d0: stloc V_9
+ IL_00d4: br IL_0261
+
+ IL_00d9: ldc.i8 0x0
+ IL_00e2: stloc V_11
+ IL_00e6: ldc.i8 0x0
+ IL_00ef: stloc V_12
+ IL_00f3: ldloc V_12
+ IL_00f7: ldc.i8 0x1
+ IL_0100: add
+ IL_0101: stloc V_12
+ IL_0105: ldloc V_12
+ IL_0109: ldc.i8 0x0
+ IL_0112: blt IL_00f3
+
+ IL_0117: nop
+ IL_0118: ldloc V_11
+ IL_011c: ldc.i8 0x1
+ IL_0125: add
+ IL_0126: stloc V_11
+ IL_012a: ldloc V_11
+ IL_012e: ldc.i8 0x0
+ IL_0137: blt IL_00e6
+
+ IL_013c: ldc.i8 0x0
+ IL_0145: stloc V_11
+ IL_0149: br IL_014e
+
+ IL_014e: br IL_0153
+
+ IL_0153: ldloc V_9
+ IL_0157: ldc.i8 0x9
+ IL_0160: add
+ IL_0161: stloc V_18
+ IL_0165: ldloc V_11
+ IL_0169: ldc.i8 0x1
+ IL_0172: add
+ IL_0173: stloc V_11
+ IL_0177: ldloc V_11
+ IL_017b: ldc.i8 0x0
+ IL_0184: blt IL_0149
+
+ IL_0189: br IL_020c
+
+ IL_018e: ldc.i8 0x0
+ IL_0197: stloc V_12
+ IL_019b: ldloc V_12
+ IL_019f: ldc.i8 0x1
+ IL_01a8: add
+ IL_01a9: stloc V_12
+ IL_01ad: ldloc V_12
+ IL_01b1: ldc.i8 0x1
+ IL_01ba: blt IL_019b
+
+ IL_01bf: ldc.i8 0x0
+ IL_01c8: stloc V_12
+ IL_01cc: ldloc V_12
+ IL_01d0: ldc.i8 0x1
+ IL_01d9: add
+ IL_01da: stloc V_12
+ IL_01de: ldloc V_12
+ IL_01e2: ldc.i8 0x0
+ IL_01eb: blt IL_01cc
+
+ IL_01f0: br IL_01f5
+
+ IL_01f5: ldloc V_27
+ IL_01f9: ldloc V_14
+ IL_01fd: add
+ IL_01fe: ldc.i8 0x0
+ IL_0207: add
+ IL_0208: stloc V_27
+ IL_020c: br IL_0254
+
+ IL_0211: ldc.i8 0x0
+ IL_021a: stloc V_12
+ IL_021e: ldloc V_12
+ IL_0222: ldc.i8 0x1
+ IL_022b: add
+ IL_022c: stloc V_12
+ IL_0230: ldloc V_12
+ IL_0234: ldc.i8 0x1
+ IL_023d: blt IL_021e
+
+ IL_0242: ldloc V_21
+ IL_0246: ldc.i8 0x0
+ IL_024f: add
+ IL_0250: stloc V_20
+ IL_0254: ldc.i8 0x7
+ IL_025d: stloc V_19
+ IL_0261: ldc.i8 0x0
+ IL_026a: stloc V_10
+ IL_026e: ldc.i8 0x0
+ IL_0277: stloc V_11
+ IL_027b: br IL_0280
+
+ IL_0280: ldc.i8 0x0
+ IL_0289: stloc V_12
+ IL_028d: ldloc V_12
+ IL_0291: ldc.i8 0x1
+ IL_029a: add
+ IL_029b: stloc V_12
+ IL_029f: ldloc V_12
+ IL_02a3: ldc.i8 0x2
+ IL_02ac: blt IL_028d
+
+ IL_02b1: br IL_02b6
+
+ IL_02b6: ldloc V_32
+ IL_02ba: ldloc V_31
+ IL_02be: add
+ IL_02bf: stloc V_32
+ IL_02c3: ldloc V_11
+ IL_02c7: ldc.i8 0x1
+ IL_02d0: add
+ IL_02d1: stloc V_11
+ IL_02d5: ldloc V_11
+ IL_02d9: ldc.i8 0x1
+ IL_02e2: blt IL_027b
+
+ IL_02e7: ldc.i8 0x0
+ IL_02f0: stloc V_11
+ IL_02f4: ldc.i8 0x0
+ IL_02fd: stloc V_12
+ IL_0301: ldloc V_12
+ IL_0305: ldc.i8 0x1
+ IL_030e: add
+ IL_030f: stloc V_12
+ IL_0313: ldloc V_12
+ IL_0317: ldc.i8 0x0
+ IL_0320: blt IL_0301
+
+ IL_0325: ldc.i8 0x0
+ IL_032e: stloc V_12
+ IL_0332: ldloc V_12
+ IL_0336: ldc.i8 0x1
+ IL_033f: add
+ IL_0340: stloc V_12
+ IL_0344: ldloc V_12
+ IL_0348: ldc.i8 0x1
+ IL_0351: blt IL_0332
+
+ IL_0356: nop
+ IL_0357: ldloc V_11
+ IL_035b: ldc.i8 0x1
+ IL_0364: add
+ IL_0365: stloc V_11
+ IL_0369: ldloc V_11
+ IL_036d: ldc.i8 0x1
+ IL_0376: blt IL_02f4
+
+ IL_037b: ldc.i8 0x0
+ IL_0384: stloc V_11
+ IL_0388: ldc.i8 0x0
+ IL_0391: stloc V_12
+ IL_0395: ldloc V_12
+ IL_0399: ldc.i8 0x1
+ IL_03a2: add
+ IL_03a3: stloc V_12
+ IL_03a7: ldloc V_12
+ IL_03ab: ldc.i8 0x2
+ IL_03b4: blt IL_0395
+
+ IL_03b9: ldloc V_40
+ IL_03bd: ldc.i8 0x5
+ IL_03c6: add
+ IL_03c7: stloc V_23
+ IL_03cb: ldloc V_11
+ IL_03cf: ldc.i8 0x1
+ IL_03d8: add
+ IL_03d9: stloc V_11
+ IL_03dd: ldloc V_11
+ IL_03e1: ldc.i8 0x2
+ IL_03ea: blt IL_0388
+
+ IL_03ef: ldloc V_37
+ IL_03f3: ldc.i8 0x5
+ IL_03fc: add
+ IL_03fd: stloc V_45
+ IL_0401: ldloc V_10
+ IL_0405: ldc.i8 0x1
+ IL_040e: add
+ IL_040f: stloc V_10
+ IL_0413: ldloc V_10
+ IL_0417: ldc.i8 0x0
+ IL_0420: blt IL_026e
+
+ IL_0425: ldc.i8 0x0
+ IL_042e: stloc V_10
+ IL_0432: br IL_047f
+
+ IL_0437: ldc.i8 0x0
+ IL_0440: stloc V_12
+ IL_0444: ldloc V_12
+ IL_0448: ldc.i8 0x1
+ IL_0451: add
+ IL_0452: stloc V_12
+ IL_0456: ldloc V_12
+ IL_045a: ldc.i8 0x0
+ IL_0463: blt IL_0444
+
+ IL_0468: ldloc V_24
+ IL_046c: ldloc V_5
+ IL_0470: add
+ IL_0471: ldc.i8 0x2
+ IL_047a: add
+ IL_047b: stloc V_24
+ IL_047f: ldc.i8 0x0
+ IL_0488: stloc V_11
+ IL_048c: ldloc V_32
+ IL_0490: ldloc V_48
+ IL_0494: add
+ IL_0495: ldc.i8 0x0
+ IL_049e: add
+ IL_049f: stloc V_32
+ IL_04a3: ldloc V_11
+ IL_04a7: ldc.i8 0x1
+ IL_04b0: add
+ IL_04b1: stloc V_11
+ IL_04b5: ldloc V_11
+ IL_04b9: ldc.i8 0x0
+ IL_04c2: blt IL_048c
+
+ IL_04c7: br IL_04e8
+
+ IL_04cc: br IL_04d1
+
+ IL_04d1: ldloc V_48
+ IL_04d5: ldloc V_48
+ IL_04d9: add
+ IL_04da: ldc.i8 0x8
+ IL_04e3: add
+ IL_04e4: stloc V_48
+ IL_04e8: ldc.i8 0x0
+ IL_04f1: stloc V_11
+ IL_04f5: ldc.i8 0x0
+ IL_04fe: stloc V_12
+ IL_0502: ldloc V_12
+ IL_0506: ldc.i8 0x1
+ IL_050f: add
+ IL_0510: stloc V_12
+ IL_0514: ldloc V_12
+ IL_0518: ldc.i8 0x2
+ IL_0521: blt IL_0502
+
+ IL_0526: ldc.i8 0x0
+ IL_052f: stloc V_12
+ IL_0533: ldloc V_12
+ IL_0537: ldc.i8 0x1
+ IL_0540: add
+ IL_0541: stloc V_12
+ IL_0545: ldloc V_12
+ IL_0549: ldc.i8 0x0
+ IL_0552: blt IL_0533
+
+ IL_0557: ldc.i8 0x0
+ IL_0560: stloc V_12
+ IL_0564: ldloc V_12
+ IL_0568: ldc.i8 0x1
+ IL_0571: add
+ IL_0572: stloc V_12
+ IL_0576: ldloc V_12
+ IL_057a: ldc.i8 0x1
+ IL_0583: blt IL_0564
+
+ IL_0588: ldc.i8 0x0
+ IL_0591: stloc V_12
+ IL_0595: ldloc V_12
+ IL_0599: ldc.i8 0x1
+ IL_05a2: add
+ IL_05a3: stloc V_12
+ IL_05a7: ldloc V_12
+ IL_05ab: ldc.i8 0x1
+ IL_05b4: blt IL_0595
+
+ IL_05b9: ldloc V_12
+ IL_05bd: ldloc V_34
+ IL_05c1: add
+ IL_05c2: stloc V_12
+ IL_05c6: ldloc V_11
+ IL_05ca: ldc.i8 0x1
+ IL_05d3: add
+ IL_05d4: stloc V_11
+ IL_05d8: ldloc V_11
+ IL_05dc: ldc.i8 0x2
+ IL_05e5: blt IL_04f5
+
+ IL_05ea: ldloc V_40
+ IL_05ee: stloc V_48
+ IL_05f2: ldloc V_10
+ IL_05f6: ldc.i8 0x1
+ IL_05ff: add
+ IL_0600: stloc V_10
+ IL_0604: ldloc V_10
+ IL_0608: ldc.i8 0x2
+ IL_0611: blt IL_0432
+
+ IL_0616: ldc.i8 0x8
+ IL_061f: stloc V_26
+ IL_0623: ldloc V_9
+ IL_0627: ldc.i8 0x1
+ IL_0630: add
+ IL_0631: stloc V_9
+ IL_0635: ldloc V_9
+ IL_0639: ldc.i8 0x0
+ IL_0642: blt IL_00d4
+
+ IL_0647: ldc.i8 0x0
+ IL_0650: stloc V_9
+ IL_0654: ldc.i8 0x0
+ IL_065d: stloc V_10
+ IL_0661: ldloc V_2
+ IL_0665: stloc V_36
+ IL_0669: ldloc V_10
+ IL_066d: ldc.i8 0x1
+ IL_0676: add
+ IL_0677: stloc V_10
+ IL_067b: ldloc V_10
+ IL_067f: ldc.i8 0x2
+ IL_0688: blt IL_0661
+
+ IL_068d: ldc.i8 0x0
+ IL_0696: stloc V_10
+ IL_069a: br IL_06bb
+
+ IL_069f: br IL_06a4
+
+ IL_06a4: ldloc V_32
+ IL_06a8: ldloc V_20
+ IL_06ac: add
+ IL_06ad: ldc.i8 0x6
+ IL_06b6: add
+ IL_06b7: stloc V_32
+ IL_06bb: br IL_06cd
+
+ IL_06c0: ldloc V_38
+ IL_06c4: ldloc V_22
+ IL_06c8: add
+ IL_06c9: stloc V_45
+ IL_06cd: ldloc V_10
+ IL_06d1: ldc.i8 0x1
+ IL_06da: add
+ IL_06db: stloc V_17
+ IL_06df: ldloc V_10
+ IL_06e3: ldc.i8 0x1
+ IL_06ec: add
+ IL_06ed: stloc V_10
+ IL_06f1: ldloc V_10
+ IL_06f5: ldc.i8 0x2
+ IL_06fe: blt IL_069a
+
+ IL_0703: nop
+ IL_0704: ldloc V_9
+ IL_0708: ldc.i8 0x1
+ IL_0711: add
+ IL_0712: stloc V_9
+ IL_0716: ldloc V_9
+ IL_071a: ldc.i8 0x1
+ IL_0723: blt IL_0654
+
+ IL_0728: ldloc V_11
+ IL_072c: ldloc V_8
+ IL_0730: add
+ IL_0731: ldc.i8 0x0
+ IL_073a: add
+ IL_073b: stloc V_11
+ IL_073f: ldloc V_23
+ IL_0743: ldloc V_39
+ IL_0747: add
+ IL_0748: stloc V_23
+ IL_074c: ldloc V_7
+ IL_0750: ldc.i8 0x1
+ IL_0759: add
+ IL_075a: stloc V_7
+ IL_075e: ldloc V_7
+ IL_0762: ldc.i8 0x2
+ IL_076b: blt IL_0072
+
+ IL_0770: br IL_27f4
+
+ IL_0775: br IL_0ed3
+
+ IL_077a: ldc.i8 0x0
+ IL_0783: stloc V_9
+ IL_0787: ldc.i8 0x0
+ IL_0790: stloc V_10
+ IL_0794: ldc.i8 0x0
+ IL_079d: stloc V_11
+ IL_07a1: ldc.i8 0x0
+ IL_07aa: stloc V_12
+ IL_07ae: ldloc V_12
+ IL_07b2: ldc.i8 0x1
+ IL_07bb: add
+ IL_07bc: stloc V_12
+ IL_07c0: ldloc V_12
+ IL_07c4: ldc.i8 0x0
+ IL_07cd: blt IL_07ae
+
+ IL_07d2: ldloc V_31
+ IL_07d6: ldloc V_31
+ IL_07da: add
+ IL_07db: stloc V_47
+ IL_07df: ldloc V_11
+ IL_07e3: ldc.i8 0x1
+ IL_07ec: add
+ IL_07ed: stloc V_11
+ IL_07f1: ldloc V_11
+ IL_07f5: ldc.i8 0x1
+ IL_07fe: blt IL_07a1
+
+ IL_0803: nop
+ IL_0804: ldloc V_10
+ IL_0808: ldc.i8 0x1
+ IL_0811: add
+ IL_0812: stloc V_10
+ IL_0816: ldloc V_10
+ IL_081a: ldc.i8 0x2
+ IL_0823: blt IL_0794
+
+ IL_0828: ldc.i8 0x0
+ IL_0831: stloc V_10
+ IL_0835: ldc.i8 0x0
+ IL_083e: stloc V_11
+ IL_0842: ldc.i8 0x0
+ IL_084b: stloc V_12
+ IL_084f: ldloc V_12
+ IL_0853: ldc.i8 0x1
+ IL_085c: add
+ IL_085d: stloc V_12
+ IL_0861: ldloc V_12
+ IL_0865: ldc.i8 0x1
+ IL_086e: blt IL_084f
+
+ IL_0873: br IL_0878
+
+ IL_0878: ldc.i8 0x0
+ IL_0881: stloc V_12
+ IL_0885: ldloc V_12
+ IL_0889: ldc.i8 0x1
+ IL_0892: add
+ IL_0893: stloc V_12
+ IL_0897: ldloc V_12
+ IL_089b: ldc.i8 0x2
+ IL_08a4: blt IL_0885
+
+ IL_08a9: ldc.i8 0x0
+ IL_08b2: stloc V_12
+ IL_08b6: ldloc V_12
+ IL_08ba: ldc.i8 0x1
+ IL_08c3: add
+ IL_08c4: stloc V_12
+ IL_08c8: ldloc V_12
+ IL_08cc: ldc.i8 0x0
+ IL_08d5: blt IL_08b6
+
+ IL_08da: nop
+ IL_08db: ldloc V_11
+ IL_08df: ldc.i8 0x1
+ IL_08e8: add
+ IL_08e9: stloc V_11
+ IL_08ed: ldloc V_11
+ IL_08f1: ldc.i8 0x0
+ IL_08fa: blt IL_0842
+
+ IL_08ff: ldc.i8 0x0
+ IL_0908: stloc V_11
+ IL_090c: ldloc V_29
+ IL_0910: ldloc V_48
+ IL_0914: add
+ IL_0915: stloc V_29
+ IL_0919: ldloc V_11
+ IL_091d: ldc.i8 0x1
+ IL_0926: add
+ IL_0927: stloc V_11
+ IL_092b: ldloc V_11
+ IL_092f: ldc.i8 0x2
+ IL_0938: blt IL_090c
+
+ IL_093d: br IL_09bb
+
+ IL_0942: br IL_0947
+
+ IL_0947: ldc.i8 0x0
+ IL_0950: stloc V_12
+ IL_0954: ldloc V_12
+ IL_0958: ldc.i8 0x1
+ IL_0961: add
+ IL_0962: stloc V_12
+ IL_0966: ldloc V_12
+ IL_096a: ldc.i8 0x2
+ IL_0973: blt IL_0954
+
+ IL_0978: ldc.i8 0x0
+ IL_0981: stloc V_12
+ IL_0985: ldloc V_12
+ IL_0989: ldc.i8 0x1
+ IL_0992: add
+ IL_0993: stloc V_12
+ IL_0997: ldloc V_12
+ IL_099b: ldc.i8 0x0
+ IL_09a4: blt IL_0985
+
+ IL_09a9: br IL_09ae
+
+ IL_09ae: ldloc V_0
+ IL_09b2: ldloc V_9
+ IL_09b6: add
+ IL_09b7: stloc V_30
+ IL_09bb: ldc.i8 0x0
+ IL_09c4: stloc V_11
+ IL_09c8: ldc.i8 0x0
+ IL_09d1: stloc V_12
+ IL_09d5: ldloc V_12
+ IL_09d9: ldc.i8 0x1
+ IL_09e2: add
+ IL_09e3: stloc V_12
+ IL_09e7: ldloc V_12
+ IL_09eb: ldc.i8 0x1
+ IL_09f4: blt IL_09d5
+
+ IL_09f9: ldc.i8 0x0
+ IL_0a02: stloc V_12
+ IL_0a06: ldloc V_12
+ IL_0a0a: ldc.i8 0x1
+ IL_0a13: add
+ IL_0a14: stloc V_12
+ IL_0a18: ldloc V_12
+ IL_0a1c: ldc.i8 0x2
+ IL_0a25: blt IL_0a06
+
+ IL_0a2a: ldloc V_40
+ IL_0a2e: stloc V_13
+ IL_0a32: ldloc V_11
+ IL_0a36: ldc.i8 0x1
+ IL_0a3f: add
+ IL_0a40: stloc V_11
+ IL_0a44: ldloc V_11
+ IL_0a48: ldc.i8 0x1
+ IL_0a51: blt IL_09c8
+
+ IL_0a56: ldloc V_32
+ IL_0a5a: stloc V_45
+ IL_0a5e: ldloc V_10
+ IL_0a62: ldc.i8 0x1
+ IL_0a6b: add
+ IL_0a6c: stloc V_10
+ IL_0a70: ldloc V_10
+ IL_0a74: ldc.i8 0x2
+ IL_0a7d: blt IL_0835
+
+ IL_0a82: ldloc V_11
+ IL_0a86: ldloc V_41
+ IL_0a8a: add
+ IL_0a8b: stloc V_11
+ IL_0a8f: ldloc V_9
+ IL_0a93: ldc.i8 0x1
+ IL_0a9c: add
+ IL_0a9d: stloc V_9
+ IL_0aa1: ldloc V_9
+ IL_0aa5: ldc.i8 0x0
+ IL_0aae: blt IL_0787
+
+ IL_0ab3: br IL_0ac5
+
+ IL_0ab8: ldloc V_31
+ IL_0abc: ldloc V_19
+ IL_0ac0: add
+ IL_0ac1: stloc V_48
+ IL_0ac5: br IL_0ebc
+
+ IL_0aca: ldc.i8 0x0
+ IL_0ad3: stloc V_10
+ IL_0ad7: ldc.i8 0x0
+ IL_0ae0: stloc V_11
+ IL_0ae4: ldc.i8 0x0
+ IL_0aed: stloc V_12
+ IL_0af1: ldloc V_12
+ IL_0af5: ldc.i8 0x1
+ IL_0afe: add
+ IL_0aff: stloc V_12
+ IL_0b03: ldloc V_12
+ IL_0b07: ldc.i8 0x2
+ IL_0b10: blt IL_0af1
+
+ IL_0b15: ldc.i8 0x0
+ IL_0b1e: stloc V_12
+ IL_0b22: ldloc V_12
+ IL_0b26: ldc.i8 0x1
+ IL_0b2f: add
+ IL_0b30: stloc V_12
+ IL_0b34: ldloc V_12
+ IL_0b38: ldc.i8 0x0
+ IL_0b41: blt IL_0b22
+
+ IL_0b46: ldloc V_21
+ IL_0b4a: ldloc V_27
+ IL_0b4e: add
+ IL_0b4f: ldc.i8 0x6
+ IL_0b58: add
+ IL_0b59: stloc V_21
+ IL_0b5d: ldloc V_11
+ IL_0b61: ldc.i8 0x1
+ IL_0b6a: add
+ IL_0b6b: stloc V_11
+ IL_0b6f: ldloc V_11
+ IL_0b73: ldc.i8 0x1
+ IL_0b7c: blt IL_0ae4
+
+ IL_0b81: br IL_0b98
+
+ IL_0b86: br IL_0b8b
+
+ IL_0b8b: ldloc V_27
+ IL_0b8f: ldloc V_9
+ IL_0b93: add
+ IL_0b94: stloc V_27
+ IL_0b98: ldc.i8 0x0
+ IL_0ba1: stloc V_44
+ IL_0ba5: ldloc V_10
+ IL_0ba9: ldc.i8 0x1
+ IL_0bb2: add
+ IL_0bb3: stloc V_10
+ IL_0bb7: ldloc V_10
+ IL_0bbb: ldc.i8 0x2
+ IL_0bc4: blt IL_0ad7
+
+ IL_0bc9: br IL_0ce6
+
+ IL_0bce: br IL_0c05
+
+ IL_0bd3: ldc.i8 0x0
+ IL_0bdc: stloc V_12
+ IL_0be0: ldloc V_12
+ IL_0be4: ldc.i8 0x1
+ IL_0bed: add
+ IL_0bee: stloc V_12
+ IL_0bf2: ldloc V_12
+ IL_0bf6: ldc.i8 0x1
+ IL_0bff: blt IL_0be0
+
+ IL_0c04: nop
+ IL_0c05: ldc.i8 0x0
+ IL_0c0e: stloc V_11
+ IL_0c12: ldc.i8 0x0
+ IL_0c1b: stloc V_12
+ IL_0c1f: ldloc V_12
+ IL_0c23: ldc.i8 0x1
+ IL_0c2c: add
+ IL_0c2d: stloc V_12
+ IL_0c31: ldloc V_12
+ IL_0c35: ldc.i8 0x2
+ IL_0c3e: blt IL_0c1f
+
+ IL_0c43: br IL_0c48
+
+ IL_0c48: ldc.i8 0x0
+ IL_0c51: stloc V_12
+ IL_0c55: ldloc V_12
+ IL_0c59: ldc.i8 0x1
+ IL_0c62: add
+ IL_0c63: stloc V_12
+ IL_0c67: ldloc V_12
+ IL_0c6b: ldc.i8 0x1
+ IL_0c74: blt IL_0c55
+
+ IL_0c79: ldc.i8 0x0
+ IL_0c82: stloc V_12
+ IL_0c86: ldloc V_12
+ IL_0c8a: ldc.i8 0x1
+ IL_0c93: add
+ IL_0c94: stloc V_12
+ IL_0c98: ldloc V_12
+ IL_0c9c: ldc.i8 0x1
+ IL_0ca5: blt IL_0c86
+
+ IL_0caa: nop
+ IL_0cab: ldloc V_11
+ IL_0caf: ldc.i8 0x1
+ IL_0cb8: add
+ IL_0cb9: stloc V_11
+ IL_0cbd: ldloc V_11
+ IL_0cc1: ldc.i8 0x0
+ IL_0cca: blt IL_0c12
+
+ IL_0ccf: ldloc V_19
+ IL_0cd3: ldloc V_39
+ IL_0cd7: add
+ IL_0cd8: ldc.i8 0x1
+ IL_0ce1: add
+ IL_0ce2: stloc V_19
+ IL_0ce6: ldc.i8 0x0
+ IL_0cef: stloc V_10
+ IL_0cf3: ldc.i8 0x0
+ IL_0cfc: stloc V_11
+ IL_0d00: br IL_0d05
+
+ IL_0d05: ldc.i8 0x0
+ IL_0d0e: stloc V_12
+ IL_0d12: ldloc V_12
+ IL_0d16: ldc.i8 0x1
+ IL_0d1f: add
+ IL_0d20: stloc V_12
+ IL_0d24: ldloc V_12
+ IL_0d28: ldc.i8 0x2
+ IL_0d31: blt IL_0d12
+
+ IL_0d36: ldc.i8 0x0
+ IL_0d3f: stloc V_12
+ IL_0d43: ldloc V_12
+ IL_0d47: ldc.i8 0x1
+ IL_0d50: add
+ IL_0d51: stloc V_12
+ IL_0d55: ldloc V_12
+ IL_0d59: ldc.i8 0x1
+ IL_0d62: blt IL_0d43
+
+ IL_0d67: br IL_0d6c
+
+ IL_0d6c: ldloc V_7
+ IL_0d70: ldc.i8 0x6
+ IL_0d79: add
+ IL_0d7a: stloc V_45
+ IL_0d7e: ldloc V_11
+ IL_0d82: ldc.i8 0x1
+ IL_0d8b: add
+ IL_0d8c: stloc V_11
+ IL_0d90: ldloc V_11
+ IL_0d94: ldc.i8 0x1
+ IL_0d9d: blt IL_0d00
+
+ IL_0da2: ldc.i8 0x0
+ IL_0dab: stloc V_11
+ IL_0daf: ldloc V_18
+ IL_0db3: stloc V_15
+ IL_0db7: ldloc V_11
+ IL_0dbb: ldc.i8 0x1
+ IL_0dc4: add
+ IL_0dc5: stloc V_11
+ IL_0dc9: ldloc V_11
+ IL_0dcd: ldc.i8 0x0
+ IL_0dd6: blt IL_0daf
+
+ IL_0ddb: br IL_0e74
+
+ IL_0de0: ldc.i8 0x0
+ IL_0de9: stloc V_12
+ IL_0ded: ldloc V_12
+ IL_0df1: ldc.i8 0x1
+ IL_0dfa: add
+ IL_0dfb: stloc V_12
+ IL_0dff: ldloc V_12
+ IL_0e03: ldc.i8 0x2
+ IL_0e0c: blt IL_0ded
+
+ IL_0e11: ldc.i8 0x0
+ IL_0e1a: stloc V_12
+ IL_0e1e: ldloc V_12
+ IL_0e22: ldc.i8 0x1
+ IL_0e2b: add
+ IL_0e2c: stloc V_12
+ IL_0e30: ldloc V_12
+ IL_0e34: ldc.i8 0x0
+ IL_0e3d: blt IL_0e1e
+
+ IL_0e42: ldc.i8 0x0
+ IL_0e4b: stloc V_12
+ IL_0e4f: ldloc V_12
+ IL_0e53: ldc.i8 0x1
+ IL_0e5c: add
+ IL_0e5d: stloc V_12
+ IL_0e61: ldloc V_12
+ IL_0e65: ldc.i8 0x0
+ IL_0e6e: blt IL_0e4f
+
+ IL_0e73: nop
+ IL_0e74: ldc.i8 0x5
+ IL_0e7d: stloc V_39
+ IL_0e81: ldloc V_10
+ IL_0e85: ldc.i8 0x1
+ IL_0e8e: add
+ IL_0e8f: stloc V_10
+ IL_0e93: ldloc V_10
+ IL_0e97: ldc.i8 0x1
+ IL_0ea0: blt IL_0cf3
+
+ IL_0ea5: ldloc V_42
+ IL_0ea9: ldloc V_28
+ IL_0ead: add
+ IL_0eae: ldc.i8 0x5
+ IL_0eb7: add
+ IL_0eb8: stloc V_42
+ IL_0ebc: ldloc V_17
+ IL_0ec0: ldloc V_42
+ IL_0ec4: add
+ IL_0ec5: ldc.i8 0x1
+ IL_0ece: add
+ IL_0ecf: stloc V_17
+ IL_0ed3: ldc.i8 0x0
+ IL_0edc: stloc V_8
+ IL_0ee0: ldc.i8 0x0
+ IL_0ee9: stloc V_9
+ IL_0eed: ldc.i8 0x0
+ IL_0ef6: stloc V_10
+ IL_0efa: ldc.i8 0x0
+ IL_0f03: stloc V_11
+ IL_0f07: ldc.i8 0x0
+ IL_0f10: stloc V_12
+ IL_0f14: ldloc V_12
+ IL_0f18: ldc.i8 0x1
+ IL_0f21: add
+ IL_0f22: stloc V_12
+ IL_0f26: ldloc V_12
+ IL_0f2a: ldc.i8 0x2
+ IL_0f33: blt IL_0f14
+
+ IL_0f38: ldc.i8 0x0
+ IL_0f41: stloc V_12
+ IL_0f45: ldloc V_12
+ IL_0f49: ldc.i8 0x1
+ IL_0f52: add
+ IL_0f53: stloc V_12
+ IL_0f57: ldloc V_12
+ IL_0f5b: ldc.i8 0x1
+ IL_0f64: blt IL_0f45
+
+ IL_0f69: ldc.i8 0x0
+ IL_0f72: stloc V_12
+ IL_0f76: ldloc V_12
+ IL_0f7a: ldc.i8 0x1
+ IL_0f83: add
+ IL_0f84: stloc V_12
+ IL_0f88: ldloc V_12
+ IL_0f8c: ldc.i8 0x0
+ IL_0f95: blt IL_0f76
+
+ IL_0f9a: ldloc V_29
+ IL_0f9e: stloc V_23
+ IL_0fa2: ldloc V_11
+ IL_0fa6: ldc.i8 0x1
+ IL_0faf: add
+ IL_0fb0: stloc V_11
+ IL_0fb4: ldloc V_11
+ IL_0fb8: ldc.i8 0x1
+ IL_0fc1: blt IL_0f07
+
+ IL_0fc6: ldc.i8 0x0
+ IL_0fcf: stloc V_11
+ IL_0fd3: ldloc V_33
+ IL_0fd7: stloc V_15
+ IL_0fdb: ldloc V_11
+ IL_0fdf: ldc.i8 0x1
+ IL_0fe8: add
+ IL_0fe9: stloc V_11
+ IL_0fed: ldloc V_11
+ IL_0ff1: ldc.i8 0x1
+ IL_0ffa: blt IL_0fd3
+
+ IL_0fff: ldc.i8 0x0
+ IL_1008: stloc V_11
+ IL_100c: ldc.i8 0x0
+ IL_1015: stloc V_12
+ IL_1019: ldloc V_12
+ IL_101d: ldc.i8 0x1
+ IL_1026: add
+ IL_1027: stloc V_12
+ IL_102b: ldloc V_12
+ IL_102f: ldc.i8 0x0
+ IL_1038: blt IL_1019
+
+ IL_103d: ldc.i8 0x0
+ IL_1046: stloc V_12
+ IL_104a: ldloc V_12
+ IL_104e: ldc.i8 0x1
+ IL_1057: add
+ IL_1058: stloc V_12
+ IL_105c: ldloc V_12
+ IL_1060: ldc.i8 0x1
+ IL_1069: blt IL_104a
+
+ IL_106e: ldloc V_21
+ IL_1072: ldloc V_49
+ IL_1076: add
+ IL_1077: ldc.i8 0x0
+ IL_1080: add
+ IL_1081: stloc V_21
+ IL_1085: ldloc V_11
+ IL_1089: ldc.i8 0x1
+ IL_1092: add
+ IL_1093: stloc V_11
+ IL_1097: ldloc V_11
+ IL_109b: ldc.i8 0x1
+ IL_10a4: blt IL_100c
+
+ IL_10a9: nop
+ IL_10aa: ldloc V_10
+ IL_10ae: ldc.i8 0x1
+ IL_10b7: add
+ IL_10b8: stloc V_10
+ IL_10bc: ldloc V_10
+ IL_10c0: ldc.i8 0x2
+ IL_10c9: blt IL_0efa
+
+ IL_10ce: br IL_10e0
+
+ IL_10d3: ldloc V_46
+ IL_10d7: ldloc V_21
+ IL_10db: add
+ IL_10dc: stloc V_44
+ IL_10e0: nop
+ IL_10e1: ldloc V_9
+ IL_10e5: ldc.i8 0x1
+ IL_10ee: add
+ IL_10ef: stloc V_9
+ IL_10f3: ldloc V_9
+ IL_10f7: ldc.i8 0x1
+ IL_1100: blt IL_0eed
+
+ IL_1105: br IL_1117
+
+ IL_110a: ldc.i8 0x8
+ IL_1113: stloc V_16
+ IL_1117: ldc.i8 0x0
+ IL_1120: stloc V_9
+ IL_1124: ldloc V_39
+ IL_1128: ldloc V_40
+ IL_112c: add
+ IL_112d: ldc.i8 0x0
+ IL_1136: add
+ IL_1137: stloc V_39
+ IL_113b: ldloc V_9
+ IL_113f: ldc.i8 0x1
+ IL_1148: add
+ IL_1149: stloc V_9
+ IL_114d: ldloc V_9
+ IL_1151: ldc.i8 0x1
+ IL_115a: blt IL_1124
+
+ IL_115f: ldloc V_41
+ IL_1163: ldloc V_45
+ IL_1167: add
+ IL_1168: ldc.i8 0x7
+ IL_1171: add
+ IL_1172: stloc V_41
+ IL_1176: ldloc V_8
+ IL_117a: ldc.i8 0x1
+ IL_1183: add
+ IL_1184: stloc V_8
+ IL_1188: ldloc V_8
+ IL_118c: ldc.i8 0x2
+ IL_1195: blt IL_0ee0
+
+ IL_119a: br IL_2237
+
+ IL_119f: ldc.i8 0x0
+ IL_11a8: stloc V_9
+ IL_11ac: br IL_13ad
+
+ IL_11b1: ldc.i8 0x0
+ IL_11ba: stloc V_11
+ IL_11be: ldc.i8 0x0
+ IL_11c7: stloc V_12
+ IL_11cb: ldloc V_12
+ IL_11cf: ldc.i8 0x1
+ IL_11d8: add
+ IL_11d9: stloc V_12
+ IL_11dd: ldloc V_12
+ IL_11e1: ldc.i8 0x2
+ IL_11ea: blt IL_11cb
+
+ IL_11ef: br IL_11f4
+
+ IL_11f4: ldloc V_3
+ IL_11f8: stloc V_29
+ IL_11fc: ldloc V_11
+ IL_1200: ldc.i8 0x1
+ IL_1209: add
+ IL_120a: stloc V_11
+ IL_120e: ldloc V_11
+ IL_1212: ldc.i8 0x1
+ IL_121b: blt IL_11be
+
+ IL_1220: ldc.i8 0x0
+ IL_1229: stloc V_11
+ IL_122d: ldc.i8 0x0
+ IL_1236: stloc V_12
+ IL_123a: ldloc V_12
+ IL_123e: ldc.i8 0x1
+ IL_1247: add
+ IL_1248: stloc V_12
+ IL_124c: ldloc V_12
+ IL_1250: ldc.i8 0x1
+ IL_1259: blt IL_123a
+
+ IL_125e: br IL_1263
+
+ IL_1263: ldc.i8 0x0
+ IL_126c: stloc V_12
+ IL_1270: ldloc V_12
+ IL_1274: ldc.i8 0x1
+ IL_127d: add
+ IL_127e: stloc V_12
+ IL_1282: ldloc V_12
+ IL_1286: ldc.i8 0x2
+ IL_128f: blt IL_1270
+
+ IL_1294: br IL_1299
+
+ IL_1299: ldc.i8 0x6
+ IL_12a2: stloc V_25
+ IL_12a6: ldloc V_11
+ IL_12aa: ldc.i8 0x1
+ IL_12b3: add
+ IL_12b4: stloc V_11
+ IL_12b8: ldloc V_11
+ IL_12bc: ldc.i8 0x2
+ IL_12c5: blt IL_122d
+
+ IL_12ca: ldc.i8 0x0
+ IL_12d3: stloc V_11
+ IL_12d7: ldc.i8 0x0
+ IL_12e0: stloc V_12
+ IL_12e4: ldloc V_12
+ IL_12e8: ldc.i8 0x1
+ IL_12f1: add
+ IL_12f2: stloc V_12
+ IL_12f6: ldloc V_12
+ IL_12fa: ldc.i8 0x1
+ IL_1303: blt IL_12e4
+
+ IL_1308: ldc.i8 0x0
+ IL_1311: stloc V_12
+ IL_1315: ldloc V_12
+ IL_1319: ldc.i8 0x1
+ IL_1322: add
+ IL_1323: stloc V_12
+ IL_1327: ldloc V_12
+ IL_132b: ldc.i8 0x2
+ IL_1334: blt IL_1315
+
+ IL_1339: ldc.i8 0x0
+ IL_1342: stloc V_12
+ IL_1346: ldloc V_12
+ IL_134a: ldc.i8 0x1
+ IL_1353: add
+ IL_1354: stloc V_12
+ IL_1358: ldloc V_12
+ IL_135c: ldc.i8 0x1
+ IL_1365: blt IL_1346
+
+ IL_136a: ldloc V_23
+ IL_136e: ldloc V_25
+ IL_1372: add
+ IL_1373: ldc.i8 0x6
+ IL_137c: add
+ IL_137d: stloc V_23
+ IL_1381: ldloc V_11
+ IL_1385: ldc.i8 0x1
+ IL_138e: add
+ IL_138f: stloc V_11
+ IL_1393: ldloc V_11
+ IL_1397: ldc.i8 0x0
+ IL_13a0: blt IL_12d7
+
+ IL_13a5: ldloc V_5
+ IL_13a9: stloc V_45
+ IL_13ad: ldc.i8 0x0
+ IL_13b6: stloc V_10
+ IL_13ba: ldloc V_12
+ IL_13be: ldloc V_48
+ IL_13c2: add
+ IL_13c3: ldc.i8 0x9
+ IL_13cc: add
+ IL_13cd: stloc V_12
+ IL_13d1: ldloc V_10
+ IL_13d5: ldc.i8 0x1
+ IL_13de: add
+ IL_13df: stloc V_10
+ IL_13e3: ldloc V_10
+ IL_13e7: ldc.i8 0x1
+ IL_13f0: blt IL_13ba
+
+ IL_13f5: ldc.i8 0x0
+ IL_13fe: stloc V_10
+ IL_1402: ldc.i8 0x0
+ IL_140b: stloc V_11
+ IL_140f: ldc.i8 0x0
+ IL_1418: stloc V_12
+ IL_141c: ldloc V_12
+ IL_1420: ldc.i8 0x1
+ IL_1429: add
+ IL_142a: stloc V_12
+ IL_142e: ldloc V_12
+ IL_1432: ldc.i8 0x2
+ IL_143b: blt IL_141c
+
+ IL_1440: ldc.i8 0x0
+ IL_1449: stloc V_12
+ IL_144d: ldloc V_12
+ IL_1451: ldc.i8 0x1
+ IL_145a: add
+ IL_145b: stloc V_12
+ IL_145f: ldloc V_12
+ IL_1463: ldc.i8 0x0
+ IL_146c: blt IL_144d
+
+ IL_1471: ldc.i8 0x0
+ IL_147a: stloc V_12
+ IL_147e: ldloc V_12
+ IL_1482: ldc.i8 0x1
+ IL_148b: add
+ IL_148c: stloc V_12
+ IL_1490: ldloc V_12
+ IL_1494: ldc.i8 0x0
+ IL_149d: blt IL_147e
+
+ IL_14a2: ldloc V_16
+ IL_14a6: ldloc V_7
+ IL_14aa: add
+ IL_14ab: ldc.i8 0x9
+ IL_14b4: add
+ IL_14b5: stloc V_16
+ IL_14b9: ldloc V_11
+ IL_14bd: ldc.i8 0x1
+ IL_14c6: add
+ IL_14c7: stloc V_11
+ IL_14cb: ldloc V_11
+ IL_14cf: ldc.i8 0x0
+ IL_14d8: blt IL_140f
+
+ IL_14dd: ldc.i8 0x0
+ IL_14e6: stloc V_11
+ IL_14ea: ldloc V_46
+ IL_14ee: stloc V_42
+ IL_14f2: ldloc V_11
+ IL_14f6: ldc.i8 0x1
+ IL_14ff: add
+ IL_1500: stloc V_11
+ IL_1504: ldloc V_11
+ IL_1508: ldc.i8 0x1
+ IL_1511: blt IL_14ea
+
+ IL_1516: ldloc V_41
+ IL_151a: stloc V_30
+ IL_151e: ldloc V_10
+ IL_1522: ldc.i8 0x1
+ IL_152b: add
+ IL_152c: stloc V_10
+ IL_1530: ldloc V_10
+ IL_1534: ldc.i8 0x1
+ IL_153d: blt IL_1402
+
+ IL_1542: ldc.i8 0x7
+ IL_154b: stloc V_21
+ IL_154f: ldloc V_9
+ IL_1553: ldc.i8 0x1
+ IL_155c: add
+ IL_155d: stloc V_9
+ IL_1561: ldloc V_9
+ IL_1565: ldc.i8 0x0
+ IL_156e: blt IL_11ac
+
+ IL_1573: br IL_19df
+
+ IL_1578: ldc.i8 0x0
+ IL_1581: stloc V_10
+ IL_1585: ldc.i8 0x0
+ IL_158e: stloc V_11
+ IL_1592: ldc.i8 0x0
+ IL_159b: stloc V_12
+ IL_159f: ldloc V_12
+ IL_15a3: ldc.i8 0x1
+ IL_15ac: add
+ IL_15ad: stloc V_12
+ IL_15b1: ldloc V_12
+ IL_15b5: ldc.i8 0x2
+ IL_15be: blt IL_159f
+
+ IL_15c3: br IL_15c8
+
+ IL_15c8: ldc.i8 0x0
+ IL_15d1: stloc V_12
+ IL_15d5: ldloc V_12
+ IL_15d9: ldc.i8 0x1
+ IL_15e2: add
+ IL_15e3: stloc V_12
+ IL_15e7: ldloc V_12
+ IL_15eb: ldc.i8 0x0
+ IL_15f4: blt IL_15d5
+
+ IL_15f9: ldloc V_14
+ IL_15fd: ldloc V_32
+ IL_1601: add
+ IL_1602: stloc V_14
+ IL_1606: ldloc V_11
+ IL_160a: ldc.i8 0x1
+ IL_1613: add
+ IL_1614: stloc V_11
+ IL_1618: ldloc V_11
+ IL_161c: ldc.i8 0x1
+ IL_1625: blt IL_1592
+
+ IL_162a: ldc.i8 0x0
+ IL_1633: stloc V_11
+ IL_1637: ldc.i8 0x0
+ IL_1640: stloc V_12
+ IL_1644: ldloc V_12
+ IL_1648: ldc.i8 0x1
+ IL_1651: add
+ IL_1652: stloc V_12
+ IL_1656: ldloc V_12
+ IL_165a: ldc.i8 0x0
+ IL_1663: blt IL_1644
+
+ IL_1668: ldloc V_2
+ IL_166c: ldc.i8 0x2
+ IL_1675: add
+ IL_1676: stloc V_22
+ IL_167a: ldloc V_11
+ IL_167e: ldc.i8 0x1
+ IL_1687: add
+ IL_1688: stloc V_11
+ IL_168c: ldloc V_11
+ IL_1690: ldc.i8 0x1
+ IL_1699: blt IL_1637
+
+ IL_169e: ldc.i8 0x0
+ IL_16a7: stloc V_11
+ IL_16ab: ldc.i8 0x0
+ IL_16b4: stloc V_12
+ IL_16b8: ldloc V_12
+ IL_16bc: ldc.i8 0x1
+ IL_16c5: add
+ IL_16c6: stloc V_12
+ IL_16ca: ldloc V_12
+ IL_16ce: ldc.i8 0x0
+ IL_16d7: blt IL_16b8
+
+ IL_16dc: ldloc V_32
+ IL_16e0: ldloc V_44
+ IL_16e4: add
+ IL_16e5: stloc V_32
+ IL_16e9: ldloc V_11
+ IL_16ed: ldc.i8 0x1
+ IL_16f6: add
+ IL_16f7: stloc V_11
+ IL_16fb: ldloc V_11
+ IL_16ff: ldc.i8 0x2
+ IL_1708: blt IL_16ab
+
+ IL_170d: ldc.i8 0x0
+ IL_1716: stloc V_11
+ IL_171a: br IL_171f
+
+ IL_171f: ldc.i8 0x3
+ IL_1728: stloc V_26
+ IL_172c: ldloc V_11
+ IL_1730: ldc.i8 0x1
+ IL_1739: add
+ IL_173a: stloc V_11
+ IL_173e: ldloc V_11
+ IL_1742: ldc.i8 0x2
+ IL_174b: blt IL_171a
+
+ IL_1750: ldloc V_32
+ IL_1754: stloc V_48
+ IL_1758: ldloc V_10
+ IL_175c: ldc.i8 0x1
+ IL_1765: add
+ IL_1766: stloc V_10
+ IL_176a: ldloc V_10
+ IL_176e: ldc.i8 0x1
+ IL_1777: blt IL_1585
+
+ IL_177c: br IL_1978
+
+ IL_1781: br IL_1826
+
+ IL_1786: br IL_178b
+
+ IL_178b: ldc.i8 0x0
+ IL_1794: stloc V_12
+ IL_1798: ldloc V_12
+ IL_179c: ldc.i8 0x1
+ IL_17a5: add
+ IL_17a6: stloc V_12
+ IL_17aa: ldloc V_12
+ IL_17ae: ldc.i8 0x1
+ IL_17b7: blt IL_1798
+
+ IL_17bc: ldc.i8 0x0
+ IL_17c5: stloc V_12
+ IL_17c9: ldloc V_12
+ IL_17cd: ldc.i8 0x1
+ IL_17d6: add
+ IL_17d7: stloc V_12
+ IL_17db: ldloc V_12
+ IL_17df: ldc.i8 0x0
+ IL_17e8: blt IL_17c9
+
+ IL_17ed: ldc.i8 0x0
+ IL_17f6: stloc V_12
+ IL_17fa: ldloc V_12
+ IL_17fe: ldc.i8 0x1
+ IL_1807: add
+ IL_1808: stloc V_12
+ IL_180c: ldloc V_12
+ IL_1810: ldc.i8 0x2
+ IL_1819: blt IL_17fa
+
+ IL_181e: ldloc V_29
+ IL_1822: stloc V_40
+ IL_1826: br IL_18c6
+
+ IL_182b: ldc.i8 0x0
+ IL_1834: stloc V_12
+ IL_1838: ldloc V_12
+ IL_183c: ldc.i8 0x1
+ IL_1845: add
+ IL_1846: stloc V_12
+ IL_184a: ldloc V_12
+ IL_184e: ldc.i8 0x2
+ IL_1857: blt IL_1838
+
+ IL_185c: ldc.i8 0x0
+ IL_1865: stloc V_12
+ IL_1869: ldloc V_12
+ IL_186d: ldc.i8 0x1
+ IL_1876: add
+ IL_1877: stloc V_12
+ IL_187b: ldloc V_12
+ IL_187f: ldc.i8 0x1
+ IL_1888: blt IL_1869
+
+ IL_188d: ldc.i8 0x0
+ IL_1896: stloc V_12
+ IL_189a: ldloc V_12
+ IL_189e: ldc.i8 0x1
+ IL_18a7: add
+ IL_18a8: stloc V_12
+ IL_18ac: ldloc V_12
+ IL_18b0: ldc.i8 0x2
+ IL_18b9: blt IL_189a
+
+ IL_18be: ldloc V_12
+ IL_18c2: stloc V_18
+ IL_18c6: ldc.i8 0x0
+ IL_18cf: stloc V_11
+ IL_18d3: ldc.i8 0x0
+ IL_18dc: stloc V_12
+ IL_18e0: ldloc V_12
+ IL_18e4: ldc.i8 0x1
+ IL_18ed: add
+ IL_18ee: stloc V_12
+ IL_18f2: ldloc V_12
+ IL_18f6: ldc.i8 0x1
+ IL_18ff: blt IL_18e0
+
+ IL_1904: ldc.i8 0x0
+ IL_190d: stloc V_12
+ IL_1911: ldloc V_12
+ IL_1915: ldc.i8 0x1
+ IL_191e: add
+ IL_191f: stloc V_12
+ IL_1923: ldloc V_12
+ IL_1927: ldc.i8 0x0
+ IL_1930: blt IL_1911
+
+ IL_1935: ldloc V_17
+ IL_1939: ldloc V_44
+ IL_193d: add
+ IL_193e: ldc.i8 0x9
+ IL_1947: add
+ IL_1948: stloc V_17
+ IL_194c: ldloc V_11
+ IL_1950: ldc.i8 0x1
+ IL_1959: add
+ IL_195a: stloc V_11
+ IL_195e: ldloc V_11
+ IL_1962: ldc.i8 0x0
+ IL_196b: blt IL_18d3
+
+ IL_1970: ldloc V_7
+ IL_1974: stloc V_49
+ IL_1978: br IL_198f
+
+ IL_197d: ldloc V_27
+ IL_1981: ldc.i8 0x5
+ IL_198a: add
+ IL_198b: stloc V_24
+ IL_198f: ldc.i8 0x0
+ IL_1998: stloc V_10
+ IL_199c: ldloc V_49
+ IL_19a0: ldloc V_37
+ IL_19a4: add
+ IL_19a5: stloc V_49
+ IL_19a9: ldloc V_10
+ IL_19ad: ldc.i8 0x1
+ IL_19b6: add
+ IL_19b7: stloc V_10
+ IL_19bb: ldloc V_10
+ IL_19bf: ldc.i8 0x2
+ IL_19c8: blt IL_199c
+
+ IL_19cd: ldloc V_37
+ IL_19d1: ldc.i8 0x8
+ IL_19da: add
+ IL_19db: stloc V_46
+ IL_19df: ldc.i8 0x0
+ IL_19e8: stloc V_9
+ IL_19ec: br IL_1bdd
+
+ IL_19f1: ldc.i8 0x0
+ IL_19fa: stloc V_11
+ IL_19fe: ldc.i8 0x0
+ IL_1a07: stloc V_12
+ IL_1a0b: ldloc V_12
+ IL_1a0f: ldc.i8 0x1
+ IL_1a18: add
+ IL_1a19: stloc V_12
+ IL_1a1d: ldloc V_12
+ IL_1a21: ldc.i8 0x1
+ IL_1a2a: blt IL_1a0b
+
+ IL_1a2f: ldc.i8 0x0
+ IL_1a38: stloc V_12
+ IL_1a3c: ldloc V_12
+ IL_1a40: ldc.i8 0x1
+ IL_1a49: add
+ IL_1a4a: stloc V_12
+ IL_1a4e: ldloc V_12
+ IL_1a52: ldc.i8 0x1
+ IL_1a5b: blt IL_1a3c
+
+ IL_1a60: ldc.i8 0x0
+ IL_1a69: stloc V_12
+ IL_1a6d: ldloc V_12
+ IL_1a71: ldc.i8 0x1
+ IL_1a7a: add
+ IL_1a7b: stloc V_12
+ IL_1a7f: ldloc V_12
+ IL_1a83: ldc.i8 0x2
+ IL_1a8c: blt IL_1a6d
+
+ IL_1a91: nop
+ IL_1a92: ldloc V_11
+ IL_1a96: ldc.i8 0x1
+ IL_1a9f: add
+ IL_1aa0: stloc V_11
+ IL_1aa4: ldloc V_11
+ IL_1aa8: ldc.i8 0x2
+ IL_1ab1: blt IL_19fe
+
+ IL_1ab6: ldc.i8 0x0
+ IL_1abf: stloc V_11
+ IL_1ac3: br IL_1ac8
+
+ IL_1ac8: ldloc V_21
+ IL_1acc: ldloc V_6
+ IL_1ad0: add
+ IL_1ad1: stloc V_21
+ IL_1ad5: ldloc V_11
+ IL_1ad9: ldc.i8 0x1
+ IL_1ae2: add
+ IL_1ae3: stloc V_11
+ IL_1ae7: ldloc V_11
+ IL_1aeb: ldc.i8 0x2
+ IL_1af4: blt IL_1ac3
+
+ IL_1af9: ldc.i8 0x0
+ IL_1b02: stloc V_11
+ IL_1b06: br IL_1b0b
+
+ IL_1b0b: ldc.i8 0x0
+ IL_1b14: stloc V_12
+ IL_1b18: ldloc V_12
+ IL_1b1c: ldc.i8 0x1
+ IL_1b25: add
+ IL_1b26: stloc V_12
+ IL_1b2a: ldloc V_12
+ IL_1b2e: ldc.i8 0x0
+ IL_1b37: blt IL_1b18
+
+ IL_1b3c: ldc.i8 0x0
+ IL_1b45: stloc V_12
+ IL_1b49: ldloc V_12
+ IL_1b4d: ldc.i8 0x1
+ IL_1b56: add
+ IL_1b57: stloc V_12
+ IL_1b5b: ldloc V_12
+ IL_1b5f: ldc.i8 0x0
+ IL_1b68: blt IL_1b49
+
+ IL_1b6d: nop
+ IL_1b6e: ldloc V_11
+ IL_1b72: ldc.i8 0x1
+ IL_1b7b: add
+ IL_1b7c: stloc V_11
+ IL_1b80: ldloc V_11
+ IL_1b84: ldc.i8 0x0
+ IL_1b8d: blt IL_1b06
+
+ IL_1b92: ldc.i8 0x0
+ IL_1b9b: stloc V_11
+ IL_1b9f: br IL_1ba4
+
+ IL_1ba4: ldc.i8 0x7
+ IL_1bad: stloc V_27
+ IL_1bb1: ldloc V_11
+ IL_1bb5: ldc.i8 0x1
+ IL_1bbe: add
+ IL_1bbf: stloc V_11
+ IL_1bc3: ldloc V_11
+ IL_1bc7: ldc.i8 0x1
+ IL_1bd0: blt IL_1b9f
+
+ IL_1bd5: ldloc V_13
+ IL_1bd9: stloc V_28
+ IL_1bdd: ldc.i8 0x0
+ IL_1be6: stloc V_10
+ IL_1bea: ldc.i8 0x0
+ IL_1bf3: stloc V_11
+ IL_1bf7: ldc.i8 0x0
+ IL_1c00: stloc V_12
+ IL_1c04: ldloc V_12
+ IL_1c08: ldc.i8 0x1
+ IL_1c11: add
+ IL_1c12: stloc V_12
+ IL_1c16: ldloc V_12
+ IL_1c1a: ldc.i8 0x2
+ IL_1c23: blt IL_1c04
+
+ IL_1c28: br IL_1c2d
+
+ IL_1c2d: ldc.i8 0x0
+ IL_1c36: stloc V_12
+ IL_1c3a: ldloc V_12
+ IL_1c3e: ldc.i8 0x1
+ IL_1c47: add
+ IL_1c48: stloc V_12
+ IL_1c4c: ldloc V_12
+ IL_1c50: ldc.i8 0x0
+ IL_1c59: blt IL_1c3a
+
+ IL_1c5e: ldc.i8 0x7
+ IL_1c67: stloc V_44
+ IL_1c6b: ldloc V_11
+ IL_1c6f: ldc.i8 0x1
+ IL_1c78: add
+ IL_1c79: stloc V_11
+ IL_1c7d: ldloc V_11
+ IL_1c81: ldc.i8 0x1
+ IL_1c8a: blt IL_1bf7
+
+ IL_1c8f: ldloc V_46
+ IL_1c93: ldc.i8 0x8
+ IL_1c9c: add
+ IL_1c9d: stloc V_15
+ IL_1ca1: ldloc V_10
+ IL_1ca5: ldc.i8 0x1
+ IL_1cae: add
+ IL_1caf: stloc V_10
+ IL_1cb3: ldloc V_10
+ IL_1cb7: ldc.i8 0x1
+ IL_1cc0: blt IL_1bea
+
+ IL_1cc5: br IL_1e1d
+
+ IL_1cca: ldc.i8 0x0
+ IL_1cd3: stloc V_11
+ IL_1cd7: ldc.i8 0x0
+ IL_1ce0: stloc V_12
+ IL_1ce4: ldloc V_12
+ IL_1ce8: ldc.i8 0x1
+ IL_1cf1: add
+ IL_1cf2: stloc V_12
+ IL_1cf6: ldloc V_12
+ IL_1cfa: ldc.i8 0x2
+ IL_1d03: blt IL_1ce4
+
+ IL_1d08: nop
+ IL_1d09: ldloc V_11
+ IL_1d0d: ldc.i8 0x1
+ IL_1d16: add
+ IL_1d17: stloc V_11
+ IL_1d1b: ldloc V_11
+ IL_1d1f: ldc.i8 0x0
+ IL_1d28: blt IL_1cd7
+
+ IL_1d2d: ldc.i8 0x0
+ IL_1d36: stloc V_11
+ IL_1d3a: ldc.i8 0x5
+ IL_1d43: stloc V_28
+ IL_1d47: ldloc V_11
+ IL_1d4b: ldc.i8 0x1
+ IL_1d54: add
+ IL_1d55: stloc V_11
+ IL_1d59: ldloc V_11
+ IL_1d5d: ldc.i8 0x1
+ IL_1d66: blt IL_1d3a
+
+ IL_1d6b: ldc.i8 0x0
+ IL_1d74: stloc V_11
+ IL_1d78: br IL_1d7d
+
+ IL_1d7d: ldc.i8 0x0
+ IL_1d86: stloc V_12
+ IL_1d8a: ldloc V_12
+ IL_1d8e: ldc.i8 0x1
+ IL_1d97: add
+ IL_1d98: stloc V_12
+ IL_1d9c: ldloc V_12
+ IL_1da0: ldc.i8 0x1
+ IL_1da9: blt IL_1d8a
+
+ IL_1dae: ldc.i8 0x0
+ IL_1db7: stloc V_12
+ IL_1dbb: ldloc V_12
+ IL_1dbf: ldc.i8 0x1
+ IL_1dc8: add
+ IL_1dc9: stloc V_12
+ IL_1dcd: ldloc V_12
+ IL_1dd1: ldc.i8 0x0
+ IL_1dda: blt IL_1dbb
+
+ IL_1ddf: br IL_1de4
+
+ IL_1de4: ldc.i8 0x8
+ IL_1ded: stloc V_49
+ IL_1df1: ldloc V_11
+ IL_1df5: ldc.i8 0x1
+ IL_1dfe: add
+ IL_1dff: stloc V_11
+ IL_1e03: ldloc V_11
+ IL_1e07: ldc.i8 0x1
+ IL_1e10: blt IL_1d78
+
+ IL_1e15: ldloc V_13
+ IL_1e19: stloc V_41
+ IL_1e1d: nop
+ IL_1e1e: ldloc V_9
+ IL_1e22: ldc.i8 0x1
+ IL_1e2b: add
+ IL_1e2c: stloc V_9
+ IL_1e30: ldloc V_9
+ IL_1e34: ldc.i8 0x2
+ IL_1e3d: blt IL_19ec
+
+ IL_1e42: ldc.i8 0x0
+ IL_1e4b: stloc V_9
+ IL_1e4f: ldc.i8 0x0
+ IL_1e58: stloc V_10
+ IL_1e5c: ldc.i8 0x0
+ IL_1e65: stloc V_11
+ IL_1e69: ldc.i8 0x0
+ IL_1e72: stloc V_12
+ IL_1e76: ldloc V_12
+ IL_1e7a: ldc.i8 0x1
+ IL_1e83: add
+ IL_1e84: stloc V_12
+ IL_1e88: ldloc V_12
+ IL_1e8c: ldc.i8 0x1
+ IL_1e95: blt IL_1e76
+
+ IL_1e9a: br IL_1e9f
+
+ IL_1e9f: ldloc V_14
+ IL_1ea3: ldloc V_2
+ IL_1ea7: add
+ IL_1ea8: stloc V_46
+ IL_1eac: ldloc V_11
+ IL_1eb0: ldc.i8 0x1
+ IL_1eb9: add
+ IL_1eba: stloc V_11
+ IL_1ebe: ldloc V_11
+ IL_1ec2: ldc.i8 0x0
+ IL_1ecb: blt IL_1e69
+
+ IL_1ed0: ldc.i8 0x0
+ IL_1ed9: stloc V_11
+ IL_1edd: ldc.i8 0x0
+ IL_1ee6: stloc V_12
+ IL_1eea: ldloc V_12
+ IL_1eee: ldc.i8 0x1
+ IL_1ef7: add
+ IL_1ef8: stloc V_12
+ IL_1efc: ldloc V_12
+ IL_1f00: ldc.i8 0x1
+ IL_1f09: blt IL_1eea
+
+ IL_1f0e: ldc.i8 0x0
+ IL_1f17: stloc V_12
+ IL_1f1b: ldloc V_12
+ IL_1f1f: ldc.i8 0x1
+ IL_1f28: add
+ IL_1f29: stloc V_12
+ IL_1f2d: ldloc V_12
+ IL_1f31: ldc.i8 0x2
+ IL_1f3a: blt IL_1f1b
+
+ IL_1f3f: ldloc V_1
+ IL_1f43: stloc V_15
+ IL_1f47: ldloc V_11
+ IL_1f4b: ldc.i8 0x1
+ IL_1f54: add
+ IL_1f55: stloc V_11
+ IL_1f59: ldloc V_11
+ IL_1f5d: ldc.i8 0x0
+ IL_1f66: blt IL_1edd
+
+ IL_1f6b: br IL_1fdf
+
+ IL_1f70: ldc.i8 0x0
+ IL_1f79: stloc V_12
+ IL_1f7d: ldloc V_12
+ IL_1f81: ldc.i8 0x1
+ IL_1f8a: add
+ IL_1f8b: stloc V_12
+ IL_1f8f: ldloc V_12
+ IL_1f93: ldc.i8 0x0
+ IL_1f9c: blt IL_1f7d
+
+ IL_1fa1: ldc.i8 0x0
+ IL_1faa: stloc V_12
+ IL_1fae: ldloc V_12
+ IL_1fb2: ldc.i8 0x1
+ IL_1fbb: add
+ IL_1fbc: stloc V_12
+ IL_1fc0: ldloc V_12
+ IL_1fc4: ldc.i8 0x2
+ IL_1fcd: blt IL_1fae
+
+ IL_1fd2: br IL_1fd7
+
+ IL_1fd7: ldloc V_46
+ IL_1fdb: stloc V_23
+ IL_1fdf: ldc.i8 0x0
+ IL_1fe8: stloc V_11
+ IL_1fec: nop
+ IL_1fed: ldloc V_11
+ IL_1ff1: ldc.i8 0x1
+ IL_1ffa: add
+ IL_1ffb: stloc V_11
+ IL_1fff: ldloc V_11
+ IL_2003: ldc.i8 0x0
+ IL_200c: blt IL_1fec
+
+ IL_2011: ldloc V_48
+ IL_2015: stloc V_35
+ IL_2019: ldloc V_10
+ IL_201d: ldc.i8 0x1
+ IL_2026: add
+ IL_2027: stloc V_10
+ IL_202b: ldloc V_10
+ IL_202f: ldc.i8 0x2
+ IL_2038: blt IL_1e5c
+
+ IL_203d: br IL_21ef
+
+ IL_2042: ldc.i8 0x0
+ IL_204b: stloc V_11
+ IL_204f: ldc.i8 0x0
+ IL_2058: stloc V_12
+ IL_205c: ldloc V_12
+ IL_2060: ldc.i8 0x1
+ IL_2069: add
+ IL_206a: stloc V_12
+ IL_206e: ldloc V_12
+ IL_2072: ldc.i8 0x0
+ IL_207b: blt IL_205c
+
+ IL_2080: ldc.i8 0x0
+ IL_2089: stloc V_12
+ IL_208d: ldloc V_12
+ IL_2091: ldc.i8 0x1
+ IL_209a: add
+ IL_209b: stloc V_12
+ IL_209f: ldloc V_12
+ IL_20a3: ldc.i8 0x0
+ IL_20ac: blt IL_208d
+
+ IL_20b1: ldc.i8 0x0
+ IL_20ba: stloc V_12
+ IL_20be: ldloc V_12
+ IL_20c2: ldc.i8 0x1
+ IL_20cb: add
+ IL_20cc: stloc V_12
+ IL_20d0: ldloc V_12
+ IL_20d4: ldc.i8 0x2
+ IL_20dd: blt IL_20be
+
+ IL_20e2: ldloc V_42
+ IL_20e6: ldloc V_17
+ IL_20ea: add
+ IL_20eb: ldc.i8 0x5
+ IL_20f4: add
+ IL_20f5: stloc V_42
+ IL_20f9: ldloc V_11
+ IL_20fd: ldc.i8 0x1
+ IL_2106: add
+ IL_2107: stloc V_11
+ IL_210b: ldloc V_11
+ IL_210f: ldc.i8 0x0
+ IL_2118: blt IL_204f
+
+ IL_211d: ldc.i8 0x0
+ IL_2126: stloc V_11
+ IL_212a: ldc.i8 0x0
+ IL_2133: stloc V_12
+ IL_2137: ldloc V_12
+ IL_213b: ldc.i8 0x1
+ IL_2144: add
+ IL_2145: stloc V_12
+ IL_2149: ldloc V_12
+ IL_214d: ldc.i8 0x1
+ IL_2156: blt IL_2137
+
+ IL_215b: ldc.i8 0x0
+ IL_2164: stloc V_12
+ IL_2168: ldloc V_12
+ IL_216c: ldc.i8 0x1
+ IL_2175: add
+ IL_2176: stloc V_12
+ IL_217a: ldloc V_12
+ IL_217e: ldc.i8 0x1
+ IL_2187: blt IL_2168
+
+ IL_218c: ldc.i8 0x0
+ IL_2195: stloc V_12
+ IL_2199: ldloc V_12
+ IL_219d: ldc.i8 0x1
+ IL_21a6: add
+ IL_21a7: stloc V_12
+ IL_21ab: ldloc V_12
+ IL_21af: ldc.i8 0x2
+ IL_21b8: blt IL_2199
+
+ IL_21bd: ldc.i8 0x0
+ IL_21c6: stloc V_13
+ IL_21ca: ldloc V_11
+ IL_21ce: ldc.i8 0x1
+ IL_21d7: add
+ IL_21d8: stloc V_11
+ IL_21dc: ldloc V_11
+ IL_21e0: ldc.i8 0x1
+ IL_21e9: blt IL_212a
+
+ IL_21ee: nop
+ IL_21ef: ldc.i8 0x4
+ IL_21f8: stloc V_42
+ IL_21fc: ldloc V_9
+ IL_2200: ldc.i8 0x1
+ IL_2209: add
+ IL_220a: stloc V_9
+ IL_220e: ldloc V_9
+ IL_2212: ldc.i8 0x1
+ IL_221b: blt IL_1e4f
+
+ IL_2220: ldloc V_42
+ IL_2224: ldloc V_36
+ IL_2228: add
+ IL_2229: ldc.i8 0x0
+ IL_2232: add
+ IL_2233: stloc V_42
+ IL_2237: ldc.i8 0x0
+ IL_2240: stloc V_8
+ IL_2244: ldc.i8 0x0
+ IL_224d: stloc V_9
+ IL_2251: br IL_22ab
+
+ IL_2256: ldc.i8 0x0
+ IL_225f: stloc V_11
+ IL_2263: ldloc V_26
+ IL_2267: ldloc V_49
+ IL_226b: add
+ IL_226c: ldc.i8 0x3
+ IL_2275: add
+ IL_2276: stloc V_26
+ IL_227a: ldloc V_11
+ IL_227e: ldc.i8 0x1
+ IL_2287: add
+ IL_2288: stloc V_11
+ IL_228c: ldloc V_11
+ IL_2290: ldc.i8 0x0
+ IL_2299: blt IL_2263
+
+ IL_229e: ldc.i8 0x8
+ IL_22a7: stloc V_13
+ IL_22ab: ldc.i8 0x0
+ IL_22b4: stloc V_10
+ IL_22b8: ldloc V_30
+ IL_22bc: ldloc V_47
+ IL_22c0: add
+ IL_22c1: stloc V_27
+ IL_22c5: ldloc V_10
+ IL_22c9: ldc.i8 0x1
+ IL_22d2: add
+ IL_22d3: stloc V_10
+ IL_22d7: ldloc V_10
+ IL_22db: ldc.i8 0x0
+ IL_22e4: blt IL_22b8
+
+ IL_22e9: ldc.i8 0x1
+ IL_22f2: stloc V_39
+ IL_22f6: ldloc V_9
+ IL_22fa: ldc.i8 0x1
+ IL_2303: add
+ IL_2304: stloc V_9
+ IL_2308: ldloc V_9
+ IL_230c: ldc.i8 0x2
+ IL_2315: blt IL_2251
+
+ IL_231a: ldc.i8 0x0
+ IL_2323: stloc V_9
+ IL_2327: ldc.i8 0x0
+ IL_2330: stloc V_10
+ IL_2334: ldc.i8 0x0
+ IL_233d: stloc V_11
+ IL_2341: br IL_2346
+
+ IL_2346: ldc.i8 0x0
+ IL_234f: stloc V_12
+ IL_2353: ldloc V_12
+ IL_2357: ldc.i8 0x1
+ IL_2360: add
+ IL_2361: stloc V_12
+ IL_2365: ldloc V_12
+ IL_2369: ldc.i8 0x0
+ IL_2372: blt IL_2353
+
+ IL_2377: ldc.i8 0x0
+ IL_2380: stloc V_12
+ IL_2384: ldloc V_12
+ IL_2388: ldc.i8 0x1
+ IL_2391: add
+ IL_2392: stloc V_12
+ IL_2396: ldloc V_12
+ IL_239a: ldc.i8 0x0
+ IL_23a3: blt IL_2384
+
+ IL_23a8: ldloc V_20
+ IL_23ac: ldloc V_14
+ IL_23b0: add
+ IL_23b1: stloc V_36
+ IL_23b5: ldloc V_11
+ IL_23b9: ldc.i8 0x1
+ IL_23c2: add
+ IL_23c3: stloc V_11
+ IL_23c7: ldloc V_11
+ IL_23cb: ldc.i8 0x1
+ IL_23d4: blt IL_2341
+
+ IL_23d9: ldc.i8 0x0
+ IL_23e2: stloc V_11
+ IL_23e6: br IL_23eb
+
+ IL_23eb: br IL_23f0
+
+ IL_23f0: ldc.i8 0x0
+ IL_23f9: stloc V_12
+ IL_23fd: ldloc V_12
+ IL_2401: ldc.i8 0x1
+ IL_240a: add
+ IL_240b: stloc V_12
+ IL_240f: ldloc V_12
+ IL_2413: ldc.i8 0x0
+ IL_241c: blt IL_23fd
+
+ IL_2421: ldc.i8 0x0
+ IL_242a: stloc V_12
+ IL_242e: ldloc V_12
+ IL_2432: ldc.i8 0x1
+ IL_243b: add
+ IL_243c: stloc V_12
+ IL_2440: ldloc V_12
+ IL_2444: ldc.i8 0x1
+ IL_244d: blt IL_242e
+
+ IL_2452: ldloc V_22
+ IL_2456: ldc.i8 0x9
+ IL_245f: add
+ IL_2460: stloc V_46
+ IL_2464: ldloc V_11
+ IL_2468: ldc.i8 0x1
+ IL_2471: add
+ IL_2472: stloc V_11
+ IL_2476: ldloc V_11
+ IL_247a: ldc.i8 0x2
+ IL_2483: blt IL_23e6
+
+ IL_2488: ldloc V_42
+ IL_248c: stloc V_46
+ IL_2490: ldloc V_10
+ IL_2494: ldc.i8 0x1
+ IL_249d: add
+ IL_249e: stloc V_10
+ IL_24a2: ldloc V_10
+ IL_24a6: ldc.i8 0x2
+ IL_24af: blt IL_2334
+
+ IL_24b4: ldloc V_2
+ IL_24b8: stloc V_32
+ IL_24bc: ldloc V_9
+ IL_24c0: ldc.i8 0x1
+ IL_24c9: add
+ IL_24ca: stloc V_9
+ IL_24ce: ldloc V_9
+ IL_24d2: ldc.i8 0x0
+ IL_24db: blt IL_2327
+
+ IL_24e0: ldc.i8 0x0
+ IL_24e9: stloc V_9
+ IL_24ed: ldc.i8 0x0
+ IL_24f6: stloc V_10
+ IL_24fa: ldc.i8 0x0
+ IL_2503: stloc V_21
+ IL_2507: ldloc V_10
+ IL_250b: ldc.i8 0x1
+ IL_2514: add
+ IL_2515: stloc V_10
+ IL_2519: ldloc V_10
+ IL_251d: ldc.i8 0x0
+ IL_2526: blt IL_24fa
+
+ IL_252b: ldc.i8 0x0
+ IL_2534: stloc V_10
+ IL_2538: ldc.i8 0x0
+ IL_2541: stloc V_11
+ IL_2545: ldc.i8 0x0
+ IL_254e: stloc V_12
+ IL_2552: ldloc V_12
+ IL_2556: ldc.i8 0x1
+ IL_255f: add
+ IL_2560: stloc V_12
+ IL_2564: ldloc V_12
+ IL_2568: ldc.i8 0x1
+ IL_2571: blt IL_2552
+
+ IL_2576: br IL_257b
+
+ IL_257b: ldc.i8 0x0
+ IL_2584: stloc V_12
+ IL_2588: ldloc V_12
+ IL_258c: ldc.i8 0x1
+ IL_2595: add
+ IL_2596: stloc V_12
+ IL_259a: ldloc V_12
+ IL_259e: ldc.i8 0x0
+ IL_25a7: blt IL_2588
+
+ IL_25ac: ldloc V_4
+ IL_25b0: ldc.i8 0x7
+ IL_25b9: add
+ IL_25ba: stloc V_46
+ IL_25be: ldloc V_11
+ IL_25c2: ldc.i8 0x1
+ IL_25cb: add
+ IL_25cc: stloc V_11
+ IL_25d0: ldloc V_11
+ IL_25d4: ldc.i8 0x1
+ IL_25dd: blt IL_2545
+
+ IL_25e2: ldc.i8 0x0
+ IL_25eb: stloc V_11
+ IL_25ef: ldc.i8 0x0
+ IL_25f8: stloc V_12
+ IL_25fc: ldloc V_12
+ IL_2600: ldc.i8 0x1
+ IL_2609: add
+ IL_260a: stloc V_12
+ IL_260e: ldloc V_12
+ IL_2612: ldc.i8 0x1
+ IL_261b: blt IL_25fc
+
+ IL_2620: nop
+ IL_2621: ldloc V_11
+ IL_2625: ldc.i8 0x1
+ IL_262e: add
+ IL_262f: stloc V_11
+ IL_2633: ldloc V_11
+ IL_2637: ldc.i8 0x2
+ IL_2640: blt IL_25ef
+
+ IL_2645: br IL_2657
+
+ IL_264a: ldc.i8 0x0
+ IL_2653: stloc V_15
+ IL_2657: ldloc V_37
+ IL_265b: stloc V_34
+ IL_265f: ldloc V_10
+ IL_2663: ldc.i8 0x1
+ IL_266c: add
+ IL_266d: stloc V_10
+ IL_2671: ldloc V_10
+ IL_2675: ldc.i8 0x0
+ IL_267e: blt IL_2538
+
+ IL_2683: ldc.i8 0x0
+ IL_268c: stloc V_10
+ IL_2690: br IL_26d3
+
+ IL_2695: ldc.i8 0x0
+ IL_269e: stloc V_12
+ IL_26a2: ldloc V_12
+ IL_26a6: ldc.i8 0x1
+ IL_26af: add
+ IL_26b0: stloc V_12
+ IL_26b4: ldloc V_12
+ IL_26b8: ldc.i8 0x2
+ IL_26c1: blt IL_26a2
+
+ IL_26c6: ldc.i8 0x1
+ IL_26cf: stloc V_16
+ IL_26d3: ldc.i8 0x0
+ IL_26dc: stloc V_11
+ IL_26e0: ldloc V_15
+ IL_26e4: ldc.i8 0x7
+ IL_26ed: add
+ IL_26ee: stloc V_29
+ IL_26f2: ldloc V_11
+ IL_26f6: ldc.i8 0x1
+ IL_26ff: add
+ IL_2700: stloc V_11
+ IL_2704: ldloc V_11
+ IL_2708: ldc.i8 0x0
+ IL_2711: blt IL_26e0
+
+ IL_2716: ldc.i8 0x0
+ IL_271f: stloc V_11
+ IL_2723: br IL_2728
+
+ IL_2728: br IL_272d
+
+ IL_272d: ldloc V_24
+ IL_2731: ldloc V_37
+ IL_2735: add
+ IL_2736: stloc V_24
+ IL_273a: ldloc V_11
+ IL_273e: ldc.i8 0x1
+ IL_2747: add
+ IL_2748: stloc V_11
+ IL_274c: ldloc V_11
+ IL_2750: ldc.i8 0x0
+ IL_2759: blt IL_2723
+
+ IL_275e: ldloc V_25
+ IL_2762: stloc V_36
+ IL_2766: ldloc V_10
+ IL_276a: ldc.i8 0x1
+ IL_2773: add
+ IL_2774: stloc V_10
+ IL_2778: ldloc V_10
+ IL_277c: ldc.i8 0x1
+ IL_2785: blt IL_2690
+
+ IL_278a: ldloc V_15
+ IL_278e: ldloc V_19
+ IL_2792: add
+ IL_2793: stloc V_15
+ IL_2797: ldloc V_9
+ IL_279b: ldc.i8 0x1
+ IL_27a4: add
+ IL_27a5: stloc V_9
+ IL_27a9: ldloc V_9
+ IL_27ad: ldc.i8 0x2
+ IL_27b6: blt IL_24ed
+
+ IL_27bb: ldloc V_0
+ IL_27bf: ldloc V_10
+ IL_27c3: add
+ IL_27c4: stloc V_34
+ IL_27c8: ldloc V_8
+ IL_27cc: ldc.i8 0x1
+ IL_27d5: add
+ IL_27d6: stloc V_8
+ IL_27da: ldloc V_8
+ IL_27de: ldc.i8 0x2
+ IL_27e7: blt IL_2244
+
+ IL_27ec: ldloc V_33
+ IL_27f0: stloc V_34
+ IL_27f4: ldc.i8 0x0
+ IL_27fd: stloc V_7
+ IL_2801: ldc.i8 0x0
+ IL_280a: stloc V_8
+ IL_280e: ldloc V_32
+ IL_2812: ldloc V_41
+ IL_2816: add
+ IL_2817: stloc V_23
+ IL_281b: ldloc V_8
+ IL_281f: ldc.i8 0x1
+ IL_2828: add
+ IL_2829: stloc V_8
+ IL_282d: ldloc V_8
+ IL_2831: ldc.i8 0x0
+ IL_283a: blt IL_280e
+
+ IL_283f: br IL_2c9d
+
+ IL_2844: ldc.i8 0x0
+ IL_284d: stloc V_9
+ IL_2851: br IL_2906
+
+ IL_2856: ldc.i8 0x0
+ IL_285f: stloc V_11
+ IL_2863: ldc.i8 0x0
+ IL_286c: stloc V_12
+ IL_2870: ldloc V_12
+ IL_2874: ldc.i8 0x1
+ IL_287d: add
+ IL_287e: stloc V_12
+ IL_2882: ldloc V_12
+ IL_2886: ldc.i8 0x1
+ IL_288f: blt IL_2870
+
+ IL_2894: br IL_2899
+
+ IL_2899: ldc.i8 0x0
+ IL_28a2: stloc V_12
+ IL_28a6: ldloc V_12
+ IL_28aa: ldc.i8 0x1
+ IL_28b3: add
+ IL_28b4: stloc V_12
+ IL_28b8: ldloc V_12
+ IL_28bc: ldc.i8 0x2
+ IL_28c5: blt IL_28a6
+
+ IL_28ca: nop
+ IL_28cb: ldloc V_11
+ IL_28cf: ldc.i8 0x1
+ IL_28d8: add
+ IL_28d9: stloc V_11
+ IL_28dd: ldloc V_11
+ IL_28e1: ldc.i8 0x1
+ IL_28ea: blt IL_2863
+
+ IL_28ef: ldloc V_31
+ IL_28f3: ldloc V_16
+ IL_28f7: add
+ IL_28f8: ldc.i8 0x0
+ IL_2901: add
+ IL_2902: stloc V_31
+ IL_2906: ldc.i8 0x0
+ IL_290f: stloc V_10
+ IL_2913: ldc.i8 0x0
+ IL_291c: stloc V_11
+ IL_2920: ldc.i8 0x0
+ IL_2929: stloc V_12
+ IL_292d: ldloc V_12
+ IL_2931: ldc.i8 0x1
+ IL_293a: add
+ IL_293b: stloc V_12
+ IL_293f: ldloc V_12
+ IL_2943: ldc.i8 0x1
+ IL_294c: blt IL_292d
+
+ IL_2951: br IL_2956
+
+ IL_2956: ldc.i8 0x0
+ IL_295f: stloc V_12
+ IL_2963: ldloc V_12
+ IL_2967: ldc.i8 0x1
+ IL_2970: add
+ IL_2971: stloc V_12
+ IL_2975: ldloc V_12
+ IL_2979: ldc.i8 0x1
+ IL_2982: blt IL_2963
+
+ IL_2987: ldc.i8 0x0
+ IL_2990: stloc V_12
+ IL_2994: ldloc V_12
+ IL_2998: ldc.i8 0x1
+ IL_29a1: add
+ IL_29a2: stloc V_12
+ IL_29a6: ldloc V_12
+ IL_29aa: ldc.i8 0x1
+ IL_29b3: blt IL_2994
+
+ IL_29b8: ldloc V_38
+ IL_29bc: stloc V_23
+ IL_29c0: ldloc V_11
+ IL_29c4: ldc.i8 0x1
+ IL_29cd: add
+ IL_29ce: stloc V_11
+ IL_29d2: ldloc V_11
+ IL_29d6: ldc.i8 0x0
+ IL_29df: blt IL_2920
+
+ IL_29e4: ldc.i8 0x0
+ IL_29ed: stloc V_11
+ IL_29f1: ldc.i8 0x4
+ IL_29fa: stloc V_33
+ IL_29fe: ldloc V_11
+ IL_2a02: ldc.i8 0x1
+ IL_2a0b: add
+ IL_2a0c: stloc V_11
+ IL_2a10: ldloc V_11
+ IL_2a14: ldc.i8 0x0
+ IL_2a1d: blt IL_29f1
+
+ IL_2a22: ldc.i8 0x0
+ IL_2a2b: stloc V_11
+ IL_2a2f: ldc.i8 0x0
+ IL_2a38: stloc V_12
+ IL_2a3c: ldloc V_12
+ IL_2a40: ldc.i8 0x1
+ IL_2a49: add
+ IL_2a4a: stloc V_12
+ IL_2a4e: ldloc V_12
+ IL_2a52: ldc.i8 0x1
+ IL_2a5b: blt IL_2a3c
+
+ IL_2a60: br IL_2a65
+
+ IL_2a65: ldc.i8 0x0
+ IL_2a6e: stloc V_12
+ IL_2a72: ldloc V_12
+ IL_2a76: ldc.i8 0x1
+ IL_2a7f: add
+ IL_2a80: stloc V_12
+ IL_2a84: ldloc V_12
+ IL_2a88: ldc.i8 0x1
+ IL_2a91: blt IL_2a72
+
+ IL_2a96: nop
+ IL_2a97: ldloc V_11
+ IL_2a9b: ldc.i8 0x1
+ IL_2aa4: add
+ IL_2aa5: stloc V_11
+ IL_2aa9: ldloc V_11
+ IL_2aad: ldc.i8 0x0
+ IL_2ab6: blt IL_2a2f
+
+ IL_2abb: ldloc V_20
+ IL_2abf: ldc.i8 0x5
+ IL_2ac8: add
+ IL_2ac9: stloc V_35
+ IL_2acd: ldloc V_10
+ IL_2ad1: ldc.i8 0x1
+ IL_2ada: add
+ IL_2adb: stloc V_10
+ IL_2adf: ldloc V_10
+ IL_2ae3: ldc.i8 0x2
+ IL_2aec: blt IL_2913
+
+ IL_2af1: ldc.i8 0x8
+ IL_2afa: stloc V_42
+ IL_2afe: ldloc V_9
+ IL_2b02: ldc.i8 0x1
+ IL_2b0b: add
+ IL_2b0c: stloc V_9
+ IL_2b10: ldloc V_9
+ IL_2b14: ldc.i8 0x2
+ IL_2b1d: blt IL_2851
+
+ IL_2b22: br IL_2bd6
+
+ IL_2b27: ldc.i8 0x0
+ IL_2b30: stloc V_10
+ IL_2b34: ldc.i8 0x0
+ IL_2b3d: stloc V_11
+ IL_2b41: ldloc V_37
+ IL_2b45: stloc V_21
+ IL_2b49: ldloc V_11
+ IL_2b4d: ldc.i8 0x1
+ IL_2b56: add
+ IL_2b57: stloc V_11
+ IL_2b5b: ldloc V_11
+ IL_2b5f: ldc.i8 0x0
+ IL_2b68: blt IL_2b41
+
+ IL_2b6d: nop
+ IL_2b6e: ldloc V_10
+ IL_2b72: ldc.i8 0x1
+ IL_2b7b: add
+ IL_2b7c: stloc V_10
+ IL_2b80: ldloc V_10
+ IL_2b84: ldc.i8 0x0
+ IL_2b8d: blt IL_2b34
+
+ IL_2b92: ldc.i8 0x0
+ IL_2b9b: stloc V_10
+ IL_2b9f: ldloc V_16
+ IL_2ba3: ldc.i8 0x9
+ IL_2bac: add
+ IL_2bad: stloc V_43
+ IL_2bb1: ldloc V_10
+ IL_2bb5: ldc.i8 0x1
+ IL_2bbe: add
+ IL_2bbf: stloc V_10
+ IL_2bc3: ldloc V_10
+ IL_2bc7: ldc.i8 0x2
+ IL_2bd0: blt IL_2b9f
+
+ IL_2bd5: nop
+ IL_2bd6: ldc.i8 0x0
+ IL_2bdf: stloc V_9
+ IL_2be3: ldc.i8 0x0
+ IL_2bec: stloc V_10
+ IL_2bf0: ldloc V_36
+ IL_2bf4: ldloc V_28
+ IL_2bf8: add
+ IL_2bf9: stloc V_36
+ IL_2bfd: ldloc V_10
+ IL_2c01: ldc.i8 0x1
+ IL_2c0a: add
+ IL_2c0b: stloc V_10
+ IL_2c0f: ldloc V_10
+ IL_2c13: ldc.i8 0x1
+ IL_2c1c: blt IL_2bf0
+
+ IL_2c21: ldloc V_35
+ IL_2c25: ldloc V_6
+ IL_2c29: add
+ IL_2c2a: stloc V_31
+ IL_2c2e: ldloc V_9
+ IL_2c32: ldc.i8 0x1
+ IL_2c3b: add
+ IL_2c3c: stloc V_9
+ IL_2c40: ldloc V_9
+ IL_2c44: ldc.i8 0x1
+ IL_2c4d: blt IL_2be3
+
+ IL_2c52: ldc.i8 0x0
+ IL_2c5b: stloc V_9
+ IL_2c5f: ldloc V_4
+ IL_2c63: ldloc V_4
+ IL_2c67: add
+ IL_2c68: stloc V_27
+ IL_2c6c: ldloc V_9
+ IL_2c70: ldc.i8 0x1
+ IL_2c79: add
+ IL_2c7a: stloc V_9
+ IL_2c7e: ldloc V_9
+ IL_2c82: ldc.i8 0x2
+ IL_2c8b: blt IL_2c5f
+
+ IL_2c90: ldloc V_28
+ IL_2c94: ldloc V_1
+ IL_2c98: add
+ IL_2c99: stloc V_28
+ IL_2c9d: ldc.i8 0x0
+ IL_2ca6: stloc V_8
+ IL_2caa: br IL_33bf
+
+ IL_2caf: ldc.i8 0x0
+ IL_2cb8: stloc V_10
+ IL_2cbc: ldc.i8 0x0
+ IL_2cc5: stloc V_11
+ IL_2cc9: ldc.i8 0x0
+ IL_2cd2: stloc V_12
+ IL_2cd6: ldloc V_12
+ IL_2cda: ldc.i8 0x1
+ IL_2ce3: add
+ IL_2ce4: stloc V_12
+ IL_2ce8: ldloc V_12
+ IL_2cec: ldc.i8 0x2
+ IL_2cf5: blt IL_2cd6
+
+ IL_2cfa: ldc.i8 0x0
+ IL_2d03: stloc V_12
+ IL_2d07: ldloc V_12
+ IL_2d0b: ldc.i8 0x1
+ IL_2d14: add
+ IL_2d15: stloc V_12
+ IL_2d19: ldloc V_12
+ IL_2d1d: ldc.i8 0x1
+ IL_2d26: blt IL_2d07
+
+ IL_2d2b: ldc.i8 0x0
+ IL_2d34: stloc V_12
+ IL_2d38: ldloc V_12
+ IL_2d3c: ldc.i8 0x1
+ IL_2d45: add
+ IL_2d46: stloc V_12
+ IL_2d4a: ldloc V_12
+ IL_2d4e: ldc.i8 0x2
+ IL_2d57: blt IL_2d38
+
+ IL_2d5c: ldloc V_13
+ IL_2d60: ldloc V_30
+ IL_2d64: add
+ IL_2d65: ldc.i8 0x9
+ IL_2d6e: add
+ IL_2d6f: stloc V_13
+ IL_2d73: ldloc V_11
+ IL_2d77: ldc.i8 0x1
+ IL_2d80: add
+ IL_2d81: stloc V_11
+ IL_2d85: ldloc V_11
+ IL_2d89: ldc.i8 0x0
+ IL_2d92: blt IL_2cc9
+
+ IL_2d97: ldc.i8 0x0
+ IL_2da0: stloc V_11
+ IL_2da4: br IL_2da9
+
+ IL_2da9: ldc.i8 0x0
+ IL_2db2: stloc V_12
+ IL_2db6: ldloc V_12
+ IL_2dba: ldc.i8 0x1
+ IL_2dc3: add
+ IL_2dc4: stloc V_12
+ IL_2dc8: ldloc V_12
+ IL_2dcc: ldc.i8 0x0
+ IL_2dd5: blt IL_2db6
+
+ IL_2dda: ldloc V_21
+ IL_2dde: ldc.i8 0x3
+ IL_2de7: add
+ IL_2de8: stloc V_14
+ IL_2dec: ldloc V_11
+ IL_2df0: ldc.i8 0x1
+ IL_2df9: add
+ IL_2dfa: stloc V_11
+ IL_2dfe: ldloc V_11
+ IL_2e02: ldc.i8 0x0
+ IL_2e0b: blt IL_2da4
+
+ IL_2e10: ldc.i8 0x0
+ IL_2e19: stloc V_11
+ IL_2e1d: ldc.i8 0x0
+ IL_2e26: stloc V_12
+ IL_2e2a: ldloc V_12
+ IL_2e2e: ldc.i8 0x1
+ IL_2e37: add
+ IL_2e38: stloc V_12
+ IL_2e3c: ldloc V_12
+ IL_2e40: ldc.i8 0x0
+ IL_2e49: blt IL_2e2a
+
+ IL_2e4e: ldc.i8 0x0
+ IL_2e57: stloc V_12
+ IL_2e5b: ldloc V_12
+ IL_2e5f: ldc.i8 0x1
+ IL_2e68: add
+ IL_2e69: stloc V_12
+ IL_2e6d: ldloc V_12
+ IL_2e71: ldc.i8 0x0
+ IL_2e7a: blt IL_2e5b
+
+ IL_2e7f: ldc.i8 0x0
+ IL_2e88: stloc V_12
+ IL_2e8c: ldloc V_12
+ IL_2e90: ldc.i8 0x1
+ IL_2e99: add
+ IL_2e9a: stloc V_12
+ IL_2e9e: ldloc V_12
+ IL_2ea2: ldc.i8 0x1
+ IL_2eab: blt IL_2e8c
+
+ IL_2eb0: ldc.i8 0x0
+ IL_2eb9: stloc V_12
+ IL_2ebd: ldloc V_12
+ IL_2ec1: ldc.i8 0x1
+ IL_2eca: add
+ IL_2ecb: stloc V_12
+ IL_2ecf: ldloc V_12
+ IL_2ed3: ldc.i8 0x2
+ IL_2edc: blt IL_2ebd
+
+ IL_2ee1: ldloc V_36
+ IL_2ee5: ldloc V_38
+ IL_2ee9: add
+ IL_2eea: stloc V_36
+ IL_2eee: ldloc V_11
+ IL_2ef2: ldc.i8 0x1
+ IL_2efb: add
+ IL_2efc: stloc V_11
+ IL_2f00: ldloc V_11
+ IL_2f04: ldc.i8 0x2
+ IL_2f0d: blt IL_2e1d
+
+ IL_2f12: ldloc V_33
+ IL_2f16: stloc V_29
+ IL_2f1a: ldloc V_10
+ IL_2f1e: ldc.i8 0x1
+ IL_2f27: add
+ IL_2f28: stloc V_10
+ IL_2f2c: ldloc V_10
+ IL_2f30: ldc.i8 0x0
+ IL_2f39: blt IL_2cbc
+
+ IL_2f3e: ldc.i8 0x0
+ IL_2f47: stloc V_10
+ IL_2f4b: ldloc V_10
+ IL_2f4f: ldloc V_42
+ IL_2f53: add
+ IL_2f54: stloc V_49
+ IL_2f58: ldloc V_10
+ IL_2f5c: ldc.i8 0x1
+ IL_2f65: add
+ IL_2f66: stloc V_10
+ IL_2f6a: ldloc V_10
+ IL_2f6e: ldc.i8 0x2
+ IL_2f77: blt IL_2f4b
+
+ IL_2f7c: ldc.i8 0x0
+ IL_2f85: stloc V_10
+ IL_2f89: ldc.i8 0x0
+ IL_2f92: stloc V_11
+ IL_2f96: ldc.i8 0x0
+ IL_2f9f: stloc V_12
+ IL_2fa3: ldloc V_12
+ IL_2fa7: ldc.i8 0x1
+ IL_2fb0: add
+ IL_2fb1: stloc V_12
+ IL_2fb5: ldloc V_12
+ IL_2fb9: ldc.i8 0x0
+ IL_2fc2: blt IL_2fa3
+
+ IL_2fc7: ldc.i8 0x0
+ IL_2fd0: stloc V_12
+ IL_2fd4: ldloc V_12
+ IL_2fd8: ldc.i8 0x1
+ IL_2fe1: add
+ IL_2fe2: stloc V_12
+ IL_2fe6: ldloc V_12
+ IL_2fea: ldc.i8 0x1
+ IL_2ff3: blt IL_2fd4
+
+ IL_2ff8: ldc.i8 0x0
+ IL_3001: stloc V_12
+ IL_3005: ldloc V_12
+ IL_3009: ldc.i8 0x1
+ IL_3012: add
+ IL_3013: stloc V_12
+ IL_3017: ldloc V_12
+ IL_301b: ldc.i8 0x1
+ IL_3024: blt IL_3005
+
+ IL_3029: ldloc V_38
+ IL_302d: ldc.i8 0x1
+ IL_3036: add
+ IL_3037: stloc V_16
+ IL_303b: ldloc V_11
+ IL_303f: ldc.i8 0x1
+ IL_3048: add
+ IL_3049: stloc V_11
+ IL_304d: ldloc V_11
+ IL_3051: ldc.i8 0x1
+ IL_305a: blt IL_2f96
+
+ IL_305f: ldc.i8 0x0
+ IL_3068: stloc V_11
+ IL_306c: ldc.i8 0x0
+ IL_3075: stloc V_12
+ IL_3079: ldloc V_12
+ IL_307d: ldc.i8 0x1
+ IL_3086: add
+ IL_3087: stloc V_12
+ IL_308b: ldloc V_12
+ IL_308f: ldc.i8 0x0
+ IL_3098: blt IL_3079
+
+ IL_309d: br IL_30a2
+
+ IL_30a2: ldc.i8 0x5
+ IL_30ab: stloc V_30
+ IL_30af: ldloc V_11
+ IL_30b3: ldc.i8 0x1
+ IL_30bc: add
+ IL_30bd: stloc V_11
+ IL_30c1: ldloc V_11
+ IL_30c5: ldc.i8 0x2
+ IL_30ce: blt IL_306c
+
+ IL_30d3: br IL_3151
+
+ IL_30d8: br IL_30dd
+
+ IL_30dd: ldc.i8 0x0
+ IL_30e6: stloc V_12
+ IL_30ea: ldloc V_12
+ IL_30ee: ldc.i8 0x1
+ IL_30f7: add
+ IL_30f8: stloc V_12
+ IL_30fc: ldloc V_12
+ IL_3100: ldc.i8 0x0
+ IL_3109: blt IL_30ea
+
+ IL_310e: ldc.i8 0x0
+ IL_3117: stloc V_12
+ IL_311b: ldloc V_12
+ IL_311f: ldc.i8 0x1
+ IL_3128: add
+ IL_3129: stloc V_12
+ IL_312d: ldloc V_12
+ IL_3131: ldc.i8 0x1
+ IL_313a: blt IL_311b
+
+ IL_313f: br IL_3144
+
+ IL_3144: ldloc V_28
+ IL_3148: ldloc V_40
+ IL_314c: add
+ IL_314d: stloc V_28
+ IL_3151: ldc.i8 0x0
+ IL_315a: stloc V_11
+ IL_315e: ldc.i8 0x0
+ IL_3167: stloc V_12
+ IL_316b: ldloc V_12
+ IL_316f: ldc.i8 0x1
+ IL_3178: add
+ IL_3179: stloc V_12
+ IL_317d: ldloc V_12
+ IL_3181: ldc.i8 0x1
+ IL_318a: blt IL_316b
+
+ IL_318f: ldc.i8 0x0
+ IL_3198: stloc V_12
+ IL_319c: ldloc V_12
+ IL_31a0: ldc.i8 0x1
+ IL_31a9: add
+ IL_31aa: stloc V_12
+ IL_31ae: ldloc V_12
+ IL_31b2: ldc.i8 0x2
+ IL_31bb: blt IL_319c
+
+ IL_31c0: ldloc V_26
+ IL_31c4: stloc V_31
+ IL_31c8: ldloc V_11
+ IL_31cc: ldc.i8 0x1
+ IL_31d5: add
+ IL_31d6: stloc V_11
+ IL_31da: ldloc V_11
+ IL_31de: ldc.i8 0x1
+ IL_31e7: blt IL_315e
+
+ IL_31ec: ldloc V_35
+ IL_31f0: stloc V_40
+ IL_31f4: ldloc V_10
+ IL_31f8: ldc.i8 0x1
+ IL_3201: add
+ IL_3202: stloc V_10
+ IL_3206: ldloc V_10
+ IL_320a: ldc.i8 0x0
+ IL_3213: blt IL_2f89
+
+ IL_3218: ldc.i8 0x0
+ IL_3221: stloc V_10
+ IL_3225: br IL_3294
+
+ IL_322a: ldc.i8 0x0
+ IL_3233: stloc V_12
+ IL_3237: ldloc V_12
+ IL_323b: ldc.i8 0x1
+ IL_3244: add
+ IL_3245: stloc V_12
+ IL_3249: ldloc V_12
+ IL_324d: ldc.i8 0x0
+ IL_3256: blt IL_3237
+
+ IL_325b: ldc.i8 0x0
+ IL_3264: stloc V_12
+ IL_3268: ldloc V_12
+ IL_326c: ldc.i8 0x1
+ IL_3275: add
+ IL_3276: stloc V_12
+ IL_327a: ldloc V_12
+ IL_327e: ldc.i8 0x1
+ IL_3287: blt IL_3268
+
+ IL_328c: ldloc V_27
+ IL_3290: stloc V_45
+ IL_3294: br IL_330d
+
+ IL_3299: ldc.i8 0x0
+ IL_32a2: stloc V_12
+ IL_32a6: ldloc V_12
+ IL_32aa: ldc.i8 0x1
+ IL_32b3: add
+ IL_32b4: stloc V_12
+ IL_32b8: ldloc V_12
+ IL_32bc: ldc.i8 0x1
+ IL_32c5: blt IL_32a6
+
+ IL_32ca: br IL_32cf
+
+ IL_32cf: ldc.i8 0x0
+ IL_32d8: stloc V_12
+ IL_32dc: ldloc V_12
+ IL_32e0: ldc.i8 0x1
+ IL_32e9: add
+ IL_32ea: stloc V_12
+ IL_32ee: ldloc V_12
+ IL_32f2: ldc.i8 0x2
+ IL_32fb: blt IL_32dc
+
+ IL_3300: ldloc V_13
+ IL_3304: ldloc V_2
+ IL_3308: add
+ IL_3309: stloc V_36
+ IL_330d: ldc.i8 0x0
+ IL_3316: stloc V_11
+ IL_331a: ldc.i8 0x0
+ IL_3323: stloc V_12
+ IL_3327: ldloc V_12
+ IL_332b: ldc.i8 0x1
+ IL_3334: add
+ IL_3335: stloc V_12
+ IL_3339: ldloc V_12
+ IL_333d: ldc.i8 0x0
+ IL_3346: blt IL_3327
+
+ IL_334b: br IL_3350
+
+ IL_3350: ldc.i8 0x5
+ IL_3359: stloc V_45
+ IL_335d: ldloc V_11
+ IL_3361: ldc.i8 0x1
+ IL_336a: add
+ IL_336b: stloc V_11
+ IL_336f: ldloc V_11
+ IL_3373: ldc.i8 0x2
+ IL_337c: blt IL_331a
+
+ IL_3381: ldc.i8 0x0
+ IL_338a: stloc V_45
+ IL_338e: ldloc V_10
+ IL_3392: ldc.i8 0x1
+ IL_339b: add
+ IL_339c: stloc V_10
+ IL_33a0: ldloc V_10
+ IL_33a4: ldc.i8 0x0
+ IL_33ad: blt IL_3225
+
+ IL_33b2: ldc.i8 0x1
+ IL_33bb: stloc V_18
+ IL_33bf: ldloc V_11
+ IL_33c3: ldloc V_1
+ IL_33c7: add
+ IL_33c8: stloc V_29
+ IL_33cc: ldloc V_8
+ IL_33d0: ldc.i8 0x1
+ IL_33d9: add
+ IL_33da: stloc V_8
+ IL_33de: ldloc V_8
+ IL_33e2: ldc.i8 0x0
+ IL_33eb: blt IL_2caa
+
+ IL_33f0: br IL_3407
+
+ IL_33f5: ldloc V_49
+ IL_33f9: ldc.i8 0x2
+ IL_3402: add
+ IL_3403: stloc V_30
+ IL_3407: ldloc V_1
+ IL_340b: ldc.i8 0x7
+ IL_3414: add
+ IL_3415: stloc V_17
+ IL_3419: ldloc V_7
+ IL_341d: ldc.i8 0x1
+ IL_3426: add
+ IL_3427: stloc V_7
+ IL_342b: ldloc V_7
+ IL_342f: ldc.i8 0x2
+ IL_3438: blt IL_2801
+
+ IL_343d: ldloc V_34
+ IL_3441: stloc V_26
+ IL_3445: ldloc V_6
+ IL_3449: ldc.i8 0x1
+ IL_3452: add
+ IL_3453: stloc V_6
+ IL_3457: ldloc V_6
+ IL_345b: ldc.i8 0x2
+ IL_3464: blt IL_0065
+
+ IL_3469: ldc.i8 0x0
+ IL_3472: stloc V_6
+ IL_3476: ldc.i8 0x0
+ IL_347f: stloc V_7
+ IL_3483: ldc.i8 0x0
+ IL_348c: stloc V_8
+ IL_3490: ldloc V_24
+ IL_3494: ldloc V_47
+ IL_3498: add
+ IL_3499: stloc V_39
+ IL_349d: ldloc V_8
+ IL_34a1: ldc.i8 0x1
+ IL_34aa: add
+ IL_34ab: stloc V_8
+ IL_34af: ldloc V_8
+ IL_34b3: ldc.i8 0x2
+ IL_34bc: blt IL_3490
+
+ IL_34c1: ldc.i8 0x0
+ IL_34ca: stloc V_8
+ IL_34ce: ldc.i8 0x0
+ IL_34d7: stloc V_9
+ IL_34db: br IL_363c
+
+ IL_34e0: br IL_3559
+
+ IL_34e5: ldc.i8 0x0
+ IL_34ee: stloc V_12
+ IL_34f2: ldloc V_12
+ IL_34f6: ldc.i8 0x1
+ IL_34ff: add
+ IL_3500: stloc V_12
+ IL_3504: ldloc V_12
+ IL_3508: ldc.i8 0x2
+ IL_3511: blt IL_34f2
+
+ IL_3516: ldc.i8 0x0
+ IL_351f: stloc V_12
+ IL_3523: ldloc V_12
+ IL_3527: ldc.i8 0x1
+ IL_3530: add
+ IL_3531: stloc V_12
+ IL_3535: ldloc V_12
+ IL_3539: ldc.i8 0x0
+ IL_3542: blt IL_3523
+
+ IL_3547: br IL_354c
+
+ IL_354c: ldloc V_16
+ IL_3550: ldloc V_16
+ IL_3554: add
+ IL_3555: stloc V_16
+ IL_3559: ldc.i8 0x0
+ IL_3562: stloc V_11
+ IL_3566: ldc.i8 0x0
+ IL_356f: stloc V_12
+ IL_3573: ldloc V_12
+ IL_3577: ldc.i8 0x1
+ IL_3580: add
+ IL_3581: stloc V_12
+ IL_3585: ldloc V_12
+ IL_3589: ldc.i8 0x2
+ IL_3592: blt IL_3573
+
+ IL_3597: ldc.i8 0x0
+ IL_35a0: stloc V_12
+ IL_35a4: ldloc V_12
+ IL_35a8: ldc.i8 0x1
+ IL_35b1: add
+ IL_35b2: stloc V_12
+ IL_35b6: ldloc V_12
+ IL_35ba: ldc.i8 0x2
+ IL_35c3: blt IL_35a4
+
+ IL_35c8: ldc.i8 0x0
+ IL_35d1: stloc V_12
+ IL_35d5: ldloc V_12
+ IL_35d9: ldc.i8 0x1
+ IL_35e2: add
+ IL_35e3: stloc V_12
+ IL_35e7: ldloc V_12
+ IL_35eb: ldc.i8 0x0
+ IL_35f4: blt IL_35d5
+
+ IL_35f9: br IL_35fe
+
+ IL_35fe: ldloc V_25
+ IL_3602: stloc V_27
+ IL_3606: ldloc V_11
+ IL_360a: ldc.i8 0x1
+ IL_3613: add
+ IL_3614: stloc V_11
+ IL_3618: ldloc V_11
+ IL_361c: ldc.i8 0x0
+ IL_3625: blt IL_3566
+
+ IL_362a: ldloc V_21
+ IL_362e: ldc.i8 0x6
+ IL_3637: add
+ IL_3638: stloc V_38
+ IL_363c: ldc.i8 0x0
+ IL_3645: stloc V_10
+ IL_3649: ldloc V_49
+ IL_364d: ldc.i8 0x4
+ IL_3656: add
+ IL_3657: stloc V_35
+ IL_365b: ldloc V_10
+ IL_365f: ldc.i8 0x1
+ IL_3668: add
+ IL_3669: stloc V_10
+ IL_366d: ldloc V_10
+ IL_3671: ldc.i8 0x2
+ IL_367a: blt IL_3649
+
+ IL_367f: ldc.i8 0x4
+ IL_3688: stloc V_30
+ IL_368c: ldloc V_9
+ IL_3690: ldc.i8 0x1
+ IL_3699: add
+ IL_369a: stloc V_9
+ IL_369e: ldloc V_9
+ IL_36a2: ldc.i8 0x0
+ IL_36ab: blt IL_34db
+
+ IL_36b0: ldc.i8 0x0
+ IL_36b9: stloc V_9
+ IL_36bd: ldc.i8 0x0
+ IL_36c6: stloc V_10
+ IL_36ca: ldc.i8 0x0
+ IL_36d3: stloc V_11
+ IL_36d7: ldc.i8 0x0
+ IL_36e0: stloc V_12
+ IL_36e4: ldloc V_12
+ IL_36e8: ldc.i8 0x1
+ IL_36f1: add
+ IL_36f2: stloc V_12
+ IL_36f6: ldloc V_12
+ IL_36fa: ldc.i8 0x2
+ IL_3703: blt IL_36e4
+
+ IL_3708: ldc.i8 0x0
+ IL_3711: stloc V_12
+ IL_3715: ldloc V_12
+ IL_3719: ldc.i8 0x1
+ IL_3722: add
+ IL_3723: stloc V_12
+ IL_3727: ldloc V_12
+ IL_372b: ldc.i8 0x1
+ IL_3734: blt IL_3715
+
+ IL_3739: ldc.i8 0x0
+ IL_3742: stloc V_12
+ IL_3746: ldloc V_12
+ IL_374a: ldc.i8 0x1
+ IL_3753: add
+ IL_3754: stloc V_12
+ IL_3758: ldloc V_12
+ IL_375c: ldc.i8 0x0
+ IL_3765: blt IL_3746
+
+ IL_376a: ldc.i8 0x0
+ IL_3773: stloc V_12
+ IL_3777: ldloc V_12
+ IL_377b: ldc.i8 0x1
+ IL_3784: add
+ IL_3785: stloc V_12
+ IL_3789: ldloc V_12
+ IL_378d: ldc.i8 0x0
+ IL_3796: blt IL_3777
+
+ IL_379b: ldc.i8 0x9
+ IL_37a4: stloc V_39
+ IL_37a8: ldloc V_11
+ IL_37ac: ldc.i8 0x1
+ IL_37b5: add
+ IL_37b6: stloc V_11
+ IL_37ba: ldloc V_11
+ IL_37be: ldc.i8 0x0
+ IL_37c7: blt IL_36d7
+
+ IL_37cc: br IL_37ed
+
+ IL_37d1: br IL_37d6
+
+ IL_37d6: ldloc V_35
+ IL_37da: ldloc V_27
+ IL_37de: add
+ IL_37df: ldc.i8 0x8
+ IL_37e8: add
+ IL_37e9: stloc V_35
+ IL_37ed: ldc.i8 0x0
+ IL_37f6: stloc V_11
+ IL_37fa: ldloc V_17
+ IL_37fe: stloc V_36
+ IL_3802: ldloc V_11
+ IL_3806: ldc.i8 0x1
+ IL_380f: add
+ IL_3810: stloc V_11
+ IL_3814: ldloc V_11
+ IL_3818: ldc.i8 0x2
+ IL_3821: blt IL_37fa
+
+ IL_3826: ldloc V_48
+ IL_382a: ldloc V_7
+ IL_382e: add
+ IL_382f: stloc V_30
+ IL_3833: ldloc V_10
+ IL_3837: ldc.i8 0x1
+ IL_3840: add
+ IL_3841: stloc V_10
+ IL_3845: ldloc V_10
+ IL_3849: ldc.i8 0x2
+ IL_3852: blt IL_36ca
+
+ IL_3857: br IL_3934
+
+ IL_385c: br IL_3873
+
+ IL_3861: ldloc V_28
+ IL_3865: ldc.i8 0x1
+ IL_386e: add
+ IL_386f: stloc V_25
+ IL_3873: ldc.i8 0x0
+ IL_387c: stloc V_11
+ IL_3880: br IL_3885
+
+ IL_3885: ldc.i8 0x0
+ IL_388e: stloc V_12
+ IL_3892: ldloc V_12
+ IL_3896: ldc.i8 0x1
+ IL_389f: add
+ IL_38a0: stloc V_12
+ IL_38a4: ldloc V_12
+ IL_38a8: ldc.i8 0x2
+ IL_38b1: blt IL_3892
+
+ IL_38b6: br IL_38bb
+
+ IL_38bb: ldc.i8 0x0
+ IL_38c4: stloc V_12
+ IL_38c8: ldloc V_12
+ IL_38cc: ldc.i8 0x1
+ IL_38d5: add
+ IL_38d6: stloc V_12
+ IL_38da: ldloc V_12
+ IL_38de: ldc.i8 0x1
+ IL_38e7: blt IL_38c8
+
+ IL_38ec: ldloc V_31
+ IL_38f0: ldloc V_35
+ IL_38f4: add
+ IL_38f5: stloc V_31
+ IL_38f9: ldloc V_11
+ IL_38fd: ldc.i8 0x1
+ IL_3906: add
+ IL_3907: stloc V_11
+ IL_390b: ldloc V_11
+ IL_390f: ldc.i8 0x2
+ IL_3918: blt IL_3880
+
+ IL_391d: ldloc V_30
+ IL_3921: ldloc V_49
+ IL_3925: add
+ IL_3926: ldc.i8 0x3
+ IL_392f: add
+ IL_3930: stloc V_30
+ IL_3934: ldc.i8 0x0
+ IL_393d: stloc V_10
+ IL_3941: br IL_39b0
+
+ IL_3946: ldc.i8 0x0
+ IL_394f: stloc V_12
+ IL_3953: ldloc V_12
+ IL_3957: ldc.i8 0x1
+ IL_3960: add
+ IL_3961: stloc V_12
+ IL_3965: ldloc V_12
+ IL_3969: ldc.i8 0x2
+ IL_3972: blt IL_3953
+
+ IL_3977: ldc.i8 0x0
+ IL_3980: stloc V_12
+ IL_3984: ldloc V_12
+ IL_3988: ldc.i8 0x1
+ IL_3991: add
+ IL_3992: stloc V_12
+ IL_3996: ldloc V_12
+ IL_399a: ldc.i8 0x1
+ IL_39a3: blt IL_3984
+
+ IL_39a8: ldloc V_48
+ IL_39ac: stloc V_16
+ IL_39b0: ldc.i8 0x0
+ IL_39b9: stloc V_11
+ IL_39bd: ldc.i8 0x0
+ IL_39c6: stloc V_12
+ IL_39ca: ldloc V_12
+ IL_39ce: ldc.i8 0x1
+ IL_39d7: add
+ IL_39d8: stloc V_12
+ IL_39dc: ldloc V_12
+ IL_39e0: ldc.i8 0x1
+ IL_39e9: blt IL_39ca
+
+ IL_39ee: ldloc V_4
+ IL_39f2: ldc.i8 0x3
+ IL_39fb: add
+ IL_39fc: stloc V_46
+ IL_3a00: ldloc V_11
+ IL_3a04: ldc.i8 0x1
+ IL_3a0d: add
+ IL_3a0e: stloc V_11
+ IL_3a12: ldloc V_11
+ IL_3a16: ldc.i8 0x1
+ IL_3a1f: blt IL_39bd
+
+ IL_3a24: ldc.i8 0x0
+ IL_3a2d: stloc V_11
+ IL_3a31: ldc.i8 0x0
+ IL_3a3a: stloc V_12
+ IL_3a3e: ldloc V_12
+ IL_3a42: ldc.i8 0x1
+ IL_3a4b: add
+ IL_3a4c: stloc V_12
+ IL_3a50: ldloc V_12
+ IL_3a54: ldc.i8 0x0
+ IL_3a5d: blt IL_3a3e
+
+ IL_3a62: ldc.i8 0x0
+ IL_3a6b: stloc V_12
+ IL_3a6f: ldloc V_12
+ IL_3a73: ldc.i8 0x1
+ IL_3a7c: add
+ IL_3a7d: stloc V_12
+ IL_3a81: ldloc V_12
+ IL_3a85: ldc.i8 0x0
+ IL_3a8e: blt IL_3a6f
+
+ IL_3a93: nop
+ IL_3a94: ldloc V_11
+ IL_3a98: ldc.i8 0x1
+ IL_3aa1: add
+ IL_3aa2: stloc V_11
+ IL_3aa6: ldloc V_11
+ IL_3aaa: ldc.i8 0x1
+ IL_3ab3: blt IL_3a31
+
+ IL_3ab8: nop
+ IL_3ab9: ldloc V_10
+ IL_3abd: ldc.i8 0x1
+ IL_3ac6: add
+ IL_3ac7: stloc V_10
+ IL_3acb: ldloc V_10
+ IL_3acf: ldc.i8 0x1
+ IL_3ad8: blt IL_3941
+
+ IL_3add: ldc.i8 0x0
+ IL_3ae6: stloc V_10
+ IL_3aea: ldc.i8 0x0
+ IL_3af3: stloc V_11
+ IL_3af7: ldc.i8 0x0
+ IL_3b00: stloc V_12
+ IL_3b04: ldloc V_12
+ IL_3b08: ldc.i8 0x1
+ IL_3b11: add
+ IL_3b12: stloc V_12
+ IL_3b16: ldloc V_12
+ IL_3b1a: ldc.i8 0x1
+ IL_3b23: blt IL_3b04
+
+ IL_3b28: ldc.i8 0x0
+ IL_3b31: stloc V_12
+ IL_3b35: ldloc V_12
+ IL_3b39: ldc.i8 0x1
+ IL_3b42: add
+ IL_3b43: stloc V_12
+ IL_3b47: ldloc V_12
+ IL_3b4b: ldc.i8 0x1
+ IL_3b54: blt IL_3b35
+
+ IL_3b59: br IL_3b5e
+
+ IL_3b5e: ldloc V_26
+ IL_3b62: ldloc V_32
+ IL_3b66: add
+ IL_3b67: stloc V_26
+ IL_3b6b: ldloc V_11
+ IL_3b6f: ldc.i8 0x1
+ IL_3b78: add
+ IL_3b79: stloc V_11
+ IL_3b7d: ldloc V_11
+ IL_3b81: ldc.i8 0x0
+ IL_3b8a: blt IL_3af7
+
+ IL_3b8f: ldc.i8 0x0
+ IL_3b98: stloc V_11
+ IL_3b9c: nop
+ IL_3b9d: ldloc V_11
+ IL_3ba1: ldc.i8 0x1
+ IL_3baa: add
+ IL_3bab: stloc V_11
+ IL_3baf: ldloc V_11
+ IL_3bb3: ldc.i8 0x0
+ IL_3bbc: blt IL_3b9c
+
+ IL_3bc1: br IL_3c02
+
+ IL_3bc6: br IL_3bcb
+
+ IL_3bcb: br IL_3bd0
+
+ IL_3bd0: ldc.i8 0x0
+ IL_3bd9: stloc V_12
+ IL_3bdd: ldloc V_12
+ IL_3be1: ldc.i8 0x1
+ IL_3bea: add
+ IL_3beb: stloc V_12
+ IL_3bef: ldloc V_12
+ IL_3bf3: ldc.i8 0x1
+ IL_3bfc: blt IL_3bdd
+
+ IL_3c01: nop
+ IL_3c02: br IL_3c3e
+
+ IL_3c07: ldc.i8 0x0
+ IL_3c10: stloc V_12
+ IL_3c14: ldloc V_12
+ IL_3c18: ldc.i8 0x1
+ IL_3c21: add
+ IL_3c22: stloc V_12
+ IL_3c26: ldloc V_12
+ IL_3c2a: ldc.i8 0x2
+ IL_3c33: blt IL_3c14
+
+ IL_3c38: br IL_3c3d
+
+ IL_3c3d: nop
+ IL_3c3e: ldloc V_43
+ IL_3c42: ldloc V_0
+ IL_3c46: add
+ IL_3c47: stloc V_11
+ IL_3c4b: ldloc V_10
+ IL_3c4f: ldc.i8 0x1
+ IL_3c58: add
+ IL_3c59: stloc V_10
+ IL_3c5d: ldloc V_10
+ IL_3c61: ldc.i8 0x1
+ IL_3c6a: blt IL_3aea
+
+ IL_3c6f: nop
+ IL_3c70: ldloc V_9
+ IL_3c74: ldc.i8 0x1
+ IL_3c7d: add
+ IL_3c7e: stloc V_9
+ IL_3c82: ldloc V_9
+ IL_3c86: ldc.i8 0x0
+ IL_3c8f: blt IL_36bd
+
+ IL_3c94: ldc.i8 0x8
+ IL_3c9d: stloc V_43
+ IL_3ca1: ldloc V_8
+ IL_3ca5: ldc.i8 0x1
+ IL_3cae: add
+ IL_3caf: stloc V_8
+ IL_3cb3: ldloc V_8
+ IL_3cb7: ldc.i8 0x1
+ IL_3cc0: blt IL_34ce
+
+ IL_3cc5: ldloc V_22
+ IL_3cc9: ldc.i8 0x8
+ IL_3cd2: add
+ IL_3cd3: stloc V_28
+ IL_3cd7: ldloc V_7
+ IL_3cdb: ldc.i8 0x1
+ IL_3ce4: add
+ IL_3ce5: stloc V_7
+ IL_3ce9: ldloc V_7
+ IL_3ced: ldc.i8 0x1
+ IL_3cf6: blt IL_3483
+
+ IL_3cfb: br IL_454d
+
+ IL_3d00: ldc.i8 0x0
+ IL_3d09: stloc V_8
+ IL_3d0d: br IL_3fc1
+
+ IL_3d12: br IL_3faf
+
+ IL_3d17: ldc.i8 0x0
+ IL_3d20: stloc V_11
+ IL_3d24: ldc.i8 0x0
+ IL_3d2d: stloc V_12
+ IL_3d31: ldloc V_12
+ IL_3d35: ldc.i8 0x1
+ IL_3d3e: add
+ IL_3d3f: stloc V_12
+ IL_3d43: ldloc V_12
+ IL_3d47: ldc.i8 0x2
+ IL_3d50: blt IL_3d31
+
+ IL_3d55: ldc.i8 0x0
+ IL_3d5e: stloc V_12
+ IL_3d62: ldloc V_12
+ IL_3d66: ldc.i8 0x1
+ IL_3d6f: add
+ IL_3d70: stloc V_12
+ IL_3d74: ldloc V_12
+ IL_3d78: ldc.i8 0x0
+ IL_3d81: blt IL_3d62
+
+ IL_3d86: ldc.i8 0x0
+ IL_3d8f: stloc V_12
+ IL_3d93: ldloc V_12
+ IL_3d97: ldc.i8 0x1
+ IL_3da0: add
+ IL_3da1: stloc V_12
+ IL_3da5: ldloc V_12
+ IL_3da9: ldc.i8 0x2
+ IL_3db2: blt IL_3d93
+
+ IL_3db7: ldloc V_20
+ IL_3dbb: ldloc V_26
+ IL_3dbf: add
+ IL_3dc0: ldc.i8 0x6
+ IL_3dc9: add
+ IL_3dca: stloc V_20
+ IL_3dce: ldloc V_11
+ IL_3dd2: ldc.i8 0x1
+ IL_3ddb: add
+ IL_3ddc: stloc V_11
+ IL_3de0: ldloc V_11
+ IL_3de4: ldc.i8 0x0
+ IL_3ded: blt IL_3d24
+
+ IL_3df2: br IL_3e75
+
+ IL_3df7: ldc.i8 0x0
+ IL_3e00: stloc V_12
+ IL_3e04: ldloc V_12
+ IL_3e08: ldc.i8 0x1
+ IL_3e11: add
+ IL_3e12: stloc V_12
+ IL_3e16: ldloc V_12
+ IL_3e1a: ldc.i8 0x1
+ IL_3e23: blt IL_3e04
+
+ IL_3e28: br IL_3e2d
+
+ IL_3e2d: br IL_3e32
+
+ IL_3e32: ldc.i8 0x0
+ IL_3e3b: stloc V_12
+ IL_3e3f: ldloc V_12
+ IL_3e43: ldc.i8 0x1
+ IL_3e4c: add
+ IL_3e4d: stloc V_12
+ IL_3e51: ldloc V_12
+ IL_3e55: ldc.i8 0x1
+ IL_3e5e: blt IL_3e3f
+
+ IL_3e63: ldloc V_1
+ IL_3e67: ldc.i8 0x2
+ IL_3e70: add
+ IL_3e71: stloc V_22
+ IL_3e75: ldc.i8 0x0
+ IL_3e7e: stloc V_11
+ IL_3e82: ldc.i8 0x0
+ IL_3e8b: stloc V_12
+ IL_3e8f: ldloc V_12
+ IL_3e93: ldc.i8 0x1
+ IL_3e9c: add
+ IL_3e9d: stloc V_12
+ IL_3ea1: ldloc V_12
+ IL_3ea5: ldc.i8 0x1
+ IL_3eae: blt IL_3e8f
+
+ IL_3eb3: ldc.i8 0x0
+ IL_3ebc: stloc V_12
+ IL_3ec0: ldloc V_12
+ IL_3ec4: ldc.i8 0x1
+ IL_3ecd: add
+ IL_3ece: stloc V_12
+ IL_3ed2: ldloc V_12
+ IL_3ed6: ldc.i8 0x2
+ IL_3edf: blt IL_3ec0
+
+ IL_3ee4: ldc.i8 0x0
+ IL_3eed: stloc V_12
+ IL_3ef1: ldloc V_12
+ IL_3ef5: ldc.i8 0x1
+ IL_3efe: add
+ IL_3eff: stloc V_12
+ IL_3f03: ldloc V_12
+ IL_3f07: ldc.i8 0x2
+ IL_3f10: blt IL_3ef1
+
+ IL_3f15: ldloc V_30
+ IL_3f19: ldloc V_3
+ IL_3f1d: add
+ IL_3f1e: ldc.i8 0x8
+ IL_3f27: add
+ IL_3f28: stloc V_30
+ IL_3f2c: ldloc V_11
+ IL_3f30: ldc.i8 0x1
+ IL_3f39: add
+ IL_3f3a: stloc V_11
+ IL_3f3e: ldloc V_11
+ IL_3f42: ldc.i8 0x2
+ IL_3f4b: blt IL_3e82
+
+ IL_3f50: ldc.i8 0x0
+ IL_3f59: stloc V_11
+ IL_3f5d: ldloc V_16
+ IL_3f61: ldloc V_13
+ IL_3f65: add
+ IL_3f66: ldc.i8 0x8
+ IL_3f6f: add
+ IL_3f70: stloc V_16
+ IL_3f74: ldloc V_11
+ IL_3f78: ldc.i8 0x1
+ IL_3f81: add
+ IL_3f82: stloc V_11
+ IL_3f86: ldloc V_11
+ IL_3f8a: ldc.i8 0x0
+ IL_3f93: blt IL_3f5d
+
+ IL_3f98: ldloc V_26
+ IL_3f9c: ldloc V_38
+ IL_3fa0: add
+ IL_3fa1: ldc.i8 0x3
+ IL_3faa: add
+ IL_3fab: stloc V_26
+ IL_3faf: ldloc V_2
+ IL_3fb3: ldc.i8 0x0
+ IL_3fbc: add
+ IL_3fbd: stloc V_11
+ IL_3fc1: ldc.i8 0x0
+ IL_3fca: stloc V_9
+ IL_3fce: ldc.i8 0x0
+ IL_3fd7: stloc V_10
+ IL_3fdb: br IL_4059
+
+ IL_3fe0: ldc.i8 0x0
+ IL_3fe9: stloc V_12
+ IL_3fed: ldloc V_12
+ IL_3ff1: ldc.i8 0x1
+ IL_3ffa: add
+ IL_3ffb: stloc V_12
+ IL_3fff: ldloc V_12
+ IL_4003: ldc.i8 0x1
+ IL_400c: blt IL_3fed
+
+ IL_4011: ldc.i8 0x0
+ IL_401a: stloc V_12
+ IL_401e: ldloc V_12
+ IL_4022: ldc.i8 0x1
+ IL_402b: add
+ IL_402c: stloc V_12
+ IL_4030: ldloc V_12
+ IL_4034: ldc.i8 0x0
+ IL_403d: blt IL_401e
+
+ IL_4042: br IL_4047
+
+ IL_4047: ldloc V_14
+ IL_404b: ldc.i8 0x3
+ IL_4054: add
+ IL_4055: stloc V_23
+ IL_4059: br IL_40cb
+
+ IL_405e: ldc.i8 0x0
+ IL_4067: stloc V_12
+ IL_406b: ldloc V_12
+ IL_406f: ldc.i8 0x1
+ IL_4078: add
+ IL_4079: stloc V_12
+ IL_407d: ldloc V_12
+ IL_4081: ldc.i8 0x1
+ IL_408a: blt IL_406b
+
+ IL_408f: br IL_4094
+
+ IL_4094: br IL_4099
+
+ IL_4099: ldc.i8 0x0
+ IL_40a2: stloc V_12
+ IL_40a6: ldloc V_12
+ IL_40aa: ldc.i8 0x1
+ IL_40b3: add
+ IL_40b4: stloc V_12
+ IL_40b8: ldloc V_12
+ IL_40bc: ldc.i8 0x0
+ IL_40c5: blt IL_40a6
+
+ IL_40ca: nop
+ IL_40cb: ldloc V_15
+ IL_40cf: ldloc V_16
+ IL_40d3: add
+ IL_40d4: stloc V_15
+ IL_40d8: ldloc V_10
+ IL_40dc: ldc.i8 0x1
+ IL_40e5: add
+ IL_40e6: stloc V_10
+ IL_40ea: ldloc V_10
+ IL_40ee: ldc.i8 0x2
+ IL_40f7: blt IL_3fdb
+
+ IL_40fc: nop
+ IL_40fd: ldloc V_9
+ IL_4101: ldc.i8 0x1
+ IL_410a: add
+ IL_410b: stloc V_9
+ IL_410f: ldloc V_9
+ IL_4113: ldc.i8 0x1
+ IL_411c: blt IL_3fce
+
+ IL_4121: br IL_444b
+
+ IL_4126: ldc.i8 0x0
+ IL_412f: stloc V_10
+ IL_4133: br IL_41d8
+
+ IL_4138: ldc.i8 0x0
+ IL_4141: stloc V_12
+ IL_4145: ldloc V_12
+ IL_4149: ldc.i8 0x1
+ IL_4152: add
+ IL_4153: stloc V_12
+ IL_4157: ldloc V_12
+ IL_415b: ldc.i8 0x0
+ IL_4164: blt IL_4145
+
+ IL_4169: ldc.i8 0x0
+ IL_4172: stloc V_12
+ IL_4176: ldloc V_12
+ IL_417a: ldc.i8 0x1
+ IL_4183: add
+ IL_4184: stloc V_12
+ IL_4188: ldloc V_12
+ IL_418c: ldc.i8 0x2
+ IL_4195: blt IL_4176
+
+ IL_419a: br IL_419f
+
+ IL_419f: ldc.i8 0x0
+ IL_41a8: stloc V_12
+ IL_41ac: ldloc V_12
+ IL_41b0: ldc.i8 0x1
+ IL_41b9: add
+ IL_41ba: stloc V_12
+ IL_41be: ldloc V_12
+ IL_41c2: ldc.i8 0x0
+ IL_41cb: blt IL_41ac
+
+ IL_41d0: ldloc V_27
+ IL_41d4: stloc V_22
+ IL_41d8: ldc.i8 0x0
+ IL_41e1: stloc V_11
+ IL_41e5: ldc.i8 0x0
+ IL_41ee: stloc V_12
+ IL_41f2: ldloc V_12
+ IL_41f6: ldc.i8 0x1
+ IL_41ff: add
+ IL_4200: stloc V_12
+ IL_4204: ldloc V_12
+ IL_4208: ldc.i8 0x0
+ IL_4211: blt IL_41f2
+
+ IL_4216: br IL_421b
+
+ IL_421b: ldc.i8 0x6
+ IL_4224: stloc V_38
+ IL_4228: ldloc V_11
+ IL_422c: ldc.i8 0x1
+ IL_4235: add
+ IL_4236: stloc V_11
+ IL_423a: ldloc V_11
+ IL_423e: ldc.i8 0x1
+ IL_4247: blt IL_41e5
+
+ IL_424c: ldc.i8 0x0
+ IL_4255: stloc V_11
+ IL_4259: br IL_425e
+
+ IL_425e: ldc.i8 0x0
+ IL_4267: stloc V_12
+ IL_426b: ldloc V_12
+ IL_426f: ldc.i8 0x1
+ IL_4278: add
+ IL_4279: stloc V_12
+ IL_427d: ldloc V_12
+ IL_4281: ldc.i8 0x1
+ IL_428a: blt IL_426b
+
+ IL_428f: ldloc V_20
+ IL_4293: ldc.i8 0x6
+ IL_429c: add
+ IL_429d: stloc V_40
+ IL_42a1: ldloc V_11
+ IL_42a5: ldc.i8 0x1
+ IL_42ae: add
+ IL_42af: stloc V_11
+ IL_42b3: ldloc V_11
+ IL_42b7: ldc.i8 0x1
+ IL_42c0: blt IL_4259
+
+ IL_42c5: br IL_42e6
+
+ IL_42ca: br IL_42cf
+
+ IL_42cf: ldloc V_44
+ IL_42d3: ldloc V_5
+ IL_42d7: add
+ IL_42d8: ldc.i8 0x7
+ IL_42e1: add
+ IL_42e2: stloc V_44
+ IL_42e6: ldloc V_20
+ IL_42ea: ldloc V_45
+ IL_42ee: add
+ IL_42ef: ldc.i8 0x7
+ IL_42f8: add
+ IL_42f9: stloc V_20
+ IL_42fd: ldloc V_10
+ IL_4301: ldc.i8 0x1
+ IL_430a: add
+ IL_430b: stloc V_10
+ IL_430f: ldloc V_10
+ IL_4313: ldc.i8 0x2
+ IL_431c: blt IL_4133
+
+ IL_4321: ldc.i8 0x0
+ IL_432a: stloc V_10
+ IL_432e: br IL_437b
+
+ IL_4333: br IL_4338
+
+ IL_4338: ldc.i8 0x0
+ IL_4341: stloc V_12
+ IL_4345: ldloc V_12
+ IL_4349: ldc.i8 0x1
+ IL_4352: add
+ IL_4353: stloc V_12
+ IL_4357: ldloc V_12
+ IL_435b: ldc.i8 0x1
+ IL_4364: blt IL_4345
+
+ IL_4369: ldloc V_47
+ IL_436d: ldc.i8 0x3
+ IL_4376: add
+ IL_4377: stloc V_17
+ IL_437b: ldc.i8 0x0
+ IL_4384: stloc V_11
+ IL_4388: ldc.i8 0x0
+ IL_4391: stloc V_12
+ IL_4395: ldloc V_12
+ IL_4399: ldc.i8 0x1
+ IL_43a2: add
+ IL_43a3: stloc V_12
+ IL_43a7: ldloc V_12
+ IL_43ab: ldc.i8 0x1
+ IL_43b4: blt IL_4395
+
+ IL_43b9: br IL_43be
+
+ IL_43be: br IL_43c3
+
+ IL_43c3: ldc.i8 0x0
+ IL_43cc: stloc V_12
+ IL_43d0: ldloc V_12
+ IL_43d4: ldc.i8 0x1
+ IL_43dd: add
+ IL_43de: stloc V_12
+ IL_43e2: ldloc V_12
+ IL_43e6: ldc.i8 0x2
+ IL_43ef: blt IL_43d0
+
+ IL_43f4: nop
+ IL_43f5: ldloc V_11
+ IL_43f9: ldc.i8 0x1
+ IL_4402: add
+ IL_4403: stloc V_11
+ IL_4407: ldloc V_11
+ IL_440b: ldc.i8 0x0
+ IL_4414: blt IL_4388
+
+ IL_4419: nop
+ IL_441a: ldloc V_10
+ IL_441e: ldc.i8 0x1
+ IL_4427: add
+ IL_4428: stloc V_10
+ IL_442c: ldloc V_10
+ IL_4430: ldc.i8 0x2
+ IL_4439: blt IL_432e
+
+ IL_443e: ldc.i8 0x4
+ IL_4447: stloc V_16
+ IL_444b: ldloc V_26
+ IL_444f: stloc V_31
+ IL_4453: ldloc V_8
+ IL_4457: ldc.i8 0x1
+ IL_4460: add
+ IL_4461: stloc V_8
+ IL_4465: ldloc V_8
+ IL_4469: ldc.i8 0x0
+ IL_4472: blt IL_3d0d
+
+ IL_4477: ldc.i8 0x0
+ IL_4480: stloc V_8
+ IL_4484: ldc.i8 0x0
+ IL_448d: stloc V_9
+ IL_4491: ldloc V_1
+ IL_4495: ldloc V_17
+ IL_4499: add
+ IL_449a: stloc V_46
+ IL_449e: ldloc V_9
+ IL_44a2: ldc.i8 0x1
+ IL_44ab: add
+ IL_44ac: stloc V_9
+ IL_44b0: ldloc V_9
+ IL_44b4: ldc.i8 0x1
+ IL_44bd: blt IL_4491
+
+ IL_44c2: ldloc V_16
+ IL_44c6: ldc.i8 0x3
+ IL_44cf: add
+ IL_44d0: stloc V_44
+ IL_44d4: ldloc V_8
+ IL_44d8: ldc.i8 0x1
+ IL_44e1: add
+ IL_44e2: stloc V_8
+ IL_44e6: ldloc V_8
+ IL_44ea: ldc.i8 0x1
+ IL_44f3: blt IL_4484
+
+ IL_44f8: ldc.i8 0x0
+ IL_4501: stloc V_8
+ IL_4505: ldloc V_13
+ IL_4509: ldloc V_40
+ IL_450d: add
+ IL_450e: ldc.i8 0x0
+ IL_4517: add
+ IL_4518: stloc V_13
+ IL_451c: ldloc V_8
+ IL_4520: ldc.i8 0x1
+ IL_4529: add
+ IL_452a: stloc V_8
+ IL_452e: ldloc V_8
+ IL_4532: ldc.i8 0x1
+ IL_453b: blt IL_4505
+
+ IL_4540: ldloc V_31
+ IL_4544: ldloc V_34
+ IL_4548: add
+ IL_4549: stloc V_31
+ IL_454d: ldc.i8 0x0
+ IL_4556: stloc V_7
+ IL_455a: ldloc V_30
+ IL_455e: ldloc V_28
+ IL_4562: add
+ IL_4563: stloc V_19
+ IL_4567: ldloc V_7
+ IL_456b: ldc.i8 0x1
+ IL_4574: add
+ IL_4575: stloc V_7
+ IL_4579: ldloc V_7
+ IL_457d: ldc.i8 0x2
+ IL_4586: blt IL_455a
+
+ IL_458b: br IL_4d11
+
+ IL_4590: ldc.i8 0x0
+ IL_4599: stloc V_8
+ IL_459d: ldc.i8 0x0
+ IL_45a6: stloc V_9
+ IL_45aa: ldloc V_1
+ IL_45ae: stloc V_14
+ IL_45b2: ldloc V_9
+ IL_45b6: ldc.i8 0x1
+ IL_45bf: add
+ IL_45c0: stloc V_9
+ IL_45c4: ldloc V_9
+ IL_45c8: ldc.i8 0x1
+ IL_45d1: blt IL_45aa
+
+ IL_45d6: ldc.i8 0x0
+ IL_45df: stloc V_9
+ IL_45e3: ldc.i8 0x0
+ IL_45ec: stloc V_10
+ IL_45f0: ldc.i8 0x0
+ IL_45f9: stloc V_11
+ IL_45fd: ldc.i8 0x0
+ IL_4606: stloc V_12
+ IL_460a: ldloc V_12
+ IL_460e: ldc.i8 0x1
+ IL_4617: add
+ IL_4618: stloc V_12
+ IL_461c: ldloc V_12
+ IL_4620: ldc.i8 0x0
+ IL_4629: blt IL_460a
+
+ IL_462e: ldc.i8 0x0
+ IL_4637: stloc V_12
+ IL_463b: ldloc V_12
+ IL_463f: ldc.i8 0x1
+ IL_4648: add
+ IL_4649: stloc V_12
+ IL_464d: ldloc V_12
+ IL_4651: ldc.i8 0x2
+ IL_465a: blt IL_463b
+
+ IL_465f: ldc.i8 0x0
+ IL_4668: stloc V_12
+ IL_466c: ldloc V_12
+ IL_4670: ldc.i8 0x1
+ IL_4679: add
+ IL_467a: stloc V_12
+ IL_467e: ldloc V_12
+ IL_4682: ldc.i8 0x0
+ IL_468b: blt IL_466c
+
+ IL_4690: ldloc V_14
+ IL_4694: ldloc V_45
+ IL_4698: add
+ IL_4699: stloc V_39
+ IL_469d: ldloc V_11
+ IL_46a1: ldc.i8 0x1
+ IL_46aa: add
+ IL_46ab: stloc V_11
+ IL_46af: ldloc V_11
+ IL_46b3: ldc.i8 0x0
+ IL_46bc: blt IL_45fd
+
+ IL_46c1: nop
+ IL_46c2: ldloc V_10
+ IL_46c6: ldc.i8 0x1
+ IL_46cf: add
+ IL_46d0: stloc V_10
+ IL_46d4: ldloc V_10
+ IL_46d8: ldc.i8 0x1
+ IL_46e1: blt IL_45f0
+
+ IL_46e6: br IL_4869
+
+ IL_46eb: ldc.i8 0x0
+ IL_46f4: stloc V_11
+ IL_46f8: ldc.i8 0x2
+ IL_4701: stloc V_19
+ IL_4705: ldloc V_11
+ IL_4709: ldc.i8 0x1
+ IL_4712: add
+ IL_4713: stloc V_11
+ IL_4717: ldloc V_11
+ IL_471b: ldc.i8 0x0
+ IL_4724: blt IL_46f8
+
+ IL_4729: ldc.i8 0x0
+ IL_4732: stloc V_11
+ IL_4736: br IL_473b
+
+ IL_473b: ldloc V_33
+ IL_473f: ldloc V_21
+ IL_4743: add
+ IL_4744: stloc V_33
+ IL_4748: ldloc V_11
+ IL_474c: ldc.i8 0x1
+ IL_4755: add
+ IL_4756: stloc V_11
+ IL_475a: ldloc V_11
+ IL_475e: ldc.i8 0x2
+ IL_4767: blt IL_4736
+
+ IL_476c: br IL_4816
+
+ IL_4771: ldc.i8 0x0
+ IL_477a: stloc V_12
+ IL_477e: ldloc V_12
+ IL_4782: ldc.i8 0x1
+ IL_478b: add
+ IL_478c: stloc V_12
+ IL_4790: ldloc V_12
+ IL_4794: ldc.i8 0x0
+ IL_479d: blt IL_477e
+
+ IL_47a2: ldc.i8 0x0
+ IL_47ab: stloc V_12
+ IL_47af: ldloc V_12
+ IL_47b3: ldc.i8 0x1
+ IL_47bc: add
+ IL_47bd: stloc V_12
+ IL_47c1: ldloc V_12
+ IL_47c5: ldc.i8 0x1
+ IL_47ce: blt IL_47af
+
+ IL_47d3: ldc.i8 0x0
+ IL_47dc: stloc V_12
+ IL_47e0: ldloc V_12
+ IL_47e4: ldc.i8 0x1
+ IL_47ed: add
+ IL_47ee: stloc V_12
+ IL_47f2: ldloc V_12
+ IL_47f6: ldc.i8 0x0
+ IL_47ff: blt IL_47e0
+
+ IL_4804: ldloc V_0
+ IL_4808: ldc.i8 0x7
+ IL_4811: add
+ IL_4812: stloc V_48
+ IL_4816: br IL_4868
+
+ IL_481b: ldc.i8 0x0
+ IL_4824: stloc V_12
+ IL_4828: ldloc V_12
+ IL_482c: ldc.i8 0x1
+ IL_4835: add
+ IL_4836: stloc V_12
+ IL_483a: ldloc V_12
+ IL_483e: ldc.i8 0x1
+ IL_4847: blt IL_4828
+
+ IL_484c: br IL_4851
+
+ IL_4851: ldloc V_47
+ IL_4855: ldloc V_4
+ IL_4859: add
+ IL_485a: ldc.i8 0x7
+ IL_4863: add
+ IL_4864: stloc V_47
+ IL_4868: nop
+ IL_4869: ldloc V_31
+ IL_486d: ldloc V_0
+ IL_4871: add
+ IL_4872: stloc V_31
+ IL_4876: ldloc V_9
+ IL_487a: ldc.i8 0x1
+ IL_4883: add
+ IL_4884: stloc V_9
+ IL_4888: ldloc V_9
+ IL_488c: ldc.i8 0x0
+ IL_4895: blt IL_45e3
+
+ IL_489a: ldc.i8 0x0
+ IL_48a3: stloc V_9
+ IL_48a7: br IL_49da
+
+ IL_48ac: ldc.i8 0x0
+ IL_48b5: stloc V_11
+ IL_48b9: ldloc V_27
+ IL_48bd: ldloc V_4
+ IL_48c1: add
+ IL_48c2: ldc.i8 0x4
+ IL_48cb: add
+ IL_48cc: stloc V_27
+ IL_48d0: ldloc V_11
+ IL_48d4: ldc.i8 0x1
+ IL_48dd: add
+ IL_48de: stloc V_11
+ IL_48e2: ldloc V_11
+ IL_48e6: ldc.i8 0x2
+ IL_48ef: blt IL_48b9
+
+ IL_48f4: ldc.i8 0x0
+ IL_48fd: stloc V_11
+ IL_4901: ldc.i8 0x0
+ IL_490a: stloc V_12
+ IL_490e: ldloc V_12
+ IL_4912: ldc.i8 0x1
+ IL_491b: add
+ IL_491c: stloc V_12
+ IL_4920: ldloc V_12
+ IL_4924: ldc.i8 0x2
+ IL_492d: blt IL_490e
+
+ IL_4932: br IL_4937
+
+ IL_4937: ldc.i8 0x0
+ IL_4940: stloc V_12
+ IL_4944: ldloc V_12
+ IL_4948: ldc.i8 0x1
+ IL_4951: add
+ IL_4952: stloc V_12
+ IL_4956: ldloc V_12
+ IL_495a: ldc.i8 0x0
+ IL_4963: blt IL_4944
+
+ IL_4968: ldloc V_31
+ IL_496c: stloc V_37
+ IL_4970: ldloc V_11
+ IL_4974: ldc.i8 0x1
+ IL_497d: add
+ IL_497e: stloc V_11
+ IL_4982: ldloc V_11
+ IL_4986: ldc.i8 0x1
+ IL_498f: blt IL_4901
+
+ IL_4994: ldc.i8 0x0
+ IL_499d: stloc V_11
+ IL_49a1: ldloc V_17
+ IL_49a5: stloc V_17
+ IL_49a9: ldloc V_11
+ IL_49ad: ldc.i8 0x1
+ IL_49b6: add
+ IL_49b7: stloc V_11
+ IL_49bb: ldloc V_11
+ IL_49bf: ldc.i8 0x2
+ IL_49c8: blt IL_49a1
+
+ IL_49cd: ldloc V_45
+ IL_49d1: ldloc V_17
+ IL_49d5: add
+ IL_49d6: stloc V_31
+ IL_49da: ldc.i8 0x0
+ IL_49e3: stloc V_10
+ IL_49e7: ldc.i8 0x0
+ IL_49f0: stloc V_11
+ IL_49f4: ldloc V_5
+ IL_49f8: ldloc V_15
+ IL_49fc: add
+ IL_49fd: stloc V_39
+ IL_4a01: ldloc V_11
+ IL_4a05: ldc.i8 0x1
+ IL_4a0e: add
+ IL_4a0f: stloc V_11
+ IL_4a13: ldloc V_11
+ IL_4a17: ldc.i8 0x1
+ IL_4a20: blt IL_49f4
+
+ IL_4a25: ldc.i8 0x0
+ IL_4a2e: stloc V_11
+ IL_4a32: br IL_4a37
+
+ IL_4a37: ldc.i8 0x0
+ IL_4a40: stloc V_12
+ IL_4a44: ldloc V_12
+ IL_4a48: ldc.i8 0x1
+ IL_4a51: add
+ IL_4a52: stloc V_12
+ IL_4a56: ldloc V_12
+ IL_4a5a: ldc.i8 0x1
+ IL_4a63: blt IL_4a44
+
+ IL_4a68: nop
+ IL_4a69: ldloc V_11
+ IL_4a6d: ldc.i8 0x1
+ IL_4a76: add
+ IL_4a77: stloc V_11
+ IL_4a7b: ldloc V_11
+ IL_4a7f: ldc.i8 0x1
+ IL_4a88: blt IL_4a32
+
+ IL_4a8d: ldc.i8 0x0
+ IL_4a96: stloc V_11
+ IL_4a9a: ldc.i8 0x7
+ IL_4aa3: stloc V_30
+ IL_4aa7: ldloc V_11
+ IL_4aab: ldc.i8 0x1
+ IL_4ab4: add
+ IL_4ab5: stloc V_11
+ IL_4ab9: ldloc V_11
+ IL_4abd: ldc.i8 0x0
+ IL_4ac6: blt IL_4a9a
+
+ IL_4acb: ldloc V_48
+ IL_4acf: ldloc V_24
+ IL_4ad3: add
+ IL_4ad4: stloc V_48
+ IL_4ad8: ldloc V_10
+ IL_4adc: ldc.i8 0x1
+ IL_4ae5: add
+ IL_4ae6: stloc V_10
+ IL_4aea: ldloc V_10
+ IL_4aee: ldc.i8 0x2
+ IL_4af7: blt IL_49e7
+
+ IL_4afc: ldc.i8 0x0
+ IL_4b05: stloc V_10
+ IL_4b09: ldc.i8 0x1
+ IL_4b12: stloc V_40
+ IL_4b16: ldloc V_10
+ IL_4b1a: ldc.i8 0x1
+ IL_4b23: add
+ IL_4b24: stloc V_10
+ IL_4b28: ldloc V_10
+ IL_4b2c: ldc.i8 0x1
+ IL_4b35: blt IL_4b09
+
+ IL_4b3a: ldc.i8 0x0
+ IL_4b43: stloc V_10
+ IL_4b47: ldc.i8 0x0
+ IL_4b50: stloc V_11
+ IL_4b54: ldc.i8 0x5
+ IL_4b5d: stloc V_36
+ IL_4b61: ldloc V_11
+ IL_4b65: ldc.i8 0x1
+ IL_4b6e: add
+ IL_4b6f: stloc V_11
+ IL_4b73: ldloc V_11
+ IL_4b77: ldc.i8 0x0
+ IL_4b80: blt IL_4b54
+
+ IL_4b85: ldc.i8 0x0
+ IL_4b8e: stloc V_11
+ IL_4b92: ldc.i8 0x0
+ IL_4b9b: stloc V_12
+ IL_4b9f: ldloc V_12
+ IL_4ba3: ldc.i8 0x1
+ IL_4bac: add
+ IL_4bad: stloc V_12
+ IL_4bb1: ldloc V_12
+ IL_4bb5: ldc.i8 0x0
+ IL_4bbe: blt IL_4b9f
+
+ IL_4bc3: ldc.i8 0x0
+ IL_4bcc: stloc V_12
+ IL_4bd0: ldloc V_12
+ IL_4bd4: ldc.i8 0x1
+ IL_4bdd: add
+ IL_4bde: stloc V_12
+ IL_4be2: ldloc V_12
+ IL_4be6: ldc.i8 0x2
+ IL_4bef: blt IL_4bd0
+
+ IL_4bf4: ldc.i8 0x0
+ IL_4bfd: stloc V_12
+ IL_4c01: ldloc V_12
+ IL_4c05: ldc.i8 0x1
+ IL_4c0e: add
+ IL_4c0f: stloc V_12
+ IL_4c13: ldloc V_12
+ IL_4c17: ldc.i8 0x1
+ IL_4c20: blt IL_4c01
+
+ IL_4c25: ldloc V_39
+ IL_4c29: ldloc V_27
+ IL_4c2d: add
+ IL_4c2e: ldc.i8 0x8
+ IL_4c37: add
+ IL_4c38: stloc V_39
+ IL_4c3c: ldloc V_11
+ IL_4c40: ldc.i8 0x1
+ IL_4c49: add
+ IL_4c4a: stloc V_11
+ IL_4c4e: ldloc V_11
+ IL_4c52: ldc.i8 0x2
+ IL_4c5b: blt IL_4b92
+
+ IL_4c60: ldloc V_47
+ IL_4c64: ldc.i8 0x3
+ IL_4c6d: add
+ IL_4c6e: stloc V_13
+ IL_4c72: ldloc V_10
+ IL_4c76: ldc.i8 0x1
+ IL_4c7f: add
+ IL_4c80: stloc V_10
+ IL_4c84: ldloc V_10
+ IL_4c88: ldc.i8 0x1
+ IL_4c91: blt IL_4b47
+
+ IL_4c96: ldloc V_27
+ IL_4c9a: ldloc V_44
+ IL_4c9e: add
+ IL_4c9f: stloc V_44
+ IL_4ca3: ldloc V_9
+ IL_4ca7: ldc.i8 0x1
+ IL_4cb0: add
+ IL_4cb1: stloc V_9
+ IL_4cb5: ldloc V_9
+ IL_4cb9: ldc.i8 0x2
+ IL_4cc2: blt IL_48a7
+
+ IL_4cc7: ldc.i8 0x0
+ IL_4cd0: stloc V_26
+ IL_4cd4: ldloc V_8
+ IL_4cd8: ldc.i8 0x1
+ IL_4ce1: add
+ IL_4ce2: stloc V_8
+ IL_4ce6: ldloc V_8
+ IL_4cea: ldc.i8 0x0
+ IL_4cf3: blt IL_459d
+
+ IL_4cf8: br IL_4cfe
+
+ IL_4cfd: nop
+ IL_4cfe: br IL_4d10
+
+ IL_4d03: ldc.i8 0x7
+ IL_4d0c: stloc V_14
+ IL_4d10: nop
+ IL_4d11: ldc.i8 0x6
+ IL_4d1a: stloc V_10
+ IL_4d1e: ldloc V_6
+ IL_4d22: ldc.i8 0x1
+ IL_4d2b: add
+ IL_4d2c: stloc V_6
+ IL_4d30: ldloc V_6
+ IL_4d34: ldc.i8 0x2
+ IL_4d3d: blt IL_3476
+
+ IL_4d42: ldc.i8 0x0
+ IL_4d4b: stloc V_6
+ IL_4d4f: ldc.i8 0x0
+ IL_4d58: stloc V_7
+ IL_4d5c: br IL_4def
+
+ IL_4d61: ldc.i8 0x0
+ IL_4d6a: stloc V_9
+ IL_4d6e: ldc.i8 0x0
+ IL_4d77: stloc V_10
+ IL_4d7b: ldc.i8 0x5
+ IL_4d84: stloc V_16
+ IL_4d88: ldloc V_10
+ IL_4d8c: ldc.i8 0x1
+ IL_4d95: add
+ IL_4d96: stloc V_10
+ IL_4d9a: ldloc V_10
+ IL_4d9e: ldc.i8 0x0
+ IL_4da7: blt IL_4d7b
+
+ IL_4dac: ldloc V_37
+ IL_4db0: ldloc V_1
+ IL_4db4: add
+ IL_4db5: stloc V_17
+ IL_4db9: ldloc V_9
+ IL_4dbd: ldc.i8 0x1
+ IL_4dc6: add
+ IL_4dc7: stloc V_9
+ IL_4dcb: ldloc V_9
+ IL_4dcf: ldc.i8 0x0
+ IL_4dd8: blt IL_4d6e
+
+ IL_4ddd: ldloc V_19
+ IL_4de1: ldc.i8 0x8
+ IL_4dea: add
+ IL_4deb: stloc V_32
+ IL_4def: ldc.i8 0x0
+ IL_4df8: stloc V_8
+ IL_4dfc: ldc.i8 0x0
+ IL_4e05: stloc V_9
+ IL_4e09: br IL_4e1b
+
+ IL_4e0e: ldloc V_32
+ IL_4e12: ldloc V_19
+ IL_4e16: add
+ IL_4e17: stloc V_32
+ IL_4e1b: br IL_4f2a
+
+ IL_4e20: ldc.i8 0x0
+ IL_4e29: stloc V_11
+ IL_4e2d: br IL_4e32
+
+ IL_4e32: ldc.i8 0x0
+ IL_4e3b: stloc V_12
+ IL_4e3f: ldloc V_12
+ IL_4e43: ldc.i8 0x1
+ IL_4e4c: add
+ IL_4e4d: stloc V_12
+ IL_4e51: ldloc V_12
+ IL_4e55: ldc.i8 0x1
+ IL_4e5e: blt IL_4e3f
+
+ IL_4e63: ldc.i8 0x0
+ IL_4e6c: stloc V_12
+ IL_4e70: ldloc V_12
+ IL_4e74: ldc.i8 0x1
+ IL_4e7d: add
+ IL_4e7e: stloc V_12
+ IL_4e82: ldloc V_12
+ IL_4e86: ldc.i8 0x0
+ IL_4e8f: blt IL_4e70
+
+ IL_4e94: ldloc V_31
+ IL_4e98: ldc.i8 0x7
+ IL_4ea1: add
+ IL_4ea2: stloc V_49
+ IL_4ea6: ldloc V_11
+ IL_4eaa: ldc.i8 0x1
+ IL_4eb3: add
+ IL_4eb4: stloc V_11
+ IL_4eb8: ldloc V_11
+ IL_4ebc: ldc.i8 0x2
+ IL_4ec5: blt IL_4e2d
+
+ IL_4eca: br IL_4edc
+
+ IL_4ecf: ldloc V_29
+ IL_4ed3: ldloc V_20
+ IL_4ed7: add
+ IL_4ed8: stloc V_29
+ IL_4edc: ldc.i8 0x0
+ IL_4ee5: stloc V_11
+ IL_4ee9: br IL_4eee
+
+ IL_4eee: ldloc V_44
+ IL_4ef2: ldloc V_16
+ IL_4ef6: add
+ IL_4ef7: ldc.i8 0x9
+ IL_4f00: add
+ IL_4f01: stloc V_44
+ IL_4f05: ldloc V_11
+ IL_4f09: ldc.i8 0x1
+ IL_4f12: add
+ IL_4f13: stloc V_11
+ IL_4f17: ldloc V_11
+ IL_4f1b: ldc.i8 0x2
+ IL_4f24: blt IL_4ee9
+
+ IL_4f29: nop
+ IL_4f2a: ldc.i8 0x0
+ IL_4f33: stloc V_10
+ IL_4f37: br IL_4f4e
+
+ IL_4f3c: ldloc V_13
+ IL_4f40: ldc.i8 0x7
+ IL_4f49: add
+ IL_4f4a: stloc V_34
+ IL_4f4e: ldc.i8 0x0
+ IL_4f57: stloc V_11
+ IL_4f5b: ldc.i8 0x0
+ IL_4f64: stloc V_12
+ IL_4f68: ldloc V_12
+ IL_4f6c: ldc.i8 0x1
+ IL_4f75: add
+ IL_4f76: stloc V_12
+ IL_4f7a: ldloc V_12
+ IL_4f7e: ldc.i8 0x2
+ IL_4f87: blt IL_4f68
+
+ IL_4f8c: ldloc V_39
+ IL_4f90: ldc.i8 0x9
+ IL_4f99: add
+ IL_4f9a: stloc V_33
+ IL_4f9e: ldloc V_11
+ IL_4fa2: ldc.i8 0x1
+ IL_4fab: add
+ IL_4fac: stloc V_11
+ IL_4fb0: ldloc V_11
+ IL_4fb4: ldc.i8 0x1
+ IL_4fbd: blt IL_4f5b
+
+ IL_4fc2: br IL_5005
+
+ IL_4fc7: ldc.i8 0x0
+ IL_4fd0: stloc V_12
+ IL_4fd4: ldloc V_12
+ IL_4fd8: ldc.i8 0x1
+ IL_4fe1: add
+ IL_4fe2: stloc V_12
+ IL_4fe6: ldloc V_12
+ IL_4fea: ldc.i8 0x1
+ IL_4ff3: blt IL_4fd4
+
+ IL_4ff8: ldloc V_32
+ IL_4ffc: ldloc V_31
+ IL_5000: add
+ IL_5001: stloc V_22
+ IL_5005: ldloc V_23
+ IL_5009: stloc V_30
+ IL_500d: ldloc V_10
+ IL_5011: ldc.i8 0x1
+ IL_501a: add
+ IL_501b: stloc V_10
+ IL_501f: ldloc V_10
+ IL_5023: ldc.i8 0x1
+ IL_502c: blt IL_4f37
+
+ IL_5031: ldloc V_49
+ IL_5035: ldc.i8 0x8
+ IL_503e: add
+ IL_503f: stloc V_11
+ IL_5043: ldloc V_9
+ IL_5047: ldc.i8 0x1
+ IL_5050: add
+ IL_5051: stloc V_9
+ IL_5055: ldloc V_9
+ IL_5059: ldc.i8 0x2
+ IL_5062: blt IL_4e09
+
+ IL_5067: ldc.i8 0x0
+ IL_5070: stloc V_9
+ IL_5074: br IL_50c9
+
+ IL_5079: ldc.i8 0x0
+ IL_5082: stloc V_11
+ IL_5086: ldloc V_13
+ IL_508a: ldloc V_6
+ IL_508e: add
+ IL_508f: ldc.i8 0x1
+ IL_5098: add
+ IL_5099: stloc V_13
+ IL_509d: ldloc V_11
+ IL_50a1: ldc.i8 0x1
+ IL_50aa: add
+ IL_50ab: stloc V_11
+ IL_50af: ldloc V_11
+ IL_50b3: ldc.i8 0x2
+ IL_50bc: blt IL_5086
+
+ IL_50c1: ldloc V_43
+ IL_50c5: stloc V_44
+ IL_50c9: ldc.i8 0x0
+ IL_50d2: stloc V_10
+ IL_50d6: ldc.i8 0x0
+ IL_50df: stloc V_11
+ IL_50e3: br IL_50e8
+
+ IL_50e8: ldc.i8 0x0
+ IL_50f1: stloc V_12
+ IL_50f5: ldloc V_12
+ IL_50f9: ldc.i8 0x1
+ IL_5102: add
+ IL_5103: stloc V_12
+ IL_5107: ldloc V_12
+ IL_510b: ldc.i8 0x2
+ IL_5114: blt IL_50f5
+
+ IL_5119: br IL_511e
+
+ IL_511e: ldloc V_37
+ IL_5122: stloc V_24
+ IL_5126: ldloc V_11
+ IL_512a: ldc.i8 0x1
+ IL_5133: add
+ IL_5134: stloc V_11
+ IL_5138: ldloc V_11
+ IL_513c: ldc.i8 0x0
+ IL_5145: blt IL_50e3
+
+ IL_514a: ldc.i8 0x0
+ IL_5153: stloc V_11
+ IL_5157: ldc.i8 0x0
+ IL_5160: stloc V_12
+ IL_5164: ldloc V_12
+ IL_5168: ldc.i8 0x1
+ IL_5171: add
+ IL_5172: stloc V_12
+ IL_5176: ldloc V_12
+ IL_517a: ldc.i8 0x0
+ IL_5183: blt IL_5164
+
+ IL_5188: ldc.i8 0x0
+ IL_5191: stloc V_12
+ IL_5195: ldloc V_12
+ IL_5199: ldc.i8 0x1
+ IL_51a2: add
+ IL_51a3: stloc V_12
+ IL_51a7: ldloc V_12
+ IL_51ab: ldc.i8 0x2
+ IL_51b4: blt IL_5195
+
+ IL_51b9: ldc.i8 0x0
+ IL_51c2: stloc V_12
+ IL_51c6: ldloc V_12
+ IL_51ca: ldc.i8 0x1
+ IL_51d3: add
+ IL_51d4: stloc V_12
+ IL_51d8: ldloc V_12
+ IL_51dc: ldc.i8 0x1
+ IL_51e5: blt IL_51c6
+
+ IL_51ea: br IL_51ef
+
+ IL_51ef: ldloc V_38
+ IL_51f3: ldc.i8 0x4
+ IL_51fc: add
+ IL_51fd: stloc V_37
+ IL_5201: ldloc V_11
+ IL_5205: ldc.i8 0x1
+ IL_520e: add
+ IL_520f: stloc V_11
+ IL_5213: ldloc V_11
+ IL_5217: ldc.i8 0x1
+ IL_5220: blt IL_5157
+
+ IL_5225: ldc.i8 0x0
+ IL_522e: stloc V_11
+ IL_5232: ldc.i8 0x0
+ IL_523b: stloc V_12
+ IL_523f: ldloc V_12
+ IL_5243: ldc.i8 0x1
+ IL_524c: add
+ IL_524d: stloc V_12
+ IL_5251: ldloc V_12
+ IL_5255: ldc.i8 0x2
+ IL_525e: blt IL_523f
+
+ IL_5263: ldc.i8 0x9
+ IL_526c: stloc V_17
+ IL_5270: ldloc V_11
+ IL_5274: ldc.i8 0x1
+ IL_527d: add
+ IL_527e: stloc V_11
+ IL_5282: ldloc V_11
+ IL_5286: ldc.i8 0x1
+ IL_528f: blt IL_5232
+
+ IL_5294: br IL_5306
+
+ IL_5299: ldc.i8 0x0
+ IL_52a2: stloc V_12
+ IL_52a6: ldloc V_12
+ IL_52aa: ldc.i8 0x1
+ IL_52b3: add
+ IL_52b4: stloc V_12
+ IL_52b8: ldloc V_12
+ IL_52bc: ldc.i8 0x2
+ IL_52c5: blt IL_52a6
+
+ IL_52ca: br IL_52cf
+
+ IL_52cf: br IL_52d4
+
+ IL_52d4: ldc.i8 0x0
+ IL_52dd: stloc V_12
+ IL_52e1: ldloc V_12
+ IL_52e5: ldc.i8 0x1
+ IL_52ee: add
+ IL_52ef: stloc V_12
+ IL_52f3: ldloc V_12
+ IL_52f7: ldc.i8 0x1
+ IL_5300: blt IL_52e1
+
+ IL_5305: nop
+ IL_5306: ldloc V_11
+ IL_530a: ldloc V_24
+ IL_530e: add
+ IL_530f: stloc V_11
+ IL_5313: ldloc V_10
+ IL_5317: ldc.i8 0x1
+ IL_5320: add
+ IL_5321: stloc V_10
+ IL_5325: ldloc V_10
+ IL_5329: ldc.i8 0x2
+ IL_5332: blt IL_50d6
+
+ IL_5337: ldc.i8 0x0
+ IL_5340: stloc V_10
+ IL_5344: br IL_538c
+
+ IL_5349: ldc.i8 0x0
+ IL_5352: stloc V_12
+ IL_5356: ldloc V_12
+ IL_535a: ldc.i8 0x1
+ IL_5363: add
+ IL_5364: stloc V_12
+ IL_5368: ldloc V_12
+ IL_536c: ldc.i8 0x1
+ IL_5375: blt IL_5356
+
+ IL_537a: ldloc V_7
+ IL_537e: ldc.i8 0x1
+ IL_5387: add
+ IL_5388: stloc V_31
+ IL_538c: ldc.i8 0x0
+ IL_5395: stloc V_11
+ IL_5399: ldc.i8 0x0
+ IL_53a2: stloc V_12
+ IL_53a6: ldloc V_12
+ IL_53aa: ldc.i8 0x1
+ IL_53b3: add
+ IL_53b4: stloc V_12
+ IL_53b8: ldloc V_12
+ IL_53bc: ldc.i8 0x0
+ IL_53c5: blt IL_53a6
+
+ IL_53ca: br IL_53cf
+
+ IL_53cf: ldc.i8 0x0
+ IL_53d8: stloc V_12
+ IL_53dc: ldloc V_12
+ IL_53e0: ldc.i8 0x1
+ IL_53e9: add
+ IL_53ea: stloc V_12
+ IL_53ee: ldloc V_12
+ IL_53f2: ldc.i8 0x1
+ IL_53fb: blt IL_53dc
+
+ IL_5400: ldc.i8 0x0
+ IL_5409: stloc V_12
+ IL_540d: ldloc V_12
+ IL_5411: ldc.i8 0x1
+ IL_541a: add
+ IL_541b: stloc V_12
+ IL_541f: ldloc V_12
+ IL_5423: ldc.i8 0x0
+ IL_542c: blt IL_540d
+
+ IL_5431: ldloc V_31
+ IL_5435: ldloc V_28
+ IL_5439: add
+ IL_543a: stloc V_31
+ IL_543e: ldloc V_11
+ IL_5442: ldc.i8 0x1
+ IL_544b: add
+ IL_544c: stloc V_11
+ IL_5450: ldloc V_11
+ IL_5454: ldc.i8 0x0
+ IL_545d: blt IL_5399
+
+ IL_5462: br IL_5479
+
+ IL_5467: ldloc V_17
+ IL_546b: ldc.i8 0x1
+ IL_5474: add
+ IL_5475: stloc V_44
+ IL_5479: ldc.i8 0x0
+ IL_5482: stloc V_11
+ IL_5486: ldc.i8 0x0
+ IL_548f: stloc V_12
+ IL_5493: ldloc V_12
+ IL_5497: ldc.i8 0x1
+ IL_54a0: add
+ IL_54a1: stloc V_12
+ IL_54a5: ldloc V_12
+ IL_54a9: ldc.i8 0x0
+ IL_54b2: blt IL_5493
+
+ IL_54b7: ldloc V_26
+ IL_54bb: ldloc V_49
+ IL_54bf: add
+ IL_54c0: ldc.i8 0x7
+ IL_54c9: add
+ IL_54ca: stloc V_26
+ IL_54ce: ldloc V_11
+ IL_54d2: ldc.i8 0x1
+ IL_54db: add
+ IL_54dc: stloc V_11
+ IL_54e0: ldloc V_11
+ IL_54e4: ldc.i8 0x0
+ IL_54ed: blt IL_5486
+
+ IL_54f2: ldloc V_26
+ IL_54f6: ldloc V_11
+ IL_54fa: add
+ IL_54fb: ldc.i8 0x7
+ IL_5504: add
+ IL_5505: stloc V_26
+ IL_5509: ldloc V_10
+ IL_550d: ldc.i8 0x1
+ IL_5516: add
+ IL_5517: stloc V_10
+ IL_551b: ldloc V_10
+ IL_551f: ldc.i8 0x0
+ IL_5528: blt IL_5344
+
+ IL_552d: ldc.i8 0x0
+ IL_5536: stloc V_10
+ IL_553a: ldc.i8 0x0
+ IL_5543: stloc V_11
+ IL_5547: ldc.i8 0x0
+ IL_5550: stloc V_12
+ IL_5554: ldloc V_12
+ IL_5558: ldc.i8 0x1
+ IL_5561: add
+ IL_5562: stloc V_12
+ IL_5566: ldloc V_12
+ IL_556a: ldc.i8 0x1
+ IL_5573: blt IL_5554
+
+ IL_5578: br IL_557d
+
+ IL_557d: ldc.i8 0x0
+ IL_5586: stloc V_12
+ IL_558a: ldloc V_12
+ IL_558e: ldc.i8 0x1
+ IL_5597: add
+ IL_5598: stloc V_12
+ IL_559c: ldloc V_12
+ IL_55a0: ldc.i8 0x0
+ IL_55a9: blt IL_558a
+
+ IL_55ae: ldc.i8 0x0
+ IL_55b7: stloc V_12
+ IL_55bb: ldloc V_12
+ IL_55bf: ldc.i8 0x1
+ IL_55c8: add
+ IL_55c9: stloc V_12
+ IL_55cd: ldloc V_12
+ IL_55d1: ldc.i8 0x1
+ IL_55da: blt IL_55bb
+
+ IL_55df: ldloc V_3
+ IL_55e3: stloc V_32
+ IL_55e7: ldloc V_11
+ IL_55eb: ldc.i8 0x1
+ IL_55f4: add
+ IL_55f5: stloc V_11
+ IL_55f9: ldloc V_11
+ IL_55fd: ldc.i8 0x2
+ IL_5606: blt IL_5547
+
+ IL_560b: ldc.i8 0x0
+ IL_5614: stloc V_11
+ IL_5618: ldc.i8 0x0
+ IL_5621: stloc V_12
+ IL_5625: ldloc V_12
+ IL_5629: ldc.i8 0x1
+ IL_5632: add
+ IL_5633: stloc V_12
+ IL_5637: ldloc V_12
+ IL_563b: ldc.i8 0x1
+ IL_5644: blt IL_5625
+
+ IL_5649: br IL_564e
+
+ IL_564e: ldloc V_14
+ IL_5652: ldloc V_18
+ IL_5656: add
+ IL_5657: stloc V_38
+ IL_565b: ldloc V_11
+ IL_565f: ldc.i8 0x1
+ IL_5668: add
+ IL_5669: stloc V_11
+ IL_566d: ldloc V_11
+ IL_5671: ldc.i8 0x0
+ IL_567a: blt IL_5618
+
+ IL_567f: ldc.i8 0x0
+ IL_5688: stloc V_11
+ IL_568c: br IL_5691
+
+ IL_5691: ldc.i8 0x0
+ IL_569a: stloc V_12
+ IL_569e: ldloc V_12
+ IL_56a2: ldc.i8 0x1
+ IL_56ab: add
+ IL_56ac: stloc V_12
+ IL_56b0: ldloc V_12
+ IL_56b4: ldc.i8 0x2
+ IL_56bd: blt IL_569e
+
+ IL_56c2: ldc.i8 0x0
+ IL_56cb: stloc V_12
+ IL_56cf: ldloc V_12
+ IL_56d3: ldc.i8 0x1
+ IL_56dc: add
+ IL_56dd: stloc V_12
+ IL_56e1: ldloc V_12
+ IL_56e5: ldc.i8 0x1
+ IL_56ee: blt IL_56cf
+
+ IL_56f3: ldc.i8 0x0
+ IL_56fc: stloc V_12
+ IL_5700: ldloc V_12
+ IL_5704: ldc.i8 0x1
+ IL_570d: add
+ IL_570e: stloc V_12
+ IL_5712: ldloc V_12
+ IL_5716: ldc.i8 0x2
+ IL_571f: blt IL_5700
+
+ IL_5724: ldloc V_39
+ IL_5728: ldc.i8 0x7
+ IL_5731: add
+ IL_5732: stloc V_32
+ IL_5736: ldloc V_11
+ IL_573a: ldc.i8 0x1
+ IL_5743: add
+ IL_5744: stloc V_11
+ IL_5748: ldloc V_11
+ IL_574c: ldc.i8 0x0
+ IL_5755: blt IL_568c
+
+ IL_575a: ldc.i8 0x0
+ IL_5763: stloc V_11
+ IL_5767: ldc.i8 0x0
+ IL_5770: stloc V_12
+ IL_5774: ldloc V_12
+ IL_5778: ldc.i8 0x1
+ IL_5781: add
+ IL_5782: stloc V_12
+ IL_5786: ldloc V_12
+ IL_578a: ldc.i8 0x1
+ IL_5793: blt IL_5774
+
+ IL_5798: ldc.i8 0x0
+ IL_57a1: stloc V_12
+ IL_57a5: ldloc V_12
+ IL_57a9: ldc.i8 0x1
+ IL_57b2: add
+ IL_57b3: stloc V_12
+ IL_57b7: ldloc V_12
+ IL_57bb: ldc.i8 0x2
+ IL_57c4: blt IL_57a5
+
+ IL_57c9: br IL_57ce
+
+ IL_57ce: ldc.i8 0x0
+ IL_57d7: stloc V_12
+ IL_57db: ldloc V_12
+ IL_57df: ldc.i8 0x1
+ IL_57e8: add
+ IL_57e9: stloc V_12
+ IL_57ed: ldloc V_12
+ IL_57f1: ldc.i8 0x1
+ IL_57fa: blt IL_57db
+
+ IL_57ff: ldc.i8 0x1
+ IL_5808: stloc V_21
+ IL_580c: ldloc V_11
+ IL_5810: ldc.i8 0x1
+ IL_5819: add
+ IL_581a: stloc V_11
+ IL_581e: ldloc V_11
+ IL_5822: ldc.i8 0x0
+ IL_582b: blt IL_5767
+
+ IL_5830: ldloc V_46
+ IL_5834: stloc V_23
+ IL_5838: ldloc V_10
+ IL_583c: ldc.i8 0x1
+ IL_5845: add
+ IL_5846: stloc V_10
+ IL_584a: ldloc V_10
+ IL_584e: ldc.i8 0x1
+ IL_5857: blt IL_553a
+
+ IL_585c: ldloc V_6
+ IL_5860: ldc.i8 0x4
+ IL_5869: add
+ IL_586a: stloc V_37
+ IL_586e: ldloc V_9
+ IL_5872: ldc.i8 0x1
+ IL_587b: add
+ IL_587c: stloc V_9
+ IL_5880: ldloc V_9
+ IL_5884: ldc.i8 0x0
+ IL_588d: blt IL_5074
+
+ IL_5892: ldloc V_35
+ IL_5896: ldc.i8 0x8
+ IL_589f: add
+ IL_58a0: stloc V_35
+ IL_58a4: ldloc V_8
+ IL_58a8: ldc.i8 0x1
+ IL_58b1: add
+ IL_58b2: stloc V_8
+ IL_58b6: ldloc V_8
+ IL_58ba: ldc.i8 0x0
+ IL_58c3: blt IL_4dfc
+
+ IL_58c8: ldloc V_11
+ IL_58cc: ldc.i8 0x3
+ IL_58d5: add
+ IL_58d6: stloc V_34
+ IL_58da: ldloc V_7
+ IL_58de: ldc.i8 0x1
+ IL_58e7: add
+ IL_58e8: stloc V_7
+ IL_58ec: ldloc V_7
+ IL_58f0: ldc.i8 0x1
+ IL_58f9: blt IL_4d5c
+
+ IL_58fe: ldc.i8 0x0
+ IL_5907: stloc V_7
+ IL_590b: br IL_5d86
+
+ IL_5910: ldc.i8 0x0
+ IL_5919: stloc V_9
+ IL_591d: ldc.i8 0x0
+ IL_5926: stloc V_10
+ IL_592a: ldc.i8 0x0
+ IL_5933: stloc V_11
+ IL_5937: ldloc V_31
+ IL_593b: ldloc V_36
+ IL_593f: add
+ IL_5940: ldc.i8 0x5
+ IL_5949: add
+ IL_594a: stloc V_31
+ IL_594e: ldloc V_11
+ IL_5952: ldc.i8 0x1
+ IL_595b: add
+ IL_595c: stloc V_11
+ IL_5960: ldloc V_11
+ IL_5964: ldc.i8 0x1
+ IL_596d: blt IL_5937
+
+ IL_5972: ldc.i8 0x0
+ IL_597b: stloc V_11
+ IL_597f: br IL_5984
+
+ IL_5984: ldloc V_17
+ IL_5988: ldc.i8 0x0
+ IL_5991: add
+ IL_5992: stloc V_45
+ IL_5996: ldloc V_11
+ IL_599a: ldc.i8 0x1
+ IL_59a3: add
+ IL_59a4: stloc V_11
+ IL_59a8: ldloc V_11
+ IL_59ac: ldc.i8 0x1
+ IL_59b5: blt IL_597f
+
+ IL_59ba: ldc.i8 0x0
+ IL_59c3: stloc V_11
+ IL_59c7: ldc.i8 0x0
+ IL_59d0: stloc V_12
+ IL_59d4: ldloc V_12
+ IL_59d8: ldc.i8 0x1
+ IL_59e1: add
+ IL_59e2: stloc V_12
+ IL_59e6: ldloc V_12
+ IL_59ea: ldc.i8 0x2
+ IL_59f3: blt IL_59d4
+
+ IL_59f8: ldc.i8 0x0
+ IL_5a01: stloc V_12
+ IL_5a05: ldloc V_12
+ IL_5a09: ldc.i8 0x1
+ IL_5a12: add
+ IL_5a13: stloc V_12
+ IL_5a17: ldloc V_12
+ IL_5a1b: ldc.i8 0x1
+ IL_5a24: blt IL_5a05
+
+ IL_5a29: ldc.i8 0x0
+ IL_5a32: stloc V_12
+ IL_5a36: ldloc V_12
+ IL_5a3a: ldc.i8 0x1
+ IL_5a43: add
+ IL_5a44: stloc V_12
+ IL_5a48: ldloc V_12
+ IL_5a4c: ldc.i8 0x1
+ IL_5a55: blt IL_5a36
+
+ IL_5a5a: ldc.i8 0x0
+ IL_5a63: stloc V_12
+ IL_5a67: ldloc V_12
+ IL_5a6b: ldc.i8 0x1
+ IL_5a74: add
+ IL_5a75: stloc V_12
+ IL_5a79: ldloc V_12
+ IL_5a7d: ldc.i8 0x0
+ IL_5a86: blt IL_5a67
+
+ IL_5a8b: ldloc V_10
+ IL_5a8f: stloc V_37
+ IL_5a93: ldloc V_11
+ IL_5a97: ldc.i8 0x1
+ IL_5aa0: add
+ IL_5aa1: stloc V_11
+ IL_5aa5: ldloc V_11
+ IL_5aa9: ldc.i8 0x2
+ IL_5ab2: blt IL_59c7
+
+ IL_5ab7: ldc.i8 0x0
+ IL_5ac0: stloc V_11
+ IL_5ac4: br IL_5ac9
+
+ IL_5ac9: ldc.i8 0x0
+ IL_5ad2: stloc V_12
+ IL_5ad6: ldloc V_12
+ IL_5ada: ldc.i8 0x1
+ IL_5ae3: add
+ IL_5ae4: stloc V_12
+ IL_5ae8: ldloc V_12
+ IL_5aec: ldc.i8 0x2
+ IL_5af5: blt IL_5ad6
+
+ IL_5afa: ldc.i8 0x0
+ IL_5b03: stloc V_12
+ IL_5b07: ldloc V_12
+ IL_5b0b: ldc.i8 0x1
+ IL_5b14: add
+ IL_5b15: stloc V_12
+ IL_5b19: ldloc V_12
+ IL_5b1d: ldc.i8 0x0
+ IL_5b26: blt IL_5b07
+
+ IL_5b2b: br IL_5b30
+
+ IL_5b30: ldloc V_24
+ IL_5b34: ldloc V_46
+ IL_5b38: add
+ IL_5b39: stloc V_42
+ IL_5b3d: ldloc V_11
+ IL_5b41: ldc.i8 0x1
+ IL_5b4a: add
+ IL_5b4b: stloc V_11
+ IL_5b4f: ldloc V_11
+ IL_5b53: ldc.i8 0x1
+ IL_5b5c: blt IL_5ac4
+
+ IL_5b61: nop
+ IL_5b62: ldloc V_10
+ IL_5b66: ldc.i8 0x1
+ IL_5b6f: add
+ IL_5b70: stloc V_10
+ IL_5b74: ldloc V_10
+ IL_5b78: ldc.i8 0x2
+ IL_5b81: blt IL_592a
+
+ IL_5b86: ldc.i8 0x0
+ IL_5b8f: stloc V_10
+ IL_5b93: ldc.i8 0x0
+ IL_5b9c: stloc V_11
+ IL_5ba0: ldc.i8 0x0
+ IL_5ba9: stloc V_12
+ IL_5bad: ldloc V_12
+ IL_5bb1: ldc.i8 0x1
+ IL_5bba: add
+ IL_5bbb: stloc V_12
+ IL_5bbf: ldloc V_12
+ IL_5bc3: ldc.i8 0x2
+ IL_5bcc: blt IL_5bad
+
+ IL_5bd1: ldloc V_12
+ IL_5bd5: ldloc V_26
+ IL_5bd9: add
+ IL_5bda: stloc V_17
+ IL_5bde: ldloc V_11
+ IL_5be2: ldc.i8 0x1
+ IL_5beb: add
+ IL_5bec: stloc V_11
+ IL_5bf0: ldloc V_11
+ IL_5bf4: ldc.i8 0x1
+ IL_5bfd: blt IL_5ba0
+
+ IL_5c02: ldc.i8 0x0
+ IL_5c0b: stloc V_11
+ IL_5c0f: br IL_5c14
+
+ IL_5c14: ldc.i8 0x4
+ IL_5c1d: stloc V_37
+ IL_5c21: ldloc V_11
+ IL_5c25: ldc.i8 0x1
+ IL_5c2e: add
+ IL_5c2f: stloc V_11
+ IL_5c33: ldloc V_11
+ IL_5c37: ldc.i8 0x1
+ IL_5c40: blt IL_5c0f
+
+ IL_5c45: br IL_5c4b
+
+ IL_5c4a: nop
+ IL_5c4b: ldc.i8 0x0
+ IL_5c54: stloc V_11
+ IL_5c58: ldc.i8 0x4
+ IL_5c61: stloc V_13
+ IL_5c65: ldloc V_11
+ IL_5c69: ldc.i8 0x1
+ IL_5c72: add
+ IL_5c73: stloc V_11
+ IL_5c77: ldloc V_11
+ IL_5c7b: ldc.i8 0x1
+ IL_5c84: blt IL_5c58
+
+ IL_5c89: ldc.i8 0x8
+ IL_5c92: stloc V_28
+ IL_5c96: ldloc V_10
+ IL_5c9a: ldc.i8 0x1
+ IL_5ca3: add
+ IL_5ca4: stloc V_10
+ IL_5ca8: ldloc V_10
+ IL_5cac: ldc.i8 0x2
+ IL_5cb5: blt IL_5b93
+
+ IL_5cba: br IL_5cd6
+
+ IL_5cbf: ldloc V_43
+ IL_5cc3: ldloc V_4
+ IL_5cc7: add
+ IL_5cc8: ldc.i8 0x8
+ IL_5cd1: add
+ IL_5cd2: stloc V_43
+ IL_5cd6: ldc.i8 0x0
+ IL_5cdf: stloc V_10
+ IL_5ce3: ldc.i8 0x0
+ IL_5cec: stloc V_11
+ IL_5cf0: br IL_5cf5
+
+ IL_5cf5: ldloc V_7
+ IL_5cf9: stloc V_46
+ IL_5cfd: ldloc V_11
+ IL_5d01: ldc.i8 0x1
+ IL_5d0a: add
+ IL_5d0b: stloc V_11
+ IL_5d0f: ldloc V_11
+ IL_5d13: ldc.i8 0x1
+ IL_5d1c: blt IL_5cf0
+
+ IL_5d21: ldloc V_49
+ IL_5d25: stloc V_22
+ IL_5d29: ldloc V_10
+ IL_5d2d: ldc.i8 0x1
+ IL_5d36: add
+ IL_5d37: stloc V_10
+ IL_5d3b: ldloc V_10
+ IL_5d3f: ldc.i8 0x1
+ IL_5d48: blt IL_5ce3
+
+ IL_5d4d: ldloc V_31
+ IL_5d51: stloc V_20
+ IL_5d55: ldloc V_9
+ IL_5d59: ldc.i8 0x1
+ IL_5d62: add
+ IL_5d63: stloc V_9
+ IL_5d67: ldloc V_9
+ IL_5d6b: ldc.i8 0x2
+ IL_5d74: blt IL_591d
+
+ IL_5d79: ldloc V_27
+ IL_5d7d: ldloc V_1
+ IL_5d81: add
+ IL_5d82: stloc V_41
+ IL_5d86: br IL_6347
+
+ IL_5d8b: ldc.i8 0x0
+ IL_5d94: stloc V_9
+ IL_5d98: ldloc V_43
+ IL_5d9c: ldloc V_48
+ IL_5da0: add
+ IL_5da1: stloc V_16
+ IL_5da5: ldloc V_9
+ IL_5da9: ldc.i8 0x1
+ IL_5db2: add
+ IL_5db3: stloc V_9
+ IL_5db7: ldloc V_9
+ IL_5dbb: ldc.i8 0x2
+ IL_5dc4: blt IL_5d98
+
+ IL_5dc9: br IL_5fb5
+
+ IL_5dce: ldc.i8 0x0
+ IL_5dd7: stloc V_10
+ IL_5ddb: ldloc V_15
+ IL_5ddf: ldloc V_4
+ IL_5de3: add
+ IL_5de4: ldc.i8 0x7
+ IL_5ded: add
+ IL_5dee: stloc V_15
+ IL_5df2: ldloc V_10
+ IL_5df6: ldc.i8 0x1
+ IL_5dff: add
+ IL_5e00: stloc V_10
+ IL_5e04: ldloc V_10
+ IL_5e08: ldc.i8 0x0
+ IL_5e11: blt IL_5ddb
+
+ IL_5e16: ldc.i8 0x0
+ IL_5e1f: stloc V_10
+ IL_5e23: br IL_5efe
+
+ IL_5e28: ldc.i8 0x0
+ IL_5e31: stloc V_12
+ IL_5e35: ldloc V_12
+ IL_5e39: ldc.i8 0x1
+ IL_5e42: add
+ IL_5e43: stloc V_12
+ IL_5e47: ldloc V_12
+ IL_5e4b: ldc.i8 0x2
+ IL_5e54: blt IL_5e35
+
+ IL_5e59: ldc.i8 0x0
+ IL_5e62: stloc V_12
+ IL_5e66: ldloc V_12
+ IL_5e6a: ldc.i8 0x1
+ IL_5e73: add
+ IL_5e74: stloc V_12
+ IL_5e78: ldloc V_12
+ IL_5e7c: ldc.i8 0x0
+ IL_5e85: blt IL_5e66
+
+ IL_5e8a: ldc.i8 0x0
+ IL_5e93: stloc V_12
+ IL_5e97: ldloc V_12
+ IL_5e9b: ldc.i8 0x1
+ IL_5ea4: add
+ IL_5ea5: stloc V_12
+ IL_5ea9: ldloc V_12
+ IL_5ead: ldc.i8 0x2
+ IL_5eb6: blt IL_5e97
+
+ IL_5ebb: ldc.i8 0x0
+ IL_5ec4: stloc V_12
+ IL_5ec8: ldloc V_12
+ IL_5ecc: ldc.i8 0x1
+ IL_5ed5: add
+ IL_5ed6: stloc V_12
+ IL_5eda: ldloc V_12
+ IL_5ede: ldc.i8 0x2
+ IL_5ee7: blt IL_5ec8
+
+ IL_5eec: ldloc V_4
+ IL_5ef0: ldc.i8 0x0
+ IL_5ef9: add
+ IL_5efa: stloc V_29
+ IL_5efe: ldc.i8 0x0
+ IL_5f07: stloc V_11
+ IL_5f0b: ldc.i8 0x0
+ IL_5f14: stloc V_12
+ IL_5f18: ldloc V_12
+ IL_5f1c: ldc.i8 0x1
+ IL_5f25: add
+ IL_5f26: stloc V_12
+ IL_5f2a: ldloc V_12
+ IL_5f2e: ldc.i8 0x0
+ IL_5f37: blt IL_5f18
+
+ IL_5f3c: br IL_5f41
+
+ IL_5f41: br IL_5f46
+
+ IL_5f46: ldloc V_3
+ IL_5f4a: stloc V_19
+ IL_5f4e: ldloc V_11
+ IL_5f52: ldc.i8 0x1
+ IL_5f5b: add
+ IL_5f5c: stloc V_11
+ IL_5f60: ldloc V_11
+ IL_5f64: ldc.i8 0x0
+ IL_5f6d: blt IL_5f0b
+
+ IL_5f72: ldc.i8 0x4
+ IL_5f7b: stloc V_11
+ IL_5f7f: ldloc V_10
+ IL_5f83: ldc.i8 0x1
+ IL_5f8c: add
+ IL_5f8d: stloc V_10
+ IL_5f91: ldloc V_10
+ IL_5f95: ldc.i8 0x0
+ IL_5f9e: blt IL_5e23
+
+ IL_5fa3: ldloc V_8
+ IL_5fa7: ldc.i8 0x1
+ IL_5fb0: add
+ IL_5fb1: stloc V_12
+ IL_5fb5: ldc.i8 0x0
+ IL_5fbe: stloc V_9
+ IL_5fc2: br IL_607e
+
+ IL_5fc7: ldc.i8 0x0
+ IL_5fd0: stloc V_11
+ IL_5fd4: ldc.i8 0x0
+ IL_5fdd: stloc V_12
+ IL_5fe1: ldloc V_12
+ IL_5fe5: ldc.i8 0x1
+ IL_5fee: add
+ IL_5fef: stloc V_12
+ IL_5ff3: ldloc V_12
+ IL_5ff7: ldc.i8 0x2
+ IL_6000: blt IL_5fe1
+
+ IL_6005: br IL_600a
+
+ IL_600a: br IL_600f
+
+ IL_600f: ldc.i8 0x0
+ IL_6018: stloc V_12
+ IL_601c: ldloc V_12
+ IL_6020: ldc.i8 0x1
+ IL_6029: add
+ IL_602a: stloc V_12
+ IL_602e: ldloc V_12
+ IL_6032: ldc.i8 0x1
+ IL_603b: blt IL_601c
+
+ IL_6040: ldloc V_48
+ IL_6044: ldloc V_47
+ IL_6048: add
+ IL_6049: stloc V_35
+ IL_604d: ldloc V_11
+ IL_6051: ldc.i8 0x1
+ IL_605a: add
+ IL_605b: stloc V_11
+ IL_605f: ldloc V_11
+ IL_6063: ldc.i8 0x1
+ IL_606c: blt IL_5fd4
+
+ IL_6071: ldc.i8 0x2
+ IL_607a: stloc V_28
+ IL_607e: br IL_60f3
+
+ IL_6083: ldc.i8 0x0
+ IL_608c: stloc V_11
+ IL_6090: ldc.i8 0x0
+ IL_6099: stloc V_12
+ IL_609d: ldloc V_12
+ IL_60a1: ldc.i8 0x1
+ IL_60aa: add
+ IL_60ab: stloc V_12
+ IL_60af: ldloc V_12
+ IL_60b3: ldc.i8 0x2
+ IL_60bc: blt IL_609d
+
+ IL_60c1: nop
+ IL_60c2: ldloc V_11
+ IL_60c6: ldc.i8 0x1
+ IL_60cf: add
+ IL_60d0: stloc V_11
+ IL_60d4: ldloc V_11
+ IL_60d8: ldc.i8 0x1
+ IL_60e1: blt IL_6090
+
+ IL_60e6: ldloc V_49
+ IL_60ea: ldloc V_49
+ IL_60ee: add
+ IL_60ef: stloc V_44
+ IL_60f3: br IL_6304
+
+ IL_60f8: br IL_6140
+
+ IL_60fd: ldc.i8 0x0
+ IL_6106: stloc V_12
+ IL_610a: ldloc V_12
+ IL_610e: ldc.i8 0x1
+ IL_6117: add
+ IL_6118: stloc V_12
+ IL_611c: ldloc V_12
+ IL_6120: ldc.i8 0x1
+ IL_6129: blt IL_610a
+
+ IL_612e: ldloc V_47
+ IL_6132: ldc.i8 0x1
+ IL_613b: add
+ IL_613c: stloc V_26
+ IL_6140: ldc.i8 0x0
+ IL_6149: stloc V_11
+ IL_614d: ldc.i8 0x0
+ IL_6156: stloc V_12
+ IL_615a: ldloc V_12
+ IL_615e: ldc.i8 0x1
+ IL_6167: add
+ IL_6168: stloc V_12
+ IL_616c: ldloc V_12
+ IL_6170: ldc.i8 0x0
+ IL_6179: blt IL_615a
+
+ IL_617e: br IL_6183
+
+ IL_6183: ldloc V_14
+ IL_6187: stloc V_15
+ IL_618b: ldloc V_11
+ IL_618f: ldc.i8 0x1
+ IL_6198: add
+ IL_6199: stloc V_11
+ IL_619d: ldloc V_11
+ IL_61a1: ldc.i8 0x2
+ IL_61aa: blt IL_614d
+
+ IL_61af: br IL_625e
+
+ IL_61b4: ldc.i8 0x0
+ IL_61bd: stloc V_12
+ IL_61c1: ldloc V_12
+ IL_61c5: ldc.i8 0x1
+ IL_61ce: add
+ IL_61cf: stloc V_12
+ IL_61d3: ldloc V_12
+ IL_61d7: ldc.i8 0x1
+ IL_61e0: blt IL_61c1
+
+ IL_61e5: ldc.i8 0x0
+ IL_61ee: stloc V_12
+ IL_61f2: ldloc V_12
+ IL_61f6: ldc.i8 0x1
+ IL_61ff: add
+ IL_6200: stloc V_12
+ IL_6204: ldloc V_12
+ IL_6208: ldc.i8 0x2
+ IL_6211: blt IL_61f2
+
+ IL_6216: ldc.i8 0x0
+ IL_621f: stloc V_12
+ IL_6223: ldloc V_12
+ IL_6227: ldc.i8 0x1
+ IL_6230: add
+ IL_6231: stloc V_12
+ IL_6235: ldloc V_12
+ IL_6239: ldc.i8 0x2
+ IL_6242: blt IL_6223
+
+ IL_6247: ldloc V_18
+ IL_624b: ldloc V_19
+ IL_624f: add
+ IL_6250: ldc.i8 0x8
+ IL_6259: add
+ IL_625a: stloc V_18
+ IL_625e: ldc.i8 0x0
+ IL_6267: stloc V_11
+ IL_626b: br IL_6270
+
+ IL_6270: ldc.i8 0x0
+ IL_6279: stloc V_12
+ IL_627d: ldloc V_12
+ IL_6281: ldc.i8 0x1
+ IL_628a: add
+ IL_628b: stloc V_12
+ IL_628f: ldloc V_12
+ IL_6293: ldc.i8 0x2
+ IL_629c: blt IL_627d
+
+ IL_62a1: ldc.i8 0x0
+ IL_62aa: stloc V_12
+ IL_62ae: ldloc V_12
+ IL_62b2: ldc.i8 0x1
+ IL_62bb: add
+ IL_62bc: stloc V_12
+ IL_62c0: ldloc V_12
+ IL_62c4: ldc.i8 0x2
+ IL_62cd: blt IL_62ae
+
+ IL_62d2: nop
+ IL_62d3: ldloc V_11
+ IL_62d7: ldc.i8 0x1
+ IL_62e0: add
+ IL_62e1: stloc V_11
+ IL_62e5: ldloc V_11
+ IL_62e9: ldc.i8 0x0
+ IL_62f2: blt IL_626b
+
+ IL_62f7: ldloc V_48
+ IL_62fb: ldloc V_30
+ IL_62ff: add
+ IL_6300: stloc V_48
+ IL_6304: ldloc V_42
+ IL_6308: ldloc V_28
+ IL_630c: add
+ IL_630d: stloc V_42
+ IL_6311: ldloc V_9
+ IL_6315: ldc.i8 0x1
+ IL_631e: add
+ IL_631f: stloc V_9
+ IL_6323: ldloc V_9
+ IL_6327: ldc.i8 0x0
+ IL_6330: blt IL_5fc2
+
+ IL_6335: ldloc V_46
+ IL_6339: ldc.i8 0x4
+ IL_6342: add
+ IL_6343: stloc V_30
+ IL_6347: ldc.i8 0x0
+ IL_6350: stloc V_8
+ IL_6354: br IL_6a9b
+
+ IL_6359: ldc.i8 0x0
+ IL_6362: stloc V_10
+ IL_6366: ldc.i8 0x0
+ IL_636f: stloc V_11
+ IL_6373: ldc.i8 0x0
+ IL_637c: stloc V_12
+ IL_6380: ldloc V_12
+ IL_6384: ldc.i8 0x1
+ IL_638d: add
+ IL_638e: stloc V_12
+ IL_6392: ldloc V_12
+ IL_6396: ldc.i8 0x2
+ IL_639f: blt IL_6380
+
+ IL_63a4: ldloc V_21
+ IL_63a8: ldloc V_31
+ IL_63ac: add
+ IL_63ad: ldc.i8 0x9
+ IL_63b6: add
+ IL_63b7: stloc V_21
+ IL_63bb: ldloc V_11
+ IL_63bf: ldc.i8 0x1
+ IL_63c8: add
+ IL_63c9: stloc V_11
+ IL_63cd: ldloc V_11
+ IL_63d1: ldc.i8 0x2
+ IL_63da: blt IL_6373
+
+ IL_63df: ldc.i8 0x0
+ IL_63e8: stloc V_11
+ IL_63ec: ldc.i8 0x0
+ IL_63f5: stloc V_12
+ IL_63f9: ldloc V_12
+ IL_63fd: ldc.i8 0x1
+ IL_6406: add
+ IL_6407: stloc V_12
+ IL_640b: ldloc V_12
+ IL_640f: ldc.i8 0x1
+ IL_6418: blt IL_63f9
+
+ IL_641d: br IL_6422
+
+ IL_6422: ldc.i8 0x0
+ IL_642b: stloc V_12
+ IL_642f: ldloc V_12
+ IL_6433: ldc.i8 0x1
+ IL_643c: add
+ IL_643d: stloc V_12
+ IL_6441: ldloc V_12
+ IL_6445: ldc.i8 0x1
+ IL_644e: blt IL_642f
+
+ IL_6453: ldc.i8 0x0
+ IL_645c: stloc V_12
+ IL_6460: ldloc V_12
+ IL_6464: ldc.i8 0x1
+ IL_646d: add
+ IL_646e: stloc V_12
+ IL_6472: ldloc V_12
+ IL_6476: ldc.i8 0x1
+ IL_647f: blt IL_6460
+
+ IL_6484: ldloc V_22
+ IL_6488: ldc.i8 0x2
+ IL_6491: add
+ IL_6492: stloc V_30
+ IL_6496: ldloc V_11
+ IL_649a: ldc.i8 0x1
+ IL_64a3: add
+ IL_64a4: stloc V_11
+ IL_64a8: ldloc V_11
+ IL_64ac: ldc.i8 0x2
+ IL_64b5: blt IL_63ec
+
+ IL_64ba: ldc.i8 0x0
+ IL_64c3: stloc V_11
+ IL_64c7: ldc.i8 0x0
+ IL_64d0: stloc V_12
+ IL_64d4: ldloc V_12
+ IL_64d8: ldc.i8 0x1
+ IL_64e1: add
+ IL_64e2: stloc V_12
+ IL_64e6: ldloc V_12
+ IL_64ea: ldc.i8 0x2
+ IL_64f3: blt IL_64d4
+
+ IL_64f8: ldc.i8 0x0
+ IL_6501: stloc V_12
+ IL_6505: ldloc V_12
+ IL_6509: ldc.i8 0x1
+ IL_6512: add
+ IL_6513: stloc V_12
+ IL_6517: ldloc V_12
+ IL_651b: ldc.i8 0x0
+ IL_6524: blt IL_6505
+
+ IL_6529: br IL_652e
+
+ IL_652e: ldloc V_35
+ IL_6532: ldloc V_38
+ IL_6536: add
+ IL_6537: ldc.i8 0x4
+ IL_6540: add
+ IL_6541: stloc V_35
+ IL_6545: ldloc V_11
+ IL_6549: ldc.i8 0x1
+ IL_6552: add
+ IL_6553: stloc V_11
+ IL_6557: ldloc V_11
+ IL_655b: ldc.i8 0x2
+ IL_6564: blt IL_64c7
+
+ IL_6569: ldc.i8 0x0
+ IL_6572: stloc V_11
+ IL_6576: ldc.i8 0x0
+ IL_657f: stloc V_12
+ IL_6583: ldloc V_12
+ IL_6587: ldc.i8 0x1
+ IL_6590: add
+ IL_6591: stloc V_12
+ IL_6595: ldloc V_12
+ IL_6599: ldc.i8 0x0
+ IL_65a2: blt IL_6583
+
+ IL_65a7: br IL_65ac
+
+ IL_65ac: ldc.i8 0x0
+ IL_65b5: stloc V_12
+ IL_65b9: ldloc V_12
+ IL_65bd: ldc.i8 0x1
+ IL_65c6: add
+ IL_65c7: stloc V_12
+ IL_65cb: ldloc V_12
+ IL_65cf: ldc.i8 0x0
+ IL_65d8: blt IL_65b9
+
+ IL_65dd: ldc.i8 0x0
+ IL_65e6: stloc V_12
+ IL_65ea: ldloc V_12
+ IL_65ee: ldc.i8 0x1
+ IL_65f7: add
+ IL_65f8: stloc V_12
+ IL_65fc: ldloc V_12
+ IL_6600: ldc.i8 0x0
+ IL_6609: blt IL_65ea
+
+ IL_660e: nop
+ IL_660f: ldloc V_11
+ IL_6613: ldc.i8 0x1
+ IL_661c: add
+ IL_661d: stloc V_11
+ IL_6621: ldloc V_11
+ IL_6625: ldc.i8 0x0
+ IL_662e: blt IL_6576
+
+ IL_6633: ldloc V_11
+ IL_6637: ldloc V_30
+ IL_663b: add
+ IL_663c: stloc V_11
+ IL_6640: ldloc V_10
+ IL_6644: ldc.i8 0x1
+ IL_664d: add
+ IL_664e: stloc V_10
+ IL_6652: ldloc V_10
+ IL_6656: ldc.i8 0x2
+ IL_665f: blt IL_6366
+
+ IL_6664: ldc.i8 0x0
+ IL_666d: stloc V_10
+ IL_6671: ldc.i8 0x0
+ IL_667a: stloc V_11
+ IL_667e: ldc.i8 0x0
+ IL_6687: stloc V_12
+ IL_668b: ldloc V_11
+ IL_668f: ldc.i8 0x1
+ IL_6698: add
+ IL_6699: stloc V_11
+ IL_669d: ldloc V_11
+ IL_66a1: ldc.i8 0x1
+ IL_66aa: blt IL_667e
+
+ IL_66af: br IL_66eb
+
+ IL_66b4: br IL_66b9
+
+ IL_66b9: ldc.i8 0x0
+ IL_66c2: stloc V_12
+ IL_66c6: ldloc V_12
+ IL_66ca: ldc.i8 0x1
+ IL_66d3: add
+ IL_66d4: stloc V_12
+ IL_66d8: ldloc V_12
+ IL_66dc: ldc.i8 0x2
+ IL_66e5: blt IL_66c6
+
+ IL_66ea: nop
+ IL_66eb: nop
+ IL_66ec: ldloc V_10
+ IL_66f0: ldc.i8 0x1
+ IL_66f9: add
+ IL_66fa: stloc V_10
+ IL_66fe: ldloc V_10
+ IL_6702: ldc.i8 0x2
+ IL_670b: blt IL_6671
+
+ IL_6710: br IL_695e
+
+ IL_6715: ldc.i8 0x0
+ IL_671e: stloc V_11
+ IL_6722: ldloc V_10
+ IL_6726: ldloc V_36
+ IL_672a: add
+ IL_672b: stloc V_22
+ IL_672f: ldloc V_11
+ IL_6733: ldc.i8 0x1
+ IL_673c: add
+ IL_673d: stloc V_11
+ IL_6741: ldloc V_11
+ IL_6745: ldc.i8 0x0
+ IL_674e: blt IL_6722
+
+ IL_6753: ldc.i8 0x0
+ IL_675c: stloc V_11
+ IL_6760: ldc.i8 0x0
+ IL_6769: stloc V_12
+ IL_676d: ldloc V_12
+ IL_6771: ldc.i8 0x1
+ IL_677a: add
+ IL_677b: stloc V_12
+ IL_677f: ldloc V_12
+ IL_6783: ldc.i8 0x2
+ IL_678c: blt IL_676d
+
+ IL_6791: ldc.i8 0x0
+ IL_679a: stloc V_12
+ IL_679e: ldloc V_12
+ IL_67a2: ldc.i8 0x1
+ IL_67ab: add
+ IL_67ac: stloc V_12
+ IL_67b0: ldloc V_12
+ IL_67b4: ldc.i8 0x2
+ IL_67bd: blt IL_679e
+
+ IL_67c2: br IL_67c7
+
+ IL_67c7: ldc.i8 0x0
+ IL_67d0: stloc V_12
+ IL_67d4: ldloc V_12
+ IL_67d8: ldc.i8 0x1
+ IL_67e1: add
+ IL_67e2: stloc V_12
+ IL_67e6: ldloc V_12
+ IL_67ea: ldc.i8 0x2
+ IL_67f3: blt IL_67d4
+
+ IL_67f8: ldloc V_43
+ IL_67fc: stloc V_46
+ IL_6800: ldloc V_11
+ IL_6804: ldc.i8 0x1
+ IL_680d: add
+ IL_680e: stloc V_11
+ IL_6812: ldloc V_11
+ IL_6816: ldc.i8 0x2
+ IL_681f: blt IL_6760
+
+ IL_6824: ldc.i8 0x0
+ IL_682d: stloc V_11
+ IL_6831: br IL_6836
+
+ IL_6836: ldc.i8 0x0
+ IL_683f: stloc V_12
+ IL_6843: ldloc V_12
+ IL_6847: ldc.i8 0x1
+ IL_6850: add
+ IL_6851: stloc V_12
+ IL_6855: ldloc V_12
+ IL_6859: ldc.i8 0x1
+ IL_6862: blt IL_6843
+
+ IL_6867: ldc.i8 0x0
+ IL_6870: stloc V_12
+ IL_6874: ldloc V_12
+ IL_6878: ldc.i8 0x1
+ IL_6881: add
+ IL_6882: stloc V_12
+ IL_6886: ldloc V_12
+ IL_688a: ldc.i8 0x1
+ IL_6893: blt IL_6874
+
+ IL_6898: ldloc V_16
+ IL_689c: ldloc V_17
+ IL_68a0: add
+ IL_68a1: stloc V_16
+ IL_68a5: ldloc V_11
+ IL_68a9: ldc.i8 0x1
+ IL_68b2: add
+ IL_68b3: stloc V_11
+ IL_68b7: ldloc V_11
+ IL_68bb: ldc.i8 0x0
+ IL_68c4: blt IL_6831
+
+ IL_68c9: br IL_694c
+
+ IL_68ce: br IL_68d3
+
+ IL_68d3: ldc.i8 0x0
+ IL_68dc: stloc V_12
+ IL_68e0: ldloc V_12
+ IL_68e4: ldc.i8 0x1
+ IL_68ed: add
+ IL_68ee: stloc V_12
+ IL_68f2: ldloc V_12
+ IL_68f6: ldc.i8 0x1
+ IL_68ff: blt IL_68e0
+
+ IL_6904: ldc.i8 0x0
+ IL_690d: stloc V_12
+ IL_6911: ldloc V_12
+ IL_6915: ldc.i8 0x1
+ IL_691e: add
+ IL_691f: stloc V_12
+ IL_6923: ldloc V_12
+ IL_6927: ldc.i8 0x2
+ IL_6930: blt IL_6911
+
+ IL_6935: ldloc V_30
+ IL_6939: ldloc V_43
+ IL_693d: add
+ IL_693e: ldc.i8 0x0
+ IL_6947: add
+ IL_6948: stloc V_30
+ IL_694c: ldloc V_43
+ IL_6950: ldc.i8 0x7
+ IL_6959: add
+ IL_695a: stloc V_35
+ IL_695e: ldc.i8 0x0
+ IL_6967: stloc V_10
+ IL_696b: ldc.i8 0x0
+ IL_6974: stloc V_11
+ IL_6978: ldc.i8 0x0
+ IL_6981: stloc V_12
+ IL_6985: ldloc V_12
+ IL_6989: ldc.i8 0x1
+ IL_6992: add
+ IL_6993: stloc V_12
+ IL_6997: ldloc V_12
+ IL_699b: ldc.i8 0x2
+ IL_69a4: blt IL_6985
+
+ IL_69a9: br IL_69ae
+
+ IL_69ae: br IL_69b3
+
+ IL_69b3: ldc.i8 0x0
+ IL_69bc: stloc V_12
+ IL_69c0: ldloc V_12
+ IL_69c4: ldc.i8 0x1
+ IL_69cd: add
+ IL_69ce: stloc V_12
+ IL_69d2: ldloc V_12
+ IL_69d6: ldc.i8 0x2
+ IL_69df: blt IL_69c0
+
+ IL_69e4: ldc.i8 0x6
+ IL_69ed: stloc V_20
+ IL_69f1: ldloc V_11
+ IL_69f5: ldc.i8 0x1
+ IL_69fe: add
+ IL_69ff: stloc V_11
+ IL_6a03: ldloc V_11
+ IL_6a07: ldc.i8 0x2
+ IL_6a10: blt IL_6978
+
+ IL_6a15: br IL_6a62
+
+ IL_6a1a: ldc.i8 0x0
+ IL_6a23: stloc V_12
+ IL_6a27: ldloc V_12
+ IL_6a2b: ldc.i8 0x1
+ IL_6a34: add
+ IL_6a35: stloc V_12
+ IL_6a39: ldloc V_12
+ IL_6a3d: ldc.i8 0x0
+ IL_6a46: blt IL_6a27
+
+ IL_6a4b: br IL_6a50
+
+ IL_6a50: ldloc V_7
+ IL_6a54: ldc.i8 0x3
+ IL_6a5d: add
+ IL_6a5e: stloc V_26
+ IL_6a62: ldloc V_38
+ IL_6a66: ldloc V_11
+ IL_6a6a: add
+ IL_6a6b: stloc V_38
+ IL_6a6f: ldloc V_10
+ IL_6a73: ldc.i8 0x1
+ IL_6a7c: add
+ IL_6a7d: stloc V_10
+ IL_6a81: ldloc V_10
+ IL_6a85: ldc.i8 0x2
+ IL_6a8e: blt IL_696b
+
+ IL_6a93: ldloc V_26
+ IL_6a97: stloc V_44
+ IL_6a9b: ldc.i8 0x2
+ IL_6aa4: stloc V_41
+ IL_6aa8: ldloc V_8
+ IL_6aac: ldc.i8 0x1
+ IL_6ab5: add
+ IL_6ab6: stloc V_8
+ IL_6aba: ldloc V_8
+ IL_6abe: ldc.i8 0x1
+ IL_6ac7: blt IL_6354
+
+ IL_6acc: ldloc V_20
+ IL_6ad0: stloc V_11
+ IL_6ad4: ldloc V_7
+ IL_6ad8: ldc.i8 0x1
+ IL_6ae1: add
+ IL_6ae2: stloc V_7
+ IL_6ae6: ldloc V_7
+ IL_6aea: ldc.i8 0x1
+ IL_6af3: blt IL_590b
+
+ IL_6af8: ldloc V_49
+ IL_6afc: ldloc V_8
+ IL_6b00: add
+ IL_6b01: stloc V_49
+ IL_6b05: ldloc V_6
+ IL_6b09: ldc.i8 0x1
+ IL_6b12: add
+ IL_6b13: stloc V_6
+ IL_6b17: ldloc V_6
+ IL_6b1b: ldc.i8 0x0
+ IL_6b24: blt IL_4d4f
+
+ IL_6b29: ldc.i8 0x0
+ IL_6b32: stloc V_6
+ IL_6b36: ldc.i8 0x0
+ IL_6b3f: stloc V_7
+ IL_6b43: br IL_6b55
+
+ IL_6b48: ldloc V_45
+ IL_6b4c: ldloc V_14
+ IL_6b50: add
+ IL_6b51: stloc V_45
+ IL_6b55: ldc.i8 0x0
+ IL_6b5e: stloc V_8
+ IL_6b62: ldloc V_28
+ IL_6b66: ldloc V_21
+ IL_6b6a: add
+ IL_6b6b: ldc.i8 0x5
+ IL_6b74: add
+ IL_6b75: stloc V_28
+ IL_6b79: ldloc V_8
+ IL_6b7d: ldc.i8 0x1
+ IL_6b86: add
+ IL_6b87: stloc V_8
+ IL_6b8b: ldloc V_8
+ IL_6b8f: ldc.i8 0x2
+ IL_6b98: blt IL_6b62
+
+ IL_6b9d: br IL_6f03
+
+ IL_6ba2: br IL_6eec
+
+ IL_6ba7: ldc.i8 0x0
+ IL_6bb0: stloc V_10
+ IL_6bb4: br IL_6bcb
+
+ IL_6bb9: br IL_6bbe
+
+ IL_6bbe: ldloc V_18
+ IL_6bc2: ldloc V_49
+ IL_6bc6: add
+ IL_6bc7: stloc V_19
+ IL_6bcb: ldc.i8 0x0
+ IL_6bd4: stloc V_11
+ IL_6bd8: ldc.i8 0x0
+ IL_6be1: stloc V_12
+ IL_6be5: ldloc V_12
+ IL_6be9: ldc.i8 0x1
+ IL_6bf2: add
+ IL_6bf3: stloc V_12
+ IL_6bf7: ldloc V_12
+ IL_6bfb: ldc.i8 0x1
+ IL_6c04: blt IL_6be5
+
+ IL_6c09: br IL_6c0e
+
+ IL_6c0e: br IL_6c13
+
+ IL_6c13: nop
+ IL_6c14: ldloc V_11
+ IL_6c18: ldc.i8 0x1
+ IL_6c21: add
+ IL_6c22: stloc V_11
+ IL_6c26: ldloc V_11
+ IL_6c2a: ldc.i8 0x0
+ IL_6c33: blt IL_6bd8
+
+ IL_6c38: br IL_6c45
+
+ IL_6c3d: ldloc V_5
+ IL_6c41: stloc V_27
+ IL_6c45: ldloc V_11
+ IL_6c49: stloc V_28
+ IL_6c4d: ldloc V_10
+ IL_6c51: ldc.i8 0x1
+ IL_6c5a: add
+ IL_6c5b: stloc V_10
+ IL_6c5f: ldloc V_10
+ IL_6c63: ldc.i8 0x2
+ IL_6c6c: blt IL_6bb4
+
+ IL_6c71: ldc.i8 0x0
+ IL_6c7a: stloc V_10
+ IL_6c7e: ldc.i8 0x0
+ IL_6c87: stloc V_11
+ IL_6c8b: br IL_6c90
+
+ IL_6c90: ldc.i8 0x0
+ IL_6c99: stloc V_12
+ IL_6c9d: ldloc V_12
+ IL_6ca1: ldc.i8 0x1
+ IL_6caa: add
+ IL_6cab: stloc V_12
+ IL_6caf: ldloc V_12
+ IL_6cb3: ldc.i8 0x0
+ IL_6cbc: blt IL_6c9d
+
+ IL_6cc1: ldc.i8 0x5
+ IL_6cca: stloc V_21
+ IL_6cce: ldloc V_11
+ IL_6cd2: ldc.i8 0x1
+ IL_6cdb: add
+ IL_6cdc: stloc V_11
+ IL_6ce0: ldloc V_11
+ IL_6ce4: ldc.i8 0x0
+ IL_6ced: blt IL_6c8b
+
+ IL_6cf2: ldc.i8 0x0
+ IL_6cfb: stloc V_11
+ IL_6cff: br IL_6d04
+
+ IL_6d04: ldc.i8 0x0
+ IL_6d0d: stloc V_12
+ IL_6d11: ldloc V_12
+ IL_6d15: ldc.i8 0x1
+ IL_6d1e: add
+ IL_6d1f: stloc V_12
+ IL_6d23: ldloc V_12
+ IL_6d27: ldc.i8 0x1
+ IL_6d30: blt IL_6d11
+
+ IL_6d35: ldloc V_10
+ IL_6d39: stloc V_43
+ IL_6d3d: ldloc V_11
+ IL_6d41: ldc.i8 0x1
+ IL_6d4a: add
+ IL_6d4b: stloc V_11
+ IL_6d4f: ldloc V_11
+ IL_6d53: ldc.i8 0x0
+ IL_6d5c: blt IL_6cff
+
+ IL_6d61: ldloc V_27
+ IL_6d65: ldloc V_48
+ IL_6d69: add
+ IL_6d6a: stloc V_27
+ IL_6d6e: ldloc V_10
+ IL_6d72: ldc.i8 0x1
+ IL_6d7b: add
+ IL_6d7c: stloc V_10
+ IL_6d80: ldloc V_10
+ IL_6d84: ldc.i8 0x2
+ IL_6d8d: blt IL_6c7e
+
+ IL_6d92: br IL_6e5e
+
+ IL_6d97: br IL_6da4
+
+ IL_6d9c: ldloc V_38
+ IL_6da0: stloc V_18
+ IL_6da4: ldc.i8 0x0
+ IL_6dad: stloc V_11
+ IL_6db1: br IL_6db6
+
+ IL_6db6: ldloc V_18
+ IL_6dba: ldloc V_6
+ IL_6dbe: add
+ IL_6dbf: stloc V_18
+ IL_6dc3: ldloc V_11
+ IL_6dc7: ldc.i8 0x1
+ IL_6dd0: add
+ IL_6dd1: stloc V_11
+ IL_6dd5: ldloc V_11
+ IL_6dd9: ldc.i8 0x0
+ IL_6de2: blt IL_6db1
+
+ IL_6de7: ldc.i8 0x0
+ IL_6df0: stloc V_11
+ IL_6df4: ldc.i8 0x0
+ IL_6dfd: stloc V_12
+ IL_6e01: ldloc V_12
+ IL_6e05: ldc.i8 0x1
+ IL_6e0e: add
+ IL_6e0f: stloc V_12
+ IL_6e13: ldloc V_12
+ IL_6e17: ldc.i8 0x0
+ IL_6e20: blt IL_6e01
+
+ IL_6e25: ldloc V_18
+ IL_6e29: stloc V_29
+ IL_6e2d: ldloc V_11
+ IL_6e31: ldc.i8 0x1
+ IL_6e3a: add
+ IL_6e3b: stloc V_11
+ IL_6e3f: ldloc V_11
+ IL_6e43: ldc.i8 0x0
+ IL_6e4c: blt IL_6df4
+
+ IL_6e51: ldc.i8 0x9
+ IL_6e5a: stloc V_30
+ IL_6e5e: ldc.i8 0x0
+ IL_6e67: stloc V_10
+ IL_6e6b: ldc.i8 0x0
+ IL_6e74: stloc V_11
+ IL_6e78: br IL_6e7d
+
+ IL_6e7d: ldloc V_10
+ IL_6e81: stloc V_35
+ IL_6e85: ldloc V_11
+ IL_6e89: ldc.i8 0x1
+ IL_6e92: add
+ IL_6e93: stloc V_11
+ IL_6e97: ldloc V_11
+ IL_6e9b: ldc.i8 0x2
+ IL_6ea4: blt IL_6e78
+
+ IL_6ea9: ldloc V_45
+ IL_6ead: ldloc V_11
+ IL_6eb1: add
+ IL_6eb2: stloc V_45
+ IL_6eb6: ldloc V_10
+ IL_6eba: ldc.i8 0x1
+ IL_6ec3: add
+ IL_6ec4: stloc V_10
+ IL_6ec8: ldloc V_10
+ IL_6ecc: ldc.i8 0x0
+ IL_6ed5: blt IL_6e6b
+
+ IL_6eda: ldloc V_41
+ IL_6ede: ldc.i8 0x5
+ IL_6ee7: add
+ IL_6ee8: stloc V_22
+ IL_6eec: ldloc V_21
+ IL_6ef0: ldloc V_22
+ IL_6ef4: add
+ IL_6ef5: ldc.i8 0x4
+ IL_6efe: add
+ IL_6eff: stloc V_21
+ IL_6f03: br IL_6fb8
+
+ IL_6f08: ldc.i8 0x0
+ IL_6f11: stloc V_9
+ IL_6f15: br IL_6f70
+
+ IL_6f1a: br IL_6f2c
+
+ IL_6f1f: ldc.i8 0x7
+ IL_6f28: stloc V_17
+ IL_6f2c: ldc.i8 0x0
+ IL_6f35: stloc V_11
+ IL_6f39: nop
+ IL_6f3a: ldloc V_11
+ IL_6f3e: ldc.i8 0x1
+ IL_6f47: add
+ IL_6f48: stloc V_11
+ IL_6f4c: ldloc V_11
+ IL_6f50: ldc.i8 0x2
+ IL_6f59: blt IL_6f39
+
+ IL_6f5e: ldloc V_29
+ IL_6f62: ldc.i8 0x4
+ IL_6f6b: add
+ IL_6f6c: stloc V_46
+ IL_6f70: ldloc V_37
+ IL_6f74: ldloc V_8
+ IL_6f78: add
+ IL_6f79: stloc V_19
+ IL_6f7d: ldloc V_9
+ IL_6f81: ldc.i8 0x1
+ IL_6f8a: add
+ IL_6f8b: stloc V_9
+ IL_6f8f: ldloc V_9
+ IL_6f93: ldc.i8 0x2
+ IL_6f9c: blt IL_6f15
+
+ IL_6fa1: ldloc V_17
+ IL_6fa5: ldloc V_2
+ IL_6fa9: add
+ IL_6faa: ldc.i8 0x6
+ IL_6fb3: add
+ IL_6fb4: stloc V_17
+ IL_6fb8: ldloc V_47
+ IL_6fbc: ldloc V_5
+ IL_6fc0: add
+ IL_6fc1: stloc V_20
+ IL_6fc5: ldloc V_7
+ IL_6fc9: ldc.i8 0x1
+ IL_6fd2: add
+ IL_6fd3: stloc V_7
+ IL_6fd7: ldloc V_7
+ IL_6fdb: ldc.i8 0x2
+ IL_6fe4: blt IL_6b43
+
+ IL_6fe9: br IL_8578
+
+ IL_6fee: ldc.i8 0x0
+ IL_6ff7: stloc V_8
+ IL_6ffb: ldc.i8 0x0
+ IL_7004: stloc V_9
+ IL_7008: br IL_701a
+
+ IL_700d: ldc.i8 0x2
+ IL_7016: stloc V_45
+ IL_701a: ldc.i8 0x0
+ IL_7023: stloc V_10
+ IL_7027: br IL_70fd
+
+ IL_702c: ldc.i8 0x0
+ IL_7035: stloc V_12
+ IL_7039: ldloc V_12
+ IL_703d: ldc.i8 0x1
+ IL_7046: add
+ IL_7047: stloc V_12
+ IL_704b: ldloc V_12
+ IL_704f: ldc.i8 0x2
+ IL_7058: blt IL_7039
+
+ IL_705d: ldc.i8 0x0
+ IL_7066: stloc V_12
+ IL_706a: ldloc V_12
+ IL_706e: ldc.i8 0x1
+ IL_7077: add
+ IL_7078: stloc V_12
+ IL_707c: ldloc V_12
+ IL_7080: ldc.i8 0x0
+ IL_7089: blt IL_706a
+
+ IL_708e: ldc.i8 0x0
+ IL_7097: stloc V_12
+ IL_709b: ldloc V_12
+ IL_709f: ldc.i8 0x1
+ IL_70a8: add
+ IL_70a9: stloc V_12
+ IL_70ad: ldloc V_12
+ IL_70b1: ldc.i8 0x0
+ IL_70ba: blt IL_709b
+
+ IL_70bf: ldc.i8 0x0
+ IL_70c8: stloc V_12
+ IL_70cc: ldloc V_12
+ IL_70d0: ldc.i8 0x1
+ IL_70d9: add
+ IL_70da: stloc V_12
+ IL_70de: ldloc V_12
+ IL_70e2: ldc.i8 0x0
+ IL_70eb: blt IL_70cc
+
+ IL_70f0: ldloc V_49
+ IL_70f4: ldloc V_37
+ IL_70f8: add
+ IL_70f9: stloc V_15
+ IL_70fd: ldc.i8 0x2
+ IL_7106: stloc V_23
+ IL_710a: ldloc V_10
+ IL_710e: ldc.i8 0x1
+ IL_7117: add
+ IL_7118: stloc V_10
+ IL_711c: ldloc V_10
+ IL_7120: ldc.i8 0x2
+ IL_7129: blt IL_7027
+
+ IL_712e: br IL_7212
+
+ IL_7133: ldc.i8 0x0
+ IL_713c: stloc V_11
+ IL_7140: ldc.i8 0x0
+ IL_7149: stloc V_12
+ IL_714d: ldloc V_12
+ IL_7151: ldc.i8 0x1
+ IL_715a: add
+ IL_715b: stloc V_12
+ IL_715f: ldloc V_12
+ IL_7163: ldc.i8 0x2
+ IL_716c: blt IL_714d
+
+ IL_7171: ldc.i8 0x0
+ IL_717a: stloc V_12
+ IL_717e: ldloc V_12
+ IL_7182: ldc.i8 0x1
+ IL_718b: add
+ IL_718c: stloc V_12
+ IL_7190: ldloc V_12
+ IL_7194: ldc.i8 0x1
+ IL_719d: blt IL_717e
+
+ IL_71a2: ldloc V_48
+ IL_71a6: stloc V_29
+ IL_71aa: ldloc V_11
+ IL_71ae: ldc.i8 0x1
+ IL_71b7: add
+ IL_71b8: stloc V_11
+ IL_71bc: ldloc V_11
+ IL_71c0: ldc.i8 0x0
+ IL_71c9: blt IL_7140
+
+ IL_71ce: br IL_7211
+
+ IL_71d3: ldc.i8 0x0
+ IL_71dc: stloc V_12
+ IL_71e0: ldloc V_12
+ IL_71e4: ldc.i8 0x1
+ IL_71ed: add
+ IL_71ee: stloc V_12
+ IL_71f2: ldloc V_12
+ IL_71f6: ldc.i8 0x2
+ IL_71ff: blt IL_71e0
+
+ IL_7204: ldc.i8 0x8
+ IL_720d: stloc V_46
+ IL_7211: nop
+ IL_7212: ldc.i8 0x0
+ IL_721b: stloc V_10
+ IL_721f: br IL_7298
+
+ IL_7224: br IL_7229
+
+ IL_7229: ldc.i8 0x0
+ IL_7232: stloc V_12
+ IL_7236: ldloc V_12
+ IL_723a: ldc.i8 0x1
+ IL_7243: add
+ IL_7244: stloc V_12
+ IL_7248: ldloc V_12
+ IL_724c: ldc.i8 0x0
+ IL_7255: blt IL_7236
+
+ IL_725a: ldc.i8 0x0
+ IL_7263: stloc V_12
+ IL_7267: ldloc V_12
+ IL_726b: ldc.i8 0x1
+ IL_7274: add
+ IL_7275: stloc V_12
+ IL_7279: ldloc V_12
+ IL_727d: ldc.i8 0x1
+ IL_7286: blt IL_7267
+
+ IL_728b: br IL_7290
+
+ IL_7290: ldloc V_17
+ IL_7294: stloc V_25
+ IL_7298: br IL_72cf
+
+ IL_729d: ldc.i8 0x0
+ IL_72a6: stloc V_12
+ IL_72aa: ldloc V_12
+ IL_72ae: ldc.i8 0x1
+ IL_72b7: add
+ IL_72b8: stloc V_12
+ IL_72bc: ldloc V_12
+ IL_72c0: ldc.i8 0x0
+ IL_72c9: blt IL_72aa
+
+ IL_72ce: nop
+ IL_72cf: ldloc V_45
+ IL_72d3: ldloc V_8
+ IL_72d7: add
+ IL_72d8: stloc V_42
+ IL_72dc: ldloc V_10
+ IL_72e0: ldc.i8 0x1
+ IL_72e9: add
+ IL_72ea: stloc V_10
+ IL_72ee: ldloc V_10
+ IL_72f2: ldc.i8 0x0
+ IL_72fb: blt IL_721f
+
+ IL_7300: nop
+ IL_7301: ldloc V_9
+ IL_7305: ldc.i8 0x1
+ IL_730e: add
+ IL_730f: stloc V_9
+ IL_7313: ldloc V_9
+ IL_7317: ldc.i8 0x0
+ IL_7320: blt IL_7008
+
+ IL_7325: ldc.i8 0x0
+ IL_732e: stloc V_9
+ IL_7332: ldloc V_13
+ IL_7336: ldloc V_49
+ IL_733a: add
+ IL_733b: ldc.i8 0x7
+ IL_7344: add
+ IL_7345: stloc V_13
+ IL_7349: ldloc V_9
+ IL_734d: ldc.i8 0x1
+ IL_7356: add
+ IL_7357: stloc V_9
+ IL_735b: ldloc V_9
+ IL_735f: ldc.i8 0x0
+ IL_7368: blt IL_7332
+
+ IL_736d: br IL_737f
+
+ IL_7372: ldc.i8 0x6
+ IL_737b: stloc V_38
+ IL_737f: ldc.i8 0x0
+ IL_7388: stloc V_9
+ IL_738c: ldc.i8 0x0
+ IL_7395: stloc V_10
+ IL_7399: ldloc V_9
+ IL_739d: ldloc V_40
+ IL_73a1: add
+ IL_73a2: stloc V_23
+ IL_73a6: ldloc V_10
+ IL_73aa: ldc.i8 0x1
+ IL_73b3: add
+ IL_73b4: stloc V_10
+ IL_73b8: ldloc V_10
+ IL_73bc: ldc.i8 0x0
+ IL_73c5: blt IL_7399
+
+ IL_73ca: ldc.i8 0x0
+ IL_73d3: stloc V_10
+ IL_73d7: ldc.i8 0x0
+ IL_73e0: stloc V_11
+ IL_73e4: ldc.i8 0x0
+ IL_73ed: stloc V_12
+ IL_73f1: ldloc V_12
+ IL_73f5: ldc.i8 0x1
+ IL_73fe: add
+ IL_73ff: stloc V_12
+ IL_7403: ldloc V_12
+ IL_7407: ldc.i8 0x2
+ IL_7410: blt IL_73f1
+
+ IL_7415: ldloc V_31
+ IL_7419: ldc.i8 0x5
+ IL_7422: add
+ IL_7423: stloc V_41
+ IL_7427: ldloc V_11
+ IL_742b: ldc.i8 0x1
+ IL_7434: add
+ IL_7435: stloc V_11
+ IL_7439: ldloc V_11
+ IL_743d: ldc.i8 0x2
+ IL_7446: blt IL_73e4
+
+ IL_744b: ldc.i8 0x0
+ IL_7454: stloc V_11
+ IL_7458: br IL_745d
+
+ IL_745d: ldc.i8 0x0
+ IL_7466: stloc V_12
+ IL_746a: ldloc V_12
+ IL_746e: ldc.i8 0x1
+ IL_7477: add
+ IL_7478: stloc V_12
+ IL_747c: ldloc V_12
+ IL_7480: ldc.i8 0x0
+ IL_7489: blt IL_746a
+
+ IL_748e: ldloc V_16
+ IL_7492: ldloc V_37
+ IL_7496: add
+ IL_7497: stloc V_16
+ IL_749b: ldloc V_11
+ IL_749f: ldc.i8 0x1
+ IL_74a8: add
+ IL_74a9: stloc V_11
+ IL_74ad: ldloc V_11
+ IL_74b1: ldc.i8 0x1
+ IL_74ba: blt IL_7458
+
+ IL_74bf: ldloc V_36
+ IL_74c3: ldloc V_48
+ IL_74c7: add
+ IL_74c8: stloc V_38
+ IL_74cc: ldloc V_10
+ IL_74d0: ldc.i8 0x1
+ IL_74d9: add
+ IL_74da: stloc V_10
+ IL_74de: ldloc V_10
+ IL_74e2: ldc.i8 0x2
+ IL_74eb: blt IL_73d7
+
+ IL_74f0: ldc.i8 0x0
+ IL_74f9: stloc V_10
+ IL_74fd: ldc.i8 0x0
+ IL_7506: stloc V_11
+ IL_750a: ldc.i8 0x0
+ IL_7513: stloc V_12
+ IL_7517: ldloc V_12
+ IL_751b: ldc.i8 0x1
+ IL_7524: add
+ IL_7525: stloc V_12
+ IL_7529: ldloc V_12
+ IL_752d: ldc.i8 0x0
+ IL_7536: blt IL_7517
+
+ IL_753b: br IL_7540
+
+ IL_7540: ldc.i8 0x0
+ IL_7549: stloc V_12
+ IL_754d: ldloc V_12
+ IL_7551: ldc.i8 0x1
+ IL_755a: add
+ IL_755b: stloc V_12
+ IL_755f: ldloc V_12
+ IL_7563: ldc.i8 0x2
+ IL_756c: blt IL_754d
+
+ IL_7571: ldloc V_1
+ IL_7575: ldloc V_27
+ IL_7579: add
+ IL_757a: stloc V_38
+ IL_757e: ldloc V_11
+ IL_7582: ldc.i8 0x1
+ IL_758b: add
+ IL_758c: stloc V_11
+ IL_7590: ldloc V_11
+ IL_7594: ldc.i8 0x1
+ IL_759d: blt IL_750a
+
+ IL_75a2: ldc.i8 0x0
+ IL_75ab: stloc V_11
+ IL_75af: br IL_75b4
+
+ IL_75b4: br IL_75b9
+
+ IL_75b9: ldc.i8 0x0
+ IL_75c2: stloc V_12
+ IL_75c6: ldloc V_12
+ IL_75ca: ldc.i8 0x1
+ IL_75d3: add
+ IL_75d4: stloc V_12
+ IL_75d8: ldloc V_12
+ IL_75dc: ldc.i8 0x2
+ IL_75e5: blt IL_75c6
+
+ IL_75ea: br IL_75ef
+
+ IL_75ef: ldloc V_24
+ IL_75f3: stloc V_49
+ IL_75f7: ldloc V_11
+ IL_75fb: ldc.i8 0x1
+ IL_7604: add
+ IL_7605: stloc V_11
+ IL_7609: ldloc V_11
+ IL_760d: ldc.i8 0x2
+ IL_7616: blt IL_75af
+
+ IL_761b: ldloc V_11
+ IL_761f: stloc V_36
+ IL_7623: ldloc V_10
+ IL_7627: ldc.i8 0x1
+ IL_7630: add
+ IL_7631: stloc V_10
+ IL_7635: ldloc V_10
+ IL_7639: ldc.i8 0x1
+ IL_7642: blt IL_74fd
+
+ IL_7647: ldc.i8 0x7
+ IL_7650: stloc V_29
+ IL_7654: ldloc V_9
+ IL_7658: ldc.i8 0x1
+ IL_7661: add
+ IL_7662: stloc V_9
+ IL_7666: ldloc V_9
+ IL_766a: ldc.i8 0x0
+ IL_7673: blt IL_738c
+
+ IL_7678: nop
+ IL_7679: ldloc V_8
+ IL_767d: ldc.i8 0x1
+ IL_7686: add
+ IL_7687: stloc V_8
+ IL_768b: ldloc V_8
+ IL_768f: ldc.i8 0x0
+ IL_7698: blt IL_6ffb
+
+ IL_769d: ldc.i8 0x0
+ IL_76a6: stloc V_8
+ IL_76aa: ldc.i8 0x0
+ IL_76b3: stloc V_9
+ IL_76b7: br IL_7716
+
+ IL_76bc: ldc.i8 0x0
+ IL_76c5: stloc V_11
+ IL_76c9: br IL_76ce
+
+ IL_76ce: ldloc V_45
+ IL_76d2: ldloc V_34
+ IL_76d6: add
+ IL_76d7: ldc.i8 0x0
+ IL_76e0: add
+ IL_76e1: stloc V_45
+ IL_76e5: ldloc V_11
+ IL_76e9: ldc.i8 0x1
+ IL_76f2: add
+ IL_76f3: stloc V_11
+ IL_76f7: ldloc V_11
+ IL_76fb: ldc.i8 0x2
+ IL_7704: blt IL_76c9
+
+ IL_7709: ldc.i8 0x0
+ IL_7712: stloc V_44
+ IL_7716: ldc.i8 0x0
+ IL_771f: stloc V_10
+ IL_7723: br IL_7766
+
+ IL_7728: ldc.i8 0x0
+ IL_7731: stloc V_12
+ IL_7735: ldloc V_12
+ IL_7739: ldc.i8 0x1
+ IL_7742: add
+ IL_7743: stloc V_12
+ IL_7747: ldloc V_12
+ IL_774b: ldc.i8 0x1
+ IL_7754: blt IL_7735
+
+ IL_7759: ldloc V_41
+ IL_775d: ldloc V_47
+ IL_7761: add
+ IL_7762: stloc V_30
+ IL_7766: ldloc V_34
+ IL_776a: ldloc V_49
+ IL_776e: add
+ IL_776f: stloc V_19
+ IL_7773: ldloc V_10
+ IL_7777: ldc.i8 0x1
+ IL_7780: add
+ IL_7781: stloc V_10
+ IL_7785: ldloc V_10
+ IL_7789: ldc.i8 0x1
+ IL_7792: blt IL_7723
+
+ IL_7797: ldloc V_3
+ IL_779b: ldc.i8 0x2
+ IL_77a4: add
+ IL_77a5: stloc V_39
+ IL_77a9: ldloc V_9
+ IL_77ad: ldc.i8 0x1
+ IL_77b6: add
+ IL_77b7: stloc V_9
+ IL_77bb: ldloc V_9
+ IL_77bf: ldc.i8 0x2
+ IL_77c8: blt IL_76b7
+
+ IL_77cd: br IL_7920
+
+ IL_77d2: ldc.i8 0x0
+ IL_77db: stloc V_10
+ IL_77df: ldc.i8 0x0
+ IL_77e8: stloc V_11
+ IL_77ec: br IL_77f1
+
+ IL_77f1: ldc.i8 0x0
+ IL_77fa: stloc V_12
+ IL_77fe: ldloc V_12
+ IL_7802: ldc.i8 0x1
+ IL_780b: add
+ IL_780c: stloc V_12
+ IL_7810: ldloc V_12
+ IL_7814: ldc.i8 0x2
+ IL_781d: blt IL_77fe
+
+ IL_7822: ldc.i8 0x0
+ IL_782b: stloc V_12
+ IL_782f: ldloc V_12
+ IL_7833: ldc.i8 0x1
+ IL_783c: add
+ IL_783d: stloc V_12
+ IL_7841: ldloc V_12
+ IL_7845: ldc.i8 0x2
+ IL_784e: blt IL_782f
+
+ IL_7853: ldc.i8 0x0
+ IL_785c: stloc V_12
+ IL_7860: ldloc V_12
+ IL_7864: ldc.i8 0x1
+ IL_786d: add
+ IL_786e: stloc V_12
+ IL_7872: ldloc V_12
+ IL_7876: ldc.i8 0x0
+ IL_787f: blt IL_7860
+
+ IL_7884: nop
+ IL_7885: ldloc V_11
+ IL_7889: ldc.i8 0x1
+ IL_7892: add
+ IL_7893: stloc V_11
+ IL_7897: ldloc V_11
+ IL_789b: ldc.i8 0x0
+ IL_78a4: blt IL_77ec
+
+ IL_78a9: ldloc V_4
+ IL_78ad: stloc V_38
+ IL_78b1: ldloc V_10
+ IL_78b5: ldc.i8 0x1
+ IL_78be: add
+ IL_78bf: stloc V_10
+ IL_78c3: ldloc V_10
+ IL_78c7: ldc.i8 0x0
+ IL_78d0: blt IL_77df
+
+ IL_78d5: ldc.i8 0x0
+ IL_78de: stloc V_10
+ IL_78e2: ldloc V_7
+ IL_78e6: ldloc V_36
+ IL_78ea: add
+ IL_78eb: stloc V_15
+ IL_78ef: ldloc V_10
+ IL_78f3: ldc.i8 0x1
+ IL_78fc: add
+ IL_78fd: stloc V_10
+ IL_7901: ldloc V_10
+ IL_7905: ldc.i8 0x0
+ IL_790e: blt IL_78e2
+
+ IL_7913: ldloc V_45
+ IL_7917: ldloc V_31
+ IL_791b: add
+ IL_791c: stloc V_45
+ IL_7920: br IL_7e8b
+
+ IL_7925: ldc.i8 0x0
+ IL_792e: stloc V_10
+ IL_7932: br IL_79d2
+
+ IL_7937: ldc.i8 0x0
+ IL_7940: stloc V_12
+ IL_7944: ldloc V_12
+ IL_7948: ldc.i8 0x1
+ IL_7951: add
+ IL_7952: stloc V_12
+ IL_7956: ldloc V_12
+ IL_795a: ldc.i8 0x2
+ IL_7963: blt IL_7944
+
+ IL_7968: ldc.i8 0x0
+ IL_7971: stloc V_12
+ IL_7975: ldloc V_12
+ IL_7979: ldc.i8 0x1
+ IL_7982: add
+ IL_7983: stloc V_12
+ IL_7987: ldloc V_12
+ IL_798b: ldc.i8 0x2
+ IL_7994: blt IL_7975
+
+ IL_7999: ldc.i8 0x0
+ IL_79a2: stloc V_12
+ IL_79a6: ldloc V_12
+ IL_79aa: ldc.i8 0x1
+ IL_79b3: add
+ IL_79b4: stloc V_12
+ IL_79b8: ldloc V_12
+ IL_79bc: ldc.i8 0x0
+ IL_79c5: blt IL_79a6
+
+ IL_79ca: ldloc V_26
+ IL_79ce: stloc V_15
+ IL_79d2: br IL_7a1f
+
+ IL_79d7: ldc.i8 0x0
+ IL_79e0: stloc V_12
+ IL_79e4: ldloc V_12
+ IL_79e8: ldc.i8 0x1
+ IL_79f1: add
+ IL_79f2: stloc V_12
+ IL_79f6: ldloc V_12
+ IL_79fa: ldc.i8 0x2
+ IL_7a03: blt IL_79e4
+
+ IL_7a08: ldloc V_26
+ IL_7a0c: ldloc V_43
+ IL_7a10: add
+ IL_7a11: ldc.i8 0x4
+ IL_7a1a: add
+ IL_7a1b: stloc V_26
+ IL_7a1f: ldc.i8 0x0
+ IL_7a28: stloc V_11
+ IL_7a2c: ldc.i8 0x0
+ IL_7a35: stloc V_12
+ IL_7a39: ldloc V_12
+ IL_7a3d: ldc.i8 0x1
+ IL_7a46: add
+ IL_7a47: stloc V_12
+ IL_7a4b: ldloc V_12
+ IL_7a4f: ldc.i8 0x1
+ IL_7a58: blt IL_7a39
+
+ IL_7a5d: br IL_7a62
+
+ IL_7a62: ldc.i8 0x0
+ IL_7a6b: stloc V_12
+ IL_7a6f: ldloc V_12
+ IL_7a73: ldc.i8 0x1
+ IL_7a7c: add
+ IL_7a7d: stloc V_12
+ IL_7a81: ldloc V_12
+ IL_7a85: ldc.i8 0x0
+ IL_7a8e: blt IL_7a6f
+
+ IL_7a93: ldloc V_0
+ IL_7a97: stloc V_34
+ IL_7a9b: ldloc V_11
+ IL_7a9f: ldc.i8 0x1
+ IL_7aa8: add
+ IL_7aa9: stloc V_11
+ IL_7aad: ldloc V_11
+ IL_7ab1: ldc.i8 0x2
+ IL_7aba: blt IL_7a2c
+
+ IL_7abf: br IL_7adb
+
+ IL_7ac4: ldloc V_23
+ IL_7ac8: ldloc V_24
+ IL_7acc: add
+ IL_7acd: ldc.i8 0x0
+ IL_7ad6: add
+ IL_7ad7: stloc V_23
+ IL_7adb: ldloc V_7
+ IL_7adf: ldloc V_45
+ IL_7ae3: add
+ IL_7ae4: stloc V_23
+ IL_7ae8: ldloc V_10
+ IL_7aec: ldc.i8 0x1
+ IL_7af5: add
+ IL_7af6: stloc V_10
+ IL_7afa: ldloc V_10
+ IL_7afe: ldc.i8 0x2
+ IL_7b07: blt IL_7932
+
+ IL_7b0c: br IL_7c63
+
+ IL_7b11: ldc.i8 0x0
+ IL_7b1a: stloc V_11
+ IL_7b1e: br IL_7b23
+
+ IL_7b23: ldc.i8 0x0
+ IL_7b2c: stloc V_12
+ IL_7b30: ldloc V_12
+ IL_7b34: ldc.i8 0x1
+ IL_7b3d: add
+ IL_7b3e: stloc V_12
+ IL_7b42: ldloc V_12
+ IL_7b46: ldc.i8 0x1
+ IL_7b4f: blt IL_7b30
+
+ IL_7b54: ldc.i8 0x4
+ IL_7b5d: stloc V_16
+ IL_7b61: ldloc V_11
+ IL_7b65: ldc.i8 0x1
+ IL_7b6e: add
+ IL_7b6f: stloc V_11
+ IL_7b73: ldloc V_11
+ IL_7b77: ldc.i8 0x1
+ IL_7b80: blt IL_7b1e
+
+ IL_7b85: ldc.i8 0x0
+ IL_7b8e: stloc V_11
+ IL_7b92: ldc.i8 0x0
+ IL_7b9b: stloc V_12
+ IL_7b9f: ldloc V_12
+ IL_7ba3: ldc.i8 0x1
+ IL_7bac: add
+ IL_7bad: stloc V_12
+ IL_7bb1: ldloc V_12
+ IL_7bb5: ldc.i8 0x1
+ IL_7bbe: blt IL_7b9f
+
+ IL_7bc3: br IL_7bc8
+
+ IL_7bc8: ldc.i8 0x0
+ IL_7bd1: stloc V_12
+ IL_7bd5: ldloc V_12
+ IL_7bd9: ldc.i8 0x1
+ IL_7be2: add
+ IL_7be3: stloc V_12
+ IL_7be7: ldloc V_12
+ IL_7beb: ldc.i8 0x0
+ IL_7bf4: blt IL_7bd5
+
+ IL_7bf9: ldc.i8 0x0
+ IL_7c02: stloc V_12
+ IL_7c06: ldloc V_12
+ IL_7c0a: ldc.i8 0x1
+ IL_7c13: add
+ IL_7c14: stloc V_12
+ IL_7c18: ldloc V_12
+ IL_7c1c: ldc.i8 0x2
+ IL_7c25: blt IL_7c06
+
+ IL_7c2a: ldloc V_31
+ IL_7c2e: ldloc V_39
+ IL_7c32: add
+ IL_7c33: stloc V_31
+ IL_7c37: ldloc V_11
+ IL_7c3b: ldc.i8 0x1
+ IL_7c44: add
+ IL_7c45: stloc V_11
+ IL_7c49: ldloc V_11
+ IL_7c4d: ldc.i8 0x2
+ IL_7c56: blt IL_7b92
+
+ IL_7c5b: ldloc V_14
+ IL_7c5f: stloc V_22
+ IL_7c63: br IL_7d29
+
+ IL_7c68: ldc.i8 0x0
+ IL_7c71: stloc V_11
+ IL_7c75: ldc.i8 0x0
+ IL_7c7e: stloc V_12
+ IL_7c82: ldloc V_12
+ IL_7c86: ldc.i8 0x1
+ IL_7c8f: add
+ IL_7c90: stloc V_12
+ IL_7c94: ldloc V_12
+ IL_7c98: ldc.i8 0x1
+ IL_7ca1: blt IL_7c82
+
+ IL_7ca6: br IL_7cab
+
+ IL_7cab: ldc.i8 0x0
+ IL_7cb4: stloc V_12
+ IL_7cb8: ldloc V_12
+ IL_7cbc: ldc.i8 0x1
+ IL_7cc5: add
+ IL_7cc6: stloc V_12
+ IL_7cca: ldloc V_12
+ IL_7cce: ldc.i8 0x1
+ IL_7cd7: blt IL_7cb8
+
+ IL_7cdc: ldloc V_27
+ IL_7ce0: ldloc V_10
+ IL_7ce4: add
+ IL_7ce5: ldc.i8 0x0
+ IL_7cee: add
+ IL_7cef: stloc V_27
+ IL_7cf3: ldloc V_11
+ IL_7cf7: ldc.i8 0x1
+ IL_7d00: add
+ IL_7d01: stloc V_11
+ IL_7d05: ldloc V_11
+ IL_7d09: ldc.i8 0x0
+ IL_7d12: blt IL_7c75
+
+ IL_7d17: ldloc V_36
+ IL_7d1b: ldc.i8 0x8
+ IL_7d24: add
+ IL_7d25: stloc V_44
+ IL_7d29: br IL_7e79
+
+ IL_7d2e: ldc.i8 0x0
+ IL_7d37: stloc V_11
+ IL_7d3b: ldc.i8 0x0
+ IL_7d44: stloc V_12
+ IL_7d48: ldloc V_12
+ IL_7d4c: ldc.i8 0x1
+ IL_7d55: add
+ IL_7d56: stloc V_12
+ IL_7d5a: ldloc V_12
+ IL_7d5e: ldc.i8 0x1
+ IL_7d67: blt IL_7d48
+
+ IL_7d6c: ldc.i8 0x0
+ IL_7d75: stloc V_12
+ IL_7d79: ldloc V_12
+ IL_7d7d: ldc.i8 0x1
+ IL_7d86: add
+ IL_7d87: stloc V_12
+ IL_7d8b: ldloc V_12
+ IL_7d8f: ldc.i8 0x0
+ IL_7d98: blt IL_7d79
+
+ IL_7d9d: nop
+ IL_7d9e: ldloc V_11
+ IL_7da2: ldc.i8 0x1
+ IL_7dab: add
+ IL_7dac: stloc V_11
+ IL_7db0: ldloc V_11
+ IL_7db4: ldc.i8 0x2
+ IL_7dbd: blt IL_7d3b
+
+ IL_7dc2: ldc.i8 0x0
+ IL_7dcb: stloc V_11
+ IL_7dcf: ldc.i8 0x0
+ IL_7dd8: stloc V_12
+ IL_7ddc: ldloc V_12
+ IL_7de0: ldc.i8 0x1
+ IL_7de9: add
+ IL_7dea: stloc V_12
+ IL_7dee: ldloc V_12
+ IL_7df2: ldc.i8 0x2
+ IL_7dfb: blt IL_7ddc
+
+ IL_7e00: br IL_7e05
+
+ IL_7e05: ldc.i8 0x0
+ IL_7e0e: stloc V_12
+ IL_7e12: ldloc V_12
+ IL_7e16: ldc.i8 0x1
+ IL_7e1f: add
+ IL_7e20: stloc V_12
+ IL_7e24: ldloc V_12
+ IL_7e28: ldc.i8 0x0
+ IL_7e31: blt IL_7e12
+
+ IL_7e36: ldc.i8 0x7
+ IL_7e3f: stloc V_13
+ IL_7e43: ldloc V_11
+ IL_7e47: ldc.i8 0x1
+ IL_7e50: add
+ IL_7e51: stloc V_11
+ IL_7e55: ldloc V_11
+ IL_7e59: ldc.i8 0x2
+ IL_7e62: blt IL_7dcf
+
+ IL_7e67: ldloc V_49
+ IL_7e6b: ldc.i8 0x9
+ IL_7e74: add
+ IL_7e75: stloc V_24
+ IL_7e79: ldloc V_46
+ IL_7e7d: ldc.i8 0x9
+ IL_7e86: add
+ IL_7e87: stloc V_23
+ IL_7e8b: ldloc V_38
+ IL_7e8f: ldloc V_30
+ IL_7e93: add
+ IL_7e94: stloc V_38
+ IL_7e98: ldloc V_8
+ IL_7e9c: ldc.i8 0x1
+ IL_7ea5: add
+ IL_7ea6: stloc V_8
+ IL_7eaa: ldloc V_8
+ IL_7eae: ldc.i8 0x2
+ IL_7eb7: blt IL_76aa
+
+ IL_7ebc: ldc.i8 0x0
+ IL_7ec5: stloc V_8
+ IL_7ec9: ldc.i8 0x0
+ IL_7ed2: stloc V_9
+ IL_7ed6: br IL_7ee8
+
+ IL_7edb: ldloc V_22
+ IL_7edf: ldloc V_49
+ IL_7ee3: add
+ IL_7ee4: stloc V_15
+ IL_7ee8: br IL_817d
+
+ IL_7eed: br IL_7fb7
+
+ IL_7ef2: ldc.i8 0x0
+ IL_7efb: stloc V_12
+ IL_7eff: ldloc V_12
+ IL_7f03: ldc.i8 0x1
+ IL_7f0c: add
+ IL_7f0d: stloc V_12
+ IL_7f11: ldloc V_12
+ IL_7f15: ldc.i8 0x1
+ IL_7f1e: blt IL_7eff
+
+ IL_7f23: ldc.i8 0x0
+ IL_7f2c: stloc V_12
+ IL_7f30: ldloc V_12
+ IL_7f34: ldc.i8 0x1
+ IL_7f3d: add
+ IL_7f3e: stloc V_12
+ IL_7f42: ldloc V_12
+ IL_7f46: ldc.i8 0x0
+ IL_7f4f: blt IL_7f30
+
+ IL_7f54: ldc.i8 0x0
+ IL_7f5d: stloc V_12
+ IL_7f61: ldloc V_12
+ IL_7f65: ldc.i8 0x1
+ IL_7f6e: add
+ IL_7f6f: stloc V_12
+ IL_7f73: ldloc V_12
+ IL_7f77: ldc.i8 0x1
+ IL_7f80: blt IL_7f61
+
+ IL_7f85: ldc.i8 0x0
+ IL_7f8e: stloc V_12
+ IL_7f92: ldloc V_12
+ IL_7f96: ldc.i8 0x1
+ IL_7f9f: add
+ IL_7fa0: stloc V_12
+ IL_7fa4: ldloc V_12
+ IL_7fa8: ldc.i8 0x1
+ IL_7fb1: blt IL_7f92
+
+ IL_7fb6: nop
+ IL_7fb7: ldc.i8 0x0
+ IL_7fc0: stloc V_11
+ IL_7fc4: ldc.i8 0x0
+ IL_7fcd: stloc V_12
+ IL_7fd1: ldloc V_12
+ IL_7fd5: ldc.i8 0x1
+ IL_7fde: add
+ IL_7fdf: stloc V_12
+ IL_7fe3: ldloc V_12
+ IL_7fe7: ldc.i8 0x1
+ IL_7ff0: blt IL_7fd1
+
+ IL_7ff5: ldc.i8 0x0
+ IL_7ffe: stloc V_12
+ IL_8002: ldloc V_12
+ IL_8006: ldc.i8 0x1
+ IL_800f: add
+ IL_8010: stloc V_12
+ IL_8014: ldloc V_12
+ IL_8018: ldc.i8 0x0
+ IL_8021: blt IL_8002
+
+ IL_8026: ldloc V_23
+ IL_802a: ldloc V_17
+ IL_802e: add
+ IL_802f: stloc V_23
+ IL_8033: ldloc V_11
+ IL_8037: ldc.i8 0x1
+ IL_8040: add
+ IL_8041: stloc V_11
+ IL_8045: ldloc V_11
+ IL_8049: ldc.i8 0x2
+ IL_8052: blt IL_7fc4
+
+ IL_8057: br IL_8101
+
+ IL_805c: br IL_8061
+
+ IL_8061: ldc.i8 0x0
+ IL_806a: stloc V_12
+ IL_806e: ldloc V_12
+ IL_8072: ldc.i8 0x1
+ IL_807b: add
+ IL_807c: stloc V_12
+ IL_8080: ldloc V_12
+ IL_8084: ldc.i8 0x2
+ IL_808d: blt IL_806e
+
+ IL_8092: ldc.i8 0x0
+ IL_809b: stloc V_12
+ IL_809f: ldloc V_12
+ IL_80a3: ldc.i8 0x1
+ IL_80ac: add
+ IL_80ad: stloc V_12
+ IL_80b1: ldloc V_12
+ IL_80b5: ldc.i8 0x1
+ IL_80be: blt IL_809f
+
+ IL_80c3: ldc.i8 0x0
+ IL_80cc: stloc V_12
+ IL_80d0: ldloc V_12
+ IL_80d4: ldc.i8 0x1
+ IL_80dd: add
+ IL_80de: stloc V_12
+ IL_80e2: ldloc V_12
+ IL_80e6: ldc.i8 0x2
+ IL_80ef: blt IL_80d0
+
+ IL_80f4: ldloc V_43
+ IL_80f8: ldloc V_14
+ IL_80fc: add
+ IL_80fd: stloc V_43
+ IL_8101: br IL_8170
+
+ IL_8106: ldc.i8 0x0
+ IL_810f: stloc V_12
+ IL_8113: ldloc V_12
+ IL_8117: ldc.i8 0x1
+ IL_8120: add
+ IL_8121: stloc V_12
+ IL_8125: ldloc V_12
+ IL_8129: ldc.i8 0x0
+ IL_8132: blt IL_8113
+
+ IL_8137: ldc.i8 0x0
+ IL_8140: stloc V_12
+ IL_8144: ldloc V_12
+ IL_8148: ldc.i8 0x1
+ IL_8151: add
+ IL_8152: stloc V_12
+ IL_8156: ldloc V_12
+ IL_815a: ldc.i8 0x1
+ IL_8163: blt IL_8144
+
+ IL_8168: ldloc V_5
+ IL_816c: stloc V_31
+ IL_8170: ldloc V_35
+ IL_8174: ldloc V_41
+ IL_8178: add
+ IL_8179: stloc V_45
+ IL_817d: ldloc V_26
+ IL_8181: ldc.i8 0x7
+ IL_818a: add
+ IL_818b: stloc V_48
+ IL_818f: ldloc V_9
+ IL_8193: ldc.i8 0x1
+ IL_819c: add
+ IL_819d: stloc V_9
+ IL_81a1: ldloc V_9
+ IL_81a5: ldc.i8 0x1
+ IL_81ae: blt IL_7ed6
+
+ IL_81b3: ldc.i8 0x0
+ IL_81bc: stloc V_9
+ IL_81c0: ldc.i8 0x0
+ IL_81c9: stloc V_10
+ IL_81cd: ldc.i8 0x0
+ IL_81d6: stloc V_11
+ IL_81da: ldloc V_17
+ IL_81de: ldc.i8 0x6
+ IL_81e7: add
+ IL_81e8: stloc V_31
+ IL_81ec: ldloc V_11
+ IL_81f0: ldc.i8 0x1
+ IL_81f9: add
+ IL_81fa: stloc V_11
+ IL_81fe: ldloc V_11
+ IL_8202: ldc.i8 0x0
+ IL_820b: blt IL_81da
+
+ IL_8210: ldloc V_42
+ IL_8214: stloc V_27
+ IL_8218: ldloc V_10
+ IL_821c: ldc.i8 0x1
+ IL_8225: add
+ IL_8226: stloc V_10
+ IL_822a: ldloc V_10
+ IL_822e: ldc.i8 0x1
+ IL_8237: blt IL_81cd
+
+ IL_823c: ldc.i8 0x0
+ IL_8245: stloc V_10
+ IL_8249: br IL_8265
+
+ IL_824e: br IL_8253
+
+ IL_8253: br IL_8258
+
+ IL_8258: ldloc V_39
+ IL_825c: ldloc V_6
+ IL_8260: add
+ IL_8261: stloc V_28
+ IL_8265: ldc.i8 0x0
+ IL_826e: stloc V_11
+ IL_8272: ldloc V_10
+ IL_8276: ldc.i8 0x1
+ IL_827f: add
+ IL_8280: stloc V_10
+ IL_8284: ldloc V_10
+ IL_8288: ldc.i8 0x1
+ IL_8291: blt IL_8249
+
+ IL_8296: ldc.i8 0x0
+ IL_829f: stloc V_10
+ IL_82a3: ldc.i8 0x0
+ IL_82ac: stloc V_11
+ IL_82b0: br IL_82b5
+
+ IL_82b5: br IL_82ba
+
+ IL_82ba: ldc.i8 0x0
+ IL_82c3: stloc V_12
+ IL_82c7: ldloc V_12
+ IL_82cb: ldc.i8 0x1
+ IL_82d4: add
+ IL_82d5: stloc V_12
+ IL_82d9: ldloc V_12
+ IL_82dd: ldc.i8 0x1
+ IL_82e6: blt IL_82c7
+
+ IL_82eb: br IL_82f0
+
+ IL_82f0: ldloc V_30
+ IL_82f4: ldloc V_15
+ IL_82f8: add
+ IL_82f9: stloc V_30
+ IL_82fd: ldloc V_11
+ IL_8301: ldc.i8 0x1
+ IL_830a: add
+ IL_830b: stloc V_11
+ IL_830f: ldloc V_11
+ IL_8313: ldc.i8 0x1
+ IL_831c: blt IL_82b0
+
+ IL_8321: ldc.i8 0x0
+ IL_832a: stloc V_11
+ IL_832e: ldc.i8 0x0
+ IL_8337: stloc V_12
+ IL_833b: ldloc V_12
+ IL_833f: ldc.i8 0x1
+ IL_8348: add
+ IL_8349: stloc V_12
+ IL_834d: ldloc V_12
+ IL_8351: ldc.i8 0x2
+ IL_835a: blt IL_833b
+
+ IL_835f: ldc.i8 0x0
+ IL_8368: stloc V_12
+ IL_836c: ldloc V_12
+ IL_8370: ldc.i8 0x1
+ IL_8379: add
+ IL_837a: stloc V_12
+ IL_837e: ldloc V_12
+ IL_8382: ldc.i8 0x2
+ IL_838b: blt IL_836c
+
+ IL_8390: br IL_8395
+
+ IL_8395: ldloc V_20
+ IL_8399: stloc V_27
+ IL_839d: ldloc V_11
+ IL_83a1: ldc.i8 0x1
+ IL_83aa: add
+ IL_83ab: stloc V_11
+ IL_83af: ldloc V_11
+ IL_83b3: ldc.i8 0x1
+ IL_83bc: blt IL_832e
+
+ IL_83c1: ldc.i8 0x0
+ IL_83ca: stloc V_11
+ IL_83ce: ldloc V_10
+ IL_83d2: ldloc V_1
+ IL_83d6: add
+ IL_83d7: stloc V_47
+ IL_83db: ldloc V_11
+ IL_83df: ldc.i8 0x1
+ IL_83e8: add
+ IL_83e9: stloc V_11
+ IL_83ed: ldloc V_11
+ IL_83f1: ldc.i8 0x2
+ IL_83fa: blt IL_83ce
+
+ IL_83ff: ldloc V_5
+ IL_8403: ldc.i8 0x6
+ IL_840c: add
+ IL_840d: stloc V_29
+ IL_8411: ldloc V_10
+ IL_8415: ldc.i8 0x1
+ IL_841e: add
+ IL_841f: stloc V_10
+ IL_8423: ldloc V_10
+ IL_8427: ldc.i8 0x2
+ IL_8430: blt IL_82a3
+
+ IL_8435: br IL_8526
+
+ IL_843a: br IL_84b8
+
+ IL_843f: ldc.i8 0x0
+ IL_8448: stloc V_12
+ IL_844c: ldloc V_12
+ IL_8450: ldc.i8 0x1
+ IL_8459: add
+ IL_845a: stloc V_12
+ IL_845e: ldloc V_12
+ IL_8462: ldc.i8 0x1
+ IL_846b: blt IL_844c
+
+ IL_8470: ldc.i8 0x0
+ IL_8479: stloc V_12
+ IL_847d: ldloc V_12
+ IL_8481: ldc.i8 0x1
+ IL_848a: add
+ IL_848b: stloc V_12
+ IL_848f: ldloc V_12
+ IL_8493: ldc.i8 0x0
+ IL_849c: blt IL_847d
+
+ IL_84a1: ldloc V_31
+ IL_84a5: ldloc V_22
+ IL_84a9: add
+ IL_84aa: ldc.i8 0x2
+ IL_84b3: add
+ IL_84b4: stloc V_31
+ IL_84b8: br IL_8525
+
+ IL_84bd: ldc.i8 0x0
+ IL_84c6: stloc V_12
+ IL_84ca: ldloc V_12
+ IL_84ce: ldc.i8 0x1
+ IL_84d7: add
+ IL_84d8: stloc V_12
+ IL_84dc: ldloc V_12
+ IL_84e0: ldc.i8 0x0
+ IL_84e9: blt IL_84ca
+
+ IL_84ee: ldc.i8 0x0
+ IL_84f7: stloc V_12
+ IL_84fb: ldloc V_12
+ IL_84ff: ldc.i8 0x1
+ IL_8508: add
+ IL_8509: stloc V_12
+ IL_850d: ldloc V_12
+ IL_8511: ldc.i8 0x1
+ IL_851a: blt IL_84fb
+
+ IL_851f: br IL_8524
+
+ IL_8524: nop
+ IL_8525: nop
+ IL_8526: nop
+ IL_8527: ldloc V_9
+ IL_852b: ldc.i8 0x1
+ IL_8534: add
+ IL_8535: stloc V_9
+ IL_8539: ldloc V_9
+ IL_853d: ldc.i8 0x0
+ IL_8546: blt IL_81c0
+
+ IL_854b: ldloc V_15
+ IL_854f: stloc V_21
+ IL_8553: ldloc V_8
+ IL_8557: ldc.i8 0x1
+ IL_8560: add
+ IL_8561: stloc V_8
+ IL_8565: ldloc V_8
+ IL_8569: ldc.i8 0x1
+ IL_8572: blt IL_7ec9
+
+ IL_8577: nop
+ IL_8578: ldc.i8 0x0
+ IL_8581: stloc V_7
+ IL_8585: ldc.i8 0x0
+ IL_858e: stloc V_8
+ IL_8592: br IL_8598
+
+ IL_8597: nop
+ IL_8598: ldloc V_41
+ IL_859c: ldloc V_46
+ IL_85a0: add
+ IL_85a1: ldc.i8 0x7
+ IL_85aa: add
+ IL_85ab: stloc V_41
+ IL_85af: ldloc V_8
+ IL_85b3: ldc.i8 0x1
+ IL_85bc: add
+ IL_85bd: stloc V_8
+ IL_85c1: ldloc V_8
+ IL_85c5: ldc.i8 0x0
+ IL_85ce: blt IL_8592
+
+ IL_85d3: ldc.i8 0x0
+ IL_85dc: stloc V_8
+ IL_85e0: ldloc V_22
+ IL_85e4: ldloc V_29
+ IL_85e8: add
+ IL_85e9: stloc V_22
+ IL_85ed: ldloc V_8
+ IL_85f1: ldc.i8 0x1
+ IL_85fa: add
+ IL_85fb: stloc V_8
+ IL_85ff: ldloc V_8
+ IL_8603: ldc.i8 0x2
+ IL_860c: blt IL_85e0
+
+ IL_8611: ldloc V_44
+ IL_8615: ldloc V_28
+ IL_8619: add
+ IL_861a: ldc.i8 0x4
+ IL_8623: add
+ IL_8624: stloc V_44
+ IL_8628: ldloc V_7
+ IL_862c: ldc.i8 0x1
+ IL_8635: add
+ IL_8636: stloc V_7
+ IL_863a: ldloc V_7
+ IL_863e: ldc.i8 0x0
+ IL_8647: blt IL_8585
+
+ IL_864c: nop
+ IL_864d: ldloc V_6
+ IL_8651: ldc.i8 0x1
+ IL_865a: add
+ IL_865b: stloc V_6
+ IL_865f: ldloc V_6
+ IL_8663: ldc.i8 0x1
+ IL_866c: blt IL_6b36
+
+ IL_8671: ldc.i8 0x3
+ IL_867a: stloc V_32
+ IL_867e: ldc.i8 0x0
+ IL_8687: stloc V_5
+ IL_868b: ldc.i8 0x0
+ IL_8694: stloc V_6
+ IL_8698: ldc.i8 0x0
+ IL_86a1: stloc V_7
+ IL_86a5: ldc.i8 0x0
+ IL_86ae: stloc V_8
+ IL_86b2: ldc.i8 0x0
+ IL_86bb: stloc V_9
+ IL_86bf: ldc.i8 0x0
+ IL_86c8: stloc V_10
+ IL_86cc: ldc.i8 0x0
+ IL_86d5: stloc V_11
+ IL_86d9: ldc.i8 0x0
+ IL_86e2: stloc V_12
+ IL_86e6: ldloc V_12
+ IL_86ea: ldc.i8 0x1
+ IL_86f3: add
+ IL_86f4: stloc V_12
+ IL_86f8: ldloc V_12
+ IL_86fc: ldc.i8 0x1
+ IL_8705: blt IL_86e6
+
+ IL_870a: ldc.i8 0x0
+ IL_8713: stloc V_12
+ IL_8717: ldloc V_12
+ IL_871b: ldc.i8 0x1
+ IL_8724: add
+ IL_8725: stloc V_12
+ IL_8729: ldloc V_12
+ IL_872d: ldc.i8 0x2
+ IL_8736: blt IL_8717
+
+ IL_873b: ldc.i8 0x0
+ IL_8744: stloc V_12
+ IL_8748: ldloc V_12
+ IL_874c: ldc.i8 0x1
+ IL_8755: add
+ IL_8756: stloc V_12
+ IL_875a: ldloc V_12
+ IL_875e: ldc.i8 0x1
+ IL_8767: blt IL_8748
+
+ IL_876c: ldc.i8 0x0
+ IL_8775: stloc V_12
+ IL_8779: ldloc V_12
+ IL_877d: ldc.i8 0x1
+ IL_8786: add
+ IL_8787: stloc V_12
+ IL_878b: ldloc V_12
+ IL_878f: ldc.i8 0x0
+ IL_8798: blt IL_8779
+
+ IL_879d: ldloc V_48
+ IL_87a1: ldc.i8 0x0
+ IL_87aa: add
+ IL_87ab: stloc V_26
+ IL_87af: ldloc V_11
+ IL_87b3: ldc.i8 0x1
+ IL_87bc: add
+ IL_87bd: stloc V_11
+ IL_87c1: ldloc V_11
+ IL_87c5: ldc.i8 0x1
+ IL_87ce: blt IL_86d9
+
+ IL_87d3: ldloc V_39
+ IL_87d7: ldc.i8 0x6
+ IL_87e0: add
+ IL_87e1: stloc V_21
+ IL_87e5: ldloc V_10
+ IL_87e9: ldc.i8 0x1
+ IL_87f2: add
+ IL_87f3: stloc V_10
+ IL_87f7: ldloc V_10
+ IL_87fb: ldc.i8 0x2
+ IL_8804: blt IL_86cc
+
+ IL_8809: ldc.i8 0x0
+ IL_8812: stloc V_10
+ IL_8816: ldc.i8 0x0
+ IL_881f: stloc V_11
+ IL_8823: br IL_8828
+
+ IL_8828: ldloc V_31
+ IL_882c: ldc.i8 0x9
+ IL_8835: add
+ IL_8836: stloc V_33
+ IL_883a: ldloc V_11
+ IL_883e: ldc.i8 0x1
+ IL_8847: add
+ IL_8848: stloc V_11
+ IL_884c: ldloc V_11
+ IL_8850: ldc.i8 0x1
+ IL_8859: blt IL_8823
+
+ IL_885e: ldc.i8 0x0
+ IL_8867: stloc V_11
+ IL_886b: br IL_8870
+
+ IL_8870: br IL_8875
+
+ IL_8875: ldc.i8 0x0
+ IL_887e: stloc V_12
+ IL_8882: ldloc V_12
+ IL_8886: ldc.i8 0x1
+ IL_888f: add
+ IL_8890: stloc V_12
+ IL_8894: ldloc V_12
+ IL_8898: ldc.i8 0x0
+ IL_88a1: blt IL_8882
+
+ IL_88a6: ldloc V_29
+ IL_88aa: ldloc V_17
+ IL_88ae: add
+ IL_88af: stloc V_33
+ IL_88b3: ldloc V_11
+ IL_88b7: ldc.i8 0x1
+ IL_88c0: add
+ IL_88c1: stloc V_11
+ IL_88c5: ldloc V_11
+ IL_88c9: ldc.i8 0x1
+ IL_88d2: blt IL_886b
+
+ IL_88d7: ldc.i8 0x0
+ IL_88e0: stloc V_11
+ IL_88e4: ldloc V_4
+ IL_88e8: ldc.i8 0x4
+ IL_88f1: add
+ IL_88f2: stloc V_42
+ IL_88f6: ldloc V_11
+ IL_88fa: ldc.i8 0x1
+ IL_8903: add
+ IL_8904: stloc V_11
+ IL_8908: ldloc V_11
+ IL_890c: ldc.i8 0x1
+ IL_8915: blt IL_88e4
+
+ IL_891a: ldloc V_20
+ IL_891e: ldloc V_27
+ IL_8922: add
+ IL_8923: stloc V_20
+ IL_8927: ldloc V_10
+ IL_892b: ldc.i8 0x1
+ IL_8934: add
+ IL_8935: stloc V_10
+ IL_8939: ldloc V_10
+ IL_893d: ldc.i8 0x0
+ IL_8946: blt IL_8816
+
+ IL_894b: ldloc V_20
+ IL_894f: stloc V_39
+ IL_8953: ldloc V_9
+ IL_8957: ldc.i8 0x1
+ IL_8960: add
+ IL_8961: stloc V_9
+ IL_8965: ldloc V_9
+ IL_8969: ldc.i8 0x1
+ IL_8972: blt IL_86bf
+
+ IL_8977: ldloc V_38
+ IL_897b: ldloc V_11
+ IL_897f: add
+ IL_8980: ldc.i8 0x5
+ IL_8989: add
+ IL_898a: stloc V_38
+ IL_898e: ldloc V_8
+ IL_8992: ldc.i8 0x1
+ IL_899b: add
+ IL_899c: stloc V_8
+ IL_89a0: ldloc V_8
+ IL_89a4: ldc.i8 0x0
+ IL_89ad: blt IL_86b2
+
+ IL_89b2: br IL_89c4
+
+ IL_89b7: ldloc V_22
+ IL_89bb: ldloc V_30
+ IL_89bf: add
+ IL_89c0: stloc V_22
+ IL_89c4: ldloc V_43
+ IL_89c8: ldloc V_8
+ IL_89cc: add
+ IL_89cd: stloc V_43
+ IL_89d1: ldloc V_7
+ IL_89d5: ldc.i8 0x1
+ IL_89de: add
+ IL_89df: stloc V_7
+ IL_89e3: ldloc V_7
+ IL_89e7: ldc.i8 0x1
+ IL_89f0: blt IL_86a5
+
+ IL_89f5: ldloc V_26
+ IL_89f9: ldc.i8 0x2
+ IL_8a02: add
+ IL_8a03: stloc V_30
+ IL_8a07: ldloc V_6
+ IL_8a0b: ldc.i8 0x1
+ IL_8a14: add
+ IL_8a15: stloc V_6
+ IL_8a19: ldloc V_6
+ IL_8a1d: ldc.i8 0x0
+ IL_8a26: blt IL_8698
+
+ IL_8a2b: ldc.i8 0x0
+ IL_8a34: stloc V_6
+ IL_8a38: ldloc V_40
+ IL_8a3c: ldc.i8 0x8
+ IL_8a45: add
+ IL_8a46: stloc V_45
+ IL_8a4a: ldloc V_6
+ IL_8a4e: ldc.i8 0x1
+ IL_8a57: add
+ IL_8a58: stloc V_6
+ IL_8a5c: ldloc V_6
+ IL_8a60: ldc.i8 0x2
+ IL_8a69: blt IL_8a38
+
+ IL_8a6e: br IL_8a74
+
+ IL_8a73: nop
+ IL_8a74: ldloc V_32
+ IL_8a78: ldloc V_15
+ IL_8a7c: add
+ IL_8a7d: stloc V_32
+ IL_8a81: ldloc V_5
+ IL_8a85: ldc.i8 0x1
+ IL_8a8e: add
+ IL_8a8f: stloc V_5
+ IL_8a93: ldloc V_5
+ IL_8a97: ldc.i8 0x1
+ IL_8aa0: blt IL_868b
+
+ IL_8aa5: br IL_8ab2
+
+ IL_8aaa: ldloc V_42
+ IL_8aae: stloc V_36
+ IL_8ab2: ldc.i8 0x0
+ IL_8abb: stloc V_5
+ IL_8abf: br IL_b3f5
+
+ IL_8ac4: ldc.i8 0x0
+ IL_8acd: stloc V_7
+ IL_8ad1: nop
+ IL_8ad2: ldloc V_7
+ IL_8ad6: ldc.i8 0x1
+ IL_8adf: add
+ IL_8ae0: stloc V_7
+ IL_8ae4: ldloc V_7
+ IL_8ae8: ldc.i8 0x1
+ IL_8af1: blt IL_8ad1
+
+ IL_8af6: ldc.i8 0x0
+ IL_8aff: stloc V_7
+ IL_8b03: ldc.i8 0x0
+ IL_8b0c: stloc V_8
+ IL_8b10: ldc.i8 0x0
+ IL_8b19: stloc V_9
+ IL_8b1d: ldc.i8 0x0
+ IL_8b26: stloc V_10
+ IL_8b2a: br IL_8bb2
+
+ IL_8b2f: br IL_8b34
+
+ IL_8b34: br IL_8b39
+
+ IL_8b39: ldc.i8 0x0
+ IL_8b42: stloc V_12
+ IL_8b46: ldloc V_12
+ IL_8b4a: ldc.i8 0x1
+ IL_8b53: add
+ IL_8b54: stloc V_12
+ IL_8b58: ldloc V_12
+ IL_8b5c: ldc.i8 0x2
+ IL_8b65: blt IL_8b46
+
+ IL_8b6a: ldc.i8 0x0
+ IL_8b73: stloc V_12
+ IL_8b77: ldloc V_12
+ IL_8b7b: ldc.i8 0x1
+ IL_8b84: add
+ IL_8b85: stloc V_12
+ IL_8b89: ldloc V_12
+ IL_8b8d: ldc.i8 0x0
+ IL_8b96: blt IL_8b77
+
+ IL_8b9b: ldloc V_45
+ IL_8b9f: ldloc V_22
+ IL_8ba3: add
+ IL_8ba4: ldc.i8 0x8
+ IL_8bad: add
+ IL_8bae: stloc V_45
+ IL_8bb2: nop
+ IL_8bb3: ldloc V_10
+ IL_8bb7: ldc.i8 0x1
+ IL_8bc0: add
+ IL_8bc1: stloc V_10
+ IL_8bc5: ldloc V_10
+ IL_8bc9: ldc.i8 0x0
+ IL_8bd2: blt IL_8b2a
+
+ IL_8bd7: ldloc V_32
+ IL_8bdb: ldloc V_5
+ IL_8bdf: add
+ IL_8be0: stloc V_48
+ IL_8be4: ldloc V_9
+ IL_8be8: ldc.i8 0x1
+ IL_8bf1: add
+ IL_8bf2: stloc V_9
+ IL_8bf6: ldloc V_9
+ IL_8bfa: ldc.i8 0x0
+ IL_8c03: blt IL_8b1d
+
+ IL_8c08: ldc.i8 0x0
+ IL_8c11: stloc V_9
+ IL_8c15: ldloc V_3
+ IL_8c19: ldc.i8 0x0
+ IL_8c22: add
+ IL_8c23: stloc V_18
+ IL_8c27: ldloc V_9
+ IL_8c2b: ldc.i8 0x1
+ IL_8c34: add
+ IL_8c35: stloc V_9
+ IL_8c39: ldloc V_9
+ IL_8c3d: ldc.i8 0x0
+ IL_8c46: blt IL_8c15
+
+ IL_8c4b: ldloc V_21
+ IL_8c4f: ldloc V_48
+ IL_8c53: add
+ IL_8c54: ldc.i8 0x5
+ IL_8c5d: add
+ IL_8c5e: stloc V_21
+ IL_8c62: ldloc V_8
+ IL_8c66: ldc.i8 0x1
+ IL_8c6f: add
+ IL_8c70: stloc V_8
+ IL_8c74: ldloc V_8
+ IL_8c78: ldc.i8 0x0
+ IL_8c81: blt IL_8b10
+
+ IL_8c86: br IL_9991
+
+ IL_8c8b: ldc.i8 0x0
+ IL_8c94: stloc V_9
+ IL_8c98: ldc.i8 0x0
+ IL_8ca1: stloc V_10
+ IL_8ca5: ldc.i8 0x0
+ IL_8cae: stloc V_11
+ IL_8cb2: ldc.i8 0x0
+ IL_8cbb: stloc V_12
+ IL_8cbf: ldloc V_12
+ IL_8cc3: ldc.i8 0x1
+ IL_8ccc: add
+ IL_8ccd: stloc V_12
+ IL_8cd1: ldloc V_12
+ IL_8cd5: ldc.i8 0x2
+ IL_8cde: blt IL_8cbf
+
+ IL_8ce3: ldc.i8 0x0
+ IL_8cec: stloc V_12
+ IL_8cf0: ldloc V_12
+ IL_8cf4: ldc.i8 0x1
+ IL_8cfd: add
+ IL_8cfe: stloc V_12
+ IL_8d02: ldloc V_12
+ IL_8d06: ldc.i8 0x0
+ IL_8d0f: blt IL_8cf0
+
+ IL_8d14: ldc.i8 0x0
+ IL_8d1d: stloc V_12
+ IL_8d21: ldloc V_12
+ IL_8d25: ldc.i8 0x1
+ IL_8d2e: add
+ IL_8d2f: stloc V_12
+ IL_8d33: ldloc V_12
+ IL_8d37: ldc.i8 0x1
+ IL_8d40: blt IL_8d21
+
+ IL_8d45: ldc.i8 0x0
+ IL_8d4e: stloc V_12
+ IL_8d52: ldloc V_12
+ IL_8d56: ldc.i8 0x1
+ IL_8d5f: add
+ IL_8d60: stloc V_12
+ IL_8d64: ldloc V_12
+ IL_8d68: ldc.i8 0x2
+ IL_8d71: blt IL_8d52
+
+ IL_8d76: nop
+ IL_8d77: ldloc V_11
+ IL_8d7b: ldc.i8 0x1
+ IL_8d84: add
+ IL_8d85: stloc V_11
+ IL_8d89: ldloc V_11
+ IL_8d8d: ldc.i8 0x2
+ IL_8d96: blt IL_8cb2
+
+ IL_8d9b: ldc.i8 0x0
+ IL_8da4: stloc V_11
+ IL_8da8: br IL_8dad
+
+ IL_8dad: ldc.i8 0x0
+ IL_8db6: stloc V_12
+ IL_8dba: ldloc V_12
+ IL_8dbe: ldc.i8 0x1
+ IL_8dc7: add
+ IL_8dc8: stloc V_12
+ IL_8dcc: ldloc V_12
+ IL_8dd0: ldc.i8 0x2
+ IL_8dd9: blt IL_8dba
+
+ IL_8dde: ldc.i8 0x0
+ IL_8de7: stloc V_12
+ IL_8deb: ldloc V_12
+ IL_8def: ldc.i8 0x1
+ IL_8df8: add
+ IL_8df9: stloc V_12
+ IL_8dfd: ldloc V_12
+ IL_8e01: ldc.i8 0x2
+ IL_8e0a: blt IL_8deb
+
+ IL_8e0f: ldc.i8 0x0
+ IL_8e18: stloc V_12
+ IL_8e1c: ldloc V_12
+ IL_8e20: ldc.i8 0x1
+ IL_8e29: add
+ IL_8e2a: stloc V_12
+ IL_8e2e: ldloc V_12
+ IL_8e32: ldc.i8 0x2
+ IL_8e3b: blt IL_8e1c
+
+ IL_8e40: nop
+ IL_8e41: ldloc V_11
+ IL_8e45: ldc.i8 0x1
+ IL_8e4e: add
+ IL_8e4f: stloc V_11
+ IL_8e53: ldloc V_11
+ IL_8e57: ldc.i8 0x2
+ IL_8e60: blt IL_8da8
+
+ IL_8e65: ldc.i8 0x0
+ IL_8e6e: stloc V_11
+ IL_8e72: ldc.i8 0x0
+ IL_8e7b: stloc V_12
+ IL_8e7f: ldloc V_12
+ IL_8e83: ldc.i8 0x1
+ IL_8e8c: add
+ IL_8e8d: stloc V_12
+ IL_8e91: ldloc V_12
+ IL_8e95: ldc.i8 0x0
+ IL_8e9e: blt IL_8e7f
+
+ IL_8ea3: br IL_8ea8
+
+ IL_8ea8: ldc.i8 0x0
+ IL_8eb1: stloc V_12
+ IL_8eb5: ldloc V_12
+ IL_8eb9: ldc.i8 0x1
+ IL_8ec2: add
+ IL_8ec3: stloc V_12
+ IL_8ec7: ldloc V_12
+ IL_8ecb: ldc.i8 0x0
+ IL_8ed4: blt IL_8eb5
+
+ IL_8ed9: ldloc V_45
+ IL_8edd: stloc V_30
+ IL_8ee1: ldloc V_11
+ IL_8ee5: ldc.i8 0x1
+ IL_8eee: add
+ IL_8eef: stloc V_11
+ IL_8ef3: ldloc V_11
+ IL_8ef7: ldc.i8 0x0
+ IL_8f00: blt IL_8e72
+
+ IL_8f05: br IL_8f17
+
+ IL_8f0a: ldloc V_9
+ IL_8f0e: ldloc V_30
+ IL_8f12: add
+ IL_8f13: stloc V_34
+ IL_8f17: ldloc V_16
+ IL_8f1b: ldloc V_14
+ IL_8f1f: add
+ IL_8f20: ldc.i8 0x0
+ IL_8f29: add
+ IL_8f2a: stloc V_16
+ IL_8f2e: ldloc V_10
+ IL_8f32: ldc.i8 0x1
+ IL_8f3b: add
+ IL_8f3c: stloc V_10
+ IL_8f40: ldloc V_10
+ IL_8f44: ldc.i8 0x2
+ IL_8f4d: blt IL_8ca5
+
+ IL_8f52: ldc.i8 0x0
+ IL_8f5b: stloc V_10
+ IL_8f5f: br IL_8f9d
+
+ IL_8f64: ldc.i8 0x0
+ IL_8f6d: stloc V_12
+ IL_8f71: ldloc V_12
+ IL_8f75: ldc.i8 0x1
+ IL_8f7e: add
+ IL_8f7f: stloc V_12
+ IL_8f83: ldloc V_12
+ IL_8f87: ldc.i8 0x0
+ IL_8f90: blt IL_8f71
+
+ IL_8f95: ldloc V_34
+ IL_8f99: stloc V_39
+ IL_8f9d: ldc.i8 0x0
+ IL_8fa6: stloc V_11
+ IL_8faa: ldc.i8 0x1
+ IL_8fb3: stloc V_22
+ IL_8fb7: ldloc V_11
+ IL_8fbb: ldc.i8 0x1
+ IL_8fc4: add
+ IL_8fc5: stloc V_11
+ IL_8fc9: ldloc V_11
+ IL_8fcd: ldc.i8 0x2
+ IL_8fd6: blt IL_8faa
+
+ IL_8fdb: ldloc V_15
+ IL_8fdf: ldc.i8 0x8
+ IL_8fe8: add
+ IL_8fe9: stloc V_48
+ IL_8fed: ldloc V_10
+ IL_8ff1: ldc.i8 0x1
+ IL_8ffa: add
+ IL_8ffb: stloc V_10
+ IL_8fff: ldloc V_10
+ IL_9003: ldc.i8 0x2
+ IL_900c: blt IL_8f5f
+
+ IL_9011: ldc.i8 0x0
+ IL_901a: stloc V_10
+ IL_901e: ldc.i8 0x0
+ IL_9027: stloc V_11
+ IL_902b: ldc.i8 0x0
+ IL_9034: stloc V_12
+ IL_9038: ldloc V_12
+ IL_903c: ldc.i8 0x1
+ IL_9045: add
+ IL_9046: stloc V_12
+ IL_904a: ldloc V_12
+ IL_904e: ldc.i8 0x1
+ IL_9057: blt IL_9038
+
+ IL_905c: ldc.i8 0x0
+ IL_9065: stloc V_12
+ IL_9069: ldloc V_12
+ IL_906d: ldc.i8 0x1
+ IL_9076: add
+ IL_9077: stloc V_12
+ IL_907b: ldloc V_12
+ IL_907f: ldc.i8 0x1
+ IL_9088: blt IL_9069
+
+ IL_908d: ldc.i8 0x0
+ IL_9096: stloc V_12
+ IL_909a: ldloc V_12
+ IL_909e: ldc.i8 0x1
+ IL_90a7: add
+ IL_90a8: stloc V_12
+ IL_90ac: ldloc V_12
+ IL_90b0: ldc.i8 0x1
+ IL_90b9: blt IL_909a
+
+ IL_90be: ldloc V_3
+ IL_90c2: ldloc V_17
+ IL_90c6: add
+ IL_90c7: stloc V_34
+ IL_90cb: ldloc V_11
+ IL_90cf: ldc.i8 0x1
+ IL_90d8: add
+ IL_90d9: stloc V_11
+ IL_90dd: ldloc V_11
+ IL_90e1: ldc.i8 0x1
+ IL_90ea: blt IL_902b
+
+ IL_90ef: ldc.i8 0x0
+ IL_90f8: stloc V_11
+ IL_90fc: br IL_9101
+
+ IL_9101: nop
+ IL_9102: ldloc V_11
+ IL_9106: ldc.i8 0x1
+ IL_910f: add
+ IL_9110: stloc V_11
+ IL_9114: ldloc V_11
+ IL_9118: ldc.i8 0x0
+ IL_9121: blt IL_90fc
+
+ IL_9126: ldc.i8 0x0
+ IL_912f: stloc V_11
+ IL_9133: br IL_9138
+
+ IL_9138: ldc.i8 0x0
+ IL_9141: stloc V_12
+ IL_9145: ldloc V_12
+ IL_9149: ldc.i8 0x1
+ IL_9152: add
+ IL_9153: stloc V_12
+ IL_9157: ldloc V_12
+ IL_915b: ldc.i8 0x0
+ IL_9164: blt IL_9145
+
+ IL_9169: br IL_916e
+
+ IL_916e: nop
+ IL_916f: ldloc V_11
+ IL_9173: ldc.i8 0x1
+ IL_917c: add
+ IL_917d: stloc V_11
+ IL_9181: ldloc V_11
+ IL_9185: ldc.i8 0x2
+ IL_918e: blt IL_9133
+
+ IL_9193: ldc.i8 0x0
+ IL_919c: stloc V_11
+ IL_91a0: ldc.i8 0x0
+ IL_91a9: stloc V_12
+ IL_91ad: ldloc V_12
+ IL_91b1: ldc.i8 0x1
+ IL_91ba: add
+ IL_91bb: stloc V_12
+ IL_91bf: ldloc V_12
+ IL_91c3: ldc.i8 0x0
+ IL_91cc: blt IL_91ad
+
+ IL_91d1: br IL_91d6
+
+ IL_91d6: ldc.i8 0x0
+ IL_91df: stloc V_12
+ IL_91e3: ldloc V_12
+ IL_91e7: ldc.i8 0x1
+ IL_91f0: add
+ IL_91f1: stloc V_12
+ IL_91f5: ldloc V_12
+ IL_91f9: ldc.i8 0x2
+ IL_9202: blt IL_91e3
+
+ IL_9207: br IL_920c
+
+ IL_920c: ldloc V_38
+ IL_9210: ldloc V_28
+ IL_9214: add
+ IL_9215: ldc.i8 0x2
+ IL_921e: add
+ IL_921f: stloc V_38
+ IL_9223: ldloc V_11
+ IL_9227: ldc.i8 0x1
+ IL_9230: add
+ IL_9231: stloc V_11
+ IL_9235: ldloc V_11
+ IL_9239: ldc.i8 0x1
+ IL_9242: blt IL_91a0
+
+ IL_9247: ldloc V_39
+ IL_924b: ldc.i8 0x2
+ IL_9254: add
+ IL_9255: stloc V_21
+ IL_9259: ldloc V_10
+ IL_925d: ldc.i8 0x1
+ IL_9266: add
+ IL_9267: stloc V_10
+ IL_926b: ldloc V_10
+ IL_926f: ldc.i8 0x0
+ IL_9278: blt IL_901e
+
+ IL_927d: ldloc V_18
+ IL_9281: stloc V_41
+ IL_9285: ldloc V_9
+ IL_9289: ldc.i8 0x1
+ IL_9292: add
+ IL_9293: stloc V_9
+ IL_9297: ldloc V_9
+ IL_929b: ldc.i8 0x0
+ IL_92a4: blt IL_8c98
+
+ IL_92a9: br IL_968b
+
+ IL_92ae: br IL_93e7
+
+ IL_92b3: ldc.i8 0x0
+ IL_92bc: stloc V_11
+ IL_92c0: br IL_92c5
+
+ IL_92c5: br IL_92ca
+
+ IL_92ca: ldc.i8 0x0
+ IL_92d3: stloc V_12
+ IL_92d7: ldloc V_12
+ IL_92db: ldc.i8 0x1
+ IL_92e4: add
+ IL_92e5: stloc V_12
+ IL_92e9: ldloc V_12
+ IL_92ed: ldc.i8 0x2
+ IL_92f6: blt IL_92d7
+
+ IL_92fb: ldc.i8 0x0
+ IL_9304: stloc V_12
+ IL_9308: ldloc V_12
+ IL_930c: ldc.i8 0x1
+ IL_9315: add
+ IL_9316: stloc V_12
+ IL_931a: ldloc V_12
+ IL_931e: ldc.i8 0x0
+ IL_9327: blt IL_9308
+
+ IL_932c: nop
+ IL_932d: ldloc V_11
+ IL_9331: ldc.i8 0x1
+ IL_933a: add
+ IL_933b: stloc V_11
+ IL_933f: ldloc V_11
+ IL_9343: ldc.i8 0x1
+ IL_934c: blt IL_92c0
+
+ IL_9351: br IL_9399
+
+ IL_9356: ldc.i8 0x0
+ IL_935f: stloc V_12
+ IL_9363: ldloc V_12
+ IL_9367: ldc.i8 0x1
+ IL_9370: add
+ IL_9371: stloc V_12
+ IL_9375: ldloc V_12
+ IL_9379: ldc.i8 0x1
+ IL_9382: blt IL_9363
+
+ IL_9387: br IL_938c
+
+ IL_938c: ldc.i8 0x5
+ IL_9395: stloc V_31
+ IL_9399: br IL_93e6
+
+ IL_939e: br IL_93a3
+
+ IL_93a3: br IL_93a8
+
+ IL_93a8: ldc.i8 0x0
+ IL_93b1: stloc V_12
+ IL_93b5: ldloc V_12
+ IL_93b9: ldc.i8 0x1
+ IL_93c2: add
+ IL_93c3: stloc V_12
+ IL_93c7: ldloc V_12
+ IL_93cb: ldc.i8 0x2
+ IL_93d4: blt IL_93b5
+
+ IL_93d9: ldc.i8 0x4
+ IL_93e2: stloc V_45
+ IL_93e6: nop
+ IL_93e7: ldc.i8 0x0
+ IL_93f0: stloc V_10
+ IL_93f4: nop
+ IL_93f5: ldloc V_10
+ IL_93f9: ldc.i8 0x1
+ IL_9402: add
+ IL_9403: stloc V_10
+ IL_9407: ldloc V_10
+ IL_940b: ldc.i8 0x0
+ IL_9414: blt IL_93f4
+
+ IL_9419: ldc.i8 0x0
+ IL_9422: stloc V_10
+ IL_9426: br IL_94da
+
+ IL_942b: ldc.i8 0x0
+ IL_9434: stloc V_12
+ IL_9438: ldloc V_12
+ IL_943c: ldc.i8 0x1
+ IL_9445: add
+ IL_9446: stloc V_12
+ IL_944a: ldloc V_12
+ IL_944e: ldc.i8 0x0
+ IL_9457: blt IL_9438
+
+ IL_945c: ldc.i8 0x0
+ IL_9465: stloc V_12
+ IL_9469: ldloc V_12
+ IL_946d: ldc.i8 0x1
+ IL_9476: add
+ IL_9477: stloc V_12
+ IL_947b: ldloc V_12
+ IL_947f: ldc.i8 0x2
+ IL_9488: blt IL_9469
+
+ IL_948d: br IL_9492
+
+ IL_9492: ldc.i8 0x0
+ IL_949b: stloc V_12
+ IL_949f: ldloc V_12
+ IL_94a3: ldc.i8 0x1
+ IL_94ac: add
+ IL_94ad: stloc V_12
+ IL_94b1: ldloc V_12
+ IL_94b5: ldc.i8 0x2
+ IL_94be: blt IL_949f
+
+ IL_94c3: ldloc V_18
+ IL_94c7: ldloc V_41
+ IL_94cb: add
+ IL_94cc: ldc.i8 0x9
+ IL_94d5: add
+ IL_94d6: stloc V_18
+ IL_94da: br IL_9553
+
+ IL_94df: ldc.i8 0x0
+ IL_94e8: stloc V_12
+ IL_94ec: ldloc V_12
+ IL_94f0: ldc.i8 0x1
+ IL_94f9: add
+ IL_94fa: stloc V_12
+ IL_94fe: ldloc V_12
+ IL_9502: ldc.i8 0x0
+ IL_950b: blt IL_94ec
+
+ IL_9510: br IL_9515
+
+ IL_9515: ldc.i8 0x0
+ IL_951e: stloc V_12
+ IL_9522: ldloc V_12
+ IL_9526: ldc.i8 0x1
+ IL_952f: add
+ IL_9530: stloc V_12
+ IL_9534: ldloc V_12
+ IL_9538: ldc.i8 0x0
+ IL_9541: blt IL_9522
+
+ IL_9546: ldloc V_15
+ IL_954a: ldloc V_29
+ IL_954e: add
+ IL_954f: stloc V_15
+ IL_9553: ldc.i8 0x0
+ IL_955c: stloc V_11
+ IL_9560: ldloc V_15
+ IL_9564: ldloc V_3
+ IL_9568: add
+ IL_9569: ldc.i8 0x5
+ IL_9572: add
+ IL_9573: stloc V_15
+ IL_9577: ldloc V_11
+ IL_957b: ldc.i8 0x1
+ IL_9584: add
+ IL_9585: stloc V_11
+ IL_9589: ldloc V_11
+ IL_958d: ldc.i8 0x1
+ IL_9596: blt IL_9560
+
+ IL_959b: ldloc V_46
+ IL_959f: ldc.i8 0x6
+ IL_95a8: add
+ IL_95a9: stloc V_19
+ IL_95ad: ldloc V_10
+ IL_95b1: ldc.i8 0x1
+ IL_95ba: add
+ IL_95bb: stloc V_10
+ IL_95bf: ldloc V_10
+ IL_95c3: ldc.i8 0x1
+ IL_95cc: blt IL_9426
+
+ IL_95d1: br IL_967e
+
+ IL_95d6: ldc.i8 0x0
+ IL_95df: stloc V_11
+ IL_95e3: ldc.i8 0x0
+ IL_95ec: stloc V_12
+ IL_95f0: ldloc V_12
+ IL_95f4: ldc.i8 0x1
+ IL_95fd: add
+ IL_95fe: stloc V_12
+ IL_9602: ldloc V_12
+ IL_9606: ldc.i8 0x1
+ IL_960f: blt IL_95f0
+
+ IL_9614: ldc.i8 0x0
+ IL_961d: stloc V_12
+ IL_9621: ldloc V_12
+ IL_9625: ldc.i8 0x1
+ IL_962e: add
+ IL_962f: stloc V_12
+ IL_9633: ldloc V_12
+ IL_9637: ldc.i8 0x1
+ IL_9640: blt IL_9621
+
+ IL_9645: ldc.i8 0x9
+ IL_964e: stloc V_26
+ IL_9652: ldloc V_11
+ IL_9656: ldc.i8 0x1
+ IL_965f: add
+ IL_9660: stloc V_11
+ IL_9664: ldloc V_11
+ IL_9668: ldc.i8 0x2
+ IL_9671: blt IL_95e3
+
+ IL_9676: ldloc V_10
+ IL_967a: stloc V_29
+ IL_967e: ldloc V_38
+ IL_9682: ldloc V_3
+ IL_9686: add
+ IL_9687: stloc V_38
+ IL_968b: ldc.i8 0x0
+ IL_9694: stloc V_9
+ IL_9698: br IL_97ea
+
+ IL_969d: br IL_96b9
+
+ IL_96a2: ldloc V_18
+ IL_96a6: ldloc V_29
+ IL_96aa: add
+ IL_96ab: ldc.i8 0x9
+ IL_96b4: add
+ IL_96b5: stloc V_18
+ IL_96b9: br IL_96fc
+
+ IL_96be: br IL_96c3
+
+ IL_96c3: ldc.i8 0x0
+ IL_96cc: stloc V_12
+ IL_96d0: ldloc V_12
+ IL_96d4: ldc.i8 0x1
+ IL_96dd: add
+ IL_96de: stloc V_12
+ IL_96e2: ldloc V_12
+ IL_96e6: ldc.i8 0x1
+ IL_96ef: blt IL_96d0
+
+ IL_96f4: ldloc V_36
+ IL_96f8: stloc V_31
+ IL_96fc: ldc.i8 0x0
+ IL_9705: stloc V_11
+ IL_9709: ldc.i8 0x0
+ IL_9712: stloc V_12
+ IL_9716: ldloc V_12
+ IL_971a: ldc.i8 0x1
+ IL_9723: add
+ IL_9724: stloc V_12
+ IL_9728: ldloc V_12
+ IL_972c: ldc.i8 0x0
+ IL_9735: blt IL_9716
+
+ IL_973a: nop
+ IL_973b: ldloc V_11
+ IL_973f: ldc.i8 0x1
+ IL_9748: add
+ IL_9749: stloc V_11
+ IL_974d: ldloc V_11
+ IL_9751: ldc.i8 0x2
+ IL_975a: blt IL_9709
+
+ IL_975f: ldc.i8 0x0
+ IL_9768: stloc V_11
+ IL_976c: ldc.i8 0x0
+ IL_9775: stloc V_12
+ IL_9779: ldloc V_12
+ IL_977d: ldc.i8 0x1
+ IL_9786: add
+ IL_9787: stloc V_12
+ IL_978b: ldloc V_12
+ IL_978f: ldc.i8 0x1
+ IL_9798: blt IL_9779
+
+ IL_979d: br IL_97a2
+
+ IL_97a2: ldloc V_37
+ IL_97a6: ldloc V_29
+ IL_97aa: add
+ IL_97ab: stloc V_37
+ IL_97af: ldloc V_11
+ IL_97b3: ldc.i8 0x1
+ IL_97bc: add
+ IL_97bd: stloc V_11
+ IL_97c1: ldloc V_11
+ IL_97c5: ldc.i8 0x0
+ IL_97ce: blt IL_976c
+
+ IL_97d3: ldloc V_11
+ IL_97d7: ldloc V_26
+ IL_97db: add
+ IL_97dc: ldc.i8 0x2
+ IL_97e5: add
+ IL_97e6: stloc V_11
+ IL_97ea: ldc.i8 0x0
+ IL_97f3: stloc V_10
+ IL_97f7: ldc.i8 0x0
+ IL_9800: stloc V_11
+ IL_9804: nop
+ IL_9805: ldloc V_11
+ IL_9809: ldc.i8 0x1
+ IL_9812: add
+ IL_9813: stloc V_11
+ IL_9817: ldloc V_11
+ IL_981b: ldc.i8 0x2
+ IL_9824: blt IL_9804
+
+ IL_9829: br IL_9898
+
+ IL_982e: ldc.i8 0x0
+ IL_9837: stloc V_12
+ IL_983b: ldloc V_12
+ IL_983f: ldc.i8 0x1
+ IL_9848: add
+ IL_9849: stloc V_12
+ IL_984d: ldloc V_12
+ IL_9851: ldc.i8 0x1
+ IL_985a: blt IL_983b
+
+ IL_985f: ldc.i8 0x0
+ IL_9868: stloc V_12
+ IL_986c: ldloc V_12
+ IL_9870: ldc.i8 0x1
+ IL_9879: add
+ IL_987a: stloc V_12
+ IL_987e: ldloc V_12
+ IL_9882: ldc.i8 0x1
+ IL_988b: blt IL_986c
+
+ IL_9890: ldloc V_20
+ IL_9894: stloc V_19
+ IL_9898: ldc.i8 0x0
+ IL_98a1: stloc V_11
+ IL_98a5: ldc.i8 0x0
+ IL_98ae: stloc V_12
+ IL_98b2: ldloc V_12
+ IL_98b6: ldc.i8 0x1
+ IL_98bf: add
+ IL_98c0: stloc V_12
+ IL_98c4: ldloc V_12
+ IL_98c8: ldc.i8 0x2
+ IL_98d1: blt IL_98b2
+
+ IL_98d6: ldc.i8 0x0
+ IL_98df: stloc V_12
+ IL_98e3: ldloc V_12
+ IL_98e7: ldc.i8 0x1
+ IL_98f0: add
+ IL_98f1: stloc V_12
+ IL_98f5: ldloc V_12
+ IL_98f9: ldc.i8 0x2
+ IL_9902: blt IL_98e3
+
+ IL_9907: ldloc V_44
+ IL_990b: stloc V_27
+ IL_990f: ldloc V_11
+ IL_9913: ldc.i8 0x1
+ IL_991c: add
+ IL_991d: stloc V_11
+ IL_9921: ldloc V_11
+ IL_9925: ldc.i8 0x1
+ IL_992e: blt IL_98a5
+
+ IL_9933: ldloc V_1
+ IL_9937: stloc V_15
+ IL_993b: ldloc V_10
+ IL_993f: ldc.i8 0x1
+ IL_9948: add
+ IL_9949: stloc V_10
+ IL_994d: ldloc V_10
+ IL_9951: ldc.i8 0x0
+ IL_995a: blt IL_97f7
+
+ IL_995f: nop
+ IL_9960: ldloc V_9
+ IL_9964: ldc.i8 0x1
+ IL_996d: add
+ IL_996e: stloc V_9
+ IL_9972: ldloc V_9
+ IL_9976: ldc.i8 0x0
+ IL_997f: blt IL_9698
+
+ IL_9984: ldloc V_43
+ IL_9988: ldloc V_48
+ IL_998c: add
+ IL_998d: stloc V_43
+ IL_9991: br IL_999e
+
+ IL_9996: ldloc V_34
+ IL_999a: stloc V_36
+ IL_999e: ldloc V_23
+ IL_99a2: stloc V_17
+ IL_99a6: ldloc V_7
+ IL_99aa: ldc.i8 0x1
+ IL_99b3: add
+ IL_99b4: stloc V_7
+ IL_99b8: ldloc V_7
+ IL_99bc: ldc.i8 0x0
+ IL_99c5: blt IL_8b03
+
+ IL_99ca: ldc.i8 0x0
+ IL_99d3: stloc V_7
+ IL_99d7: ldloc V_48
+ IL_99db: ldc.i8 0x7
+ IL_99e4: add
+ IL_99e5: stloc V_43
+ IL_99e9: ldloc V_7
+ IL_99ed: ldc.i8 0x1
+ IL_99f6: add
+ IL_99f7: stloc V_7
+ IL_99fb: ldloc V_7
+ IL_99ff: ldc.i8 0x1
+ IL_9a08: blt IL_99d7
+
+ IL_9a0d: ldc.i8 0x0
+ IL_9a16: stloc V_7
+ IL_9a1a: br IL_9f1d
+
+ IL_9a1f: ldc.i8 0x0
+ IL_9a28: stloc V_9
+ IL_9a2c: ldc.i8 0x0
+ IL_9a35: stloc V_10
+ IL_9a39: nop
+ IL_9a3a: ldloc V_10
+ IL_9a3e: ldc.i8 0x1
+ IL_9a47: add
+ IL_9a48: stloc V_10
+ IL_9a4c: ldloc V_10
+ IL_9a50: ldc.i8 0x2
+ IL_9a59: blt IL_9a39
+
+ IL_9a5e: ldc.i8 0x0
+ IL_9a67: stloc V_10
+ IL_9a6b: ldc.i8 0x0
+ IL_9a74: stloc V_11
+ IL_9a78: br IL_9a7d
+
+ IL_9a7d: ldc.i8 0x0
+ IL_9a86: stloc V_12
+ IL_9a8a: ldloc V_12
+ IL_9a8e: ldc.i8 0x1
+ IL_9a97: add
+ IL_9a98: stloc V_12
+ IL_9a9c: ldloc V_12
+ IL_9aa0: ldc.i8 0x2
+ IL_9aa9: blt IL_9a8a
+
+ IL_9aae: ldloc V_25
+ IL_9ab2: ldloc V_18
+ IL_9ab6: add
+ IL_9ab7: stloc V_25
+ IL_9abb: ldloc V_11
+ IL_9abf: ldc.i8 0x1
+ IL_9ac8: add
+ IL_9ac9: stloc V_11
+ IL_9acd: ldloc V_11
+ IL_9ad1: ldc.i8 0x1
+ IL_9ada: blt IL_9a78
+
+ IL_9adf: br IL_9b53
+
+ IL_9ae4: ldc.i8 0x0
+ IL_9aed: stloc V_12
+ IL_9af1: ldloc V_12
+ IL_9af5: ldc.i8 0x1
+ IL_9afe: add
+ IL_9aff: stloc V_12
+ IL_9b03: ldloc V_12
+ IL_9b07: ldc.i8 0x2
+ IL_9b10: blt IL_9af1
+
+ IL_9b15: ldc.i8 0x0
+ IL_9b1e: stloc V_12
+ IL_9b22: ldloc V_12
+ IL_9b26: ldc.i8 0x1
+ IL_9b2f: add
+ IL_9b30: stloc V_12
+ IL_9b34: ldloc V_12
+ IL_9b38: ldc.i8 0x0
+ IL_9b41: blt IL_9b22
+
+ IL_9b46: ldloc V_24
+ IL_9b4a: ldloc V_10
+ IL_9b4e: add
+ IL_9b4f: stloc V_44
+ IL_9b53: br IL_9b6a
+
+ IL_9b58: br IL_9b5d
+
+ IL_9b5d: ldc.i8 0x3
+ IL_9b66: stloc V_27
+ IL_9b6a: ldloc V_9
+ IL_9b6e: stloc V_48
+ IL_9b72: ldloc V_10
+ IL_9b76: ldc.i8 0x1
+ IL_9b7f: add
+ IL_9b80: stloc V_10
+ IL_9b84: ldloc V_10
+ IL_9b88: ldc.i8 0x2
+ IL_9b91: blt IL_9a6b
+
+ IL_9b96: nop
+ IL_9b97: ldloc V_9
+ IL_9b9b: ldc.i8 0x1
+ IL_9ba4: add
+ IL_9ba5: stloc V_9
+ IL_9ba9: ldloc V_9
+ IL_9bad: ldc.i8 0x2
+ IL_9bb6: blt IL_9a2c
+
+ IL_9bbb: br IL_9bd2
+
+ IL_9bc0: ldloc V_39
+ IL_9bc4: ldc.i8 0x6
+ IL_9bcd: add
+ IL_9bce: stloc V_41
+ IL_9bd2: br IL_9be4
+
+ IL_9bd7: ldc.i8 0x6
+ IL_9be0: stloc V_36
+ IL_9be4: ldc.i8 0x0
+ IL_9bed: stloc V_9
+ IL_9bf1: ldc.i8 0x0
+ IL_9bfa: stloc V_10
+ IL_9bfe: ldc.i8 0x0
+ IL_9c07: stloc V_11
+ IL_9c0b: br IL_9c10
+
+ IL_9c10: ldc.i8 0x0
+ IL_9c19: stloc V_12
+ IL_9c1d: ldloc V_12
+ IL_9c21: ldc.i8 0x1
+ IL_9c2a: add
+ IL_9c2b: stloc V_12
+ IL_9c2f: ldloc V_12
+ IL_9c33: ldc.i8 0x1
+ IL_9c3c: blt IL_9c1d
+
+ IL_9c41: ldloc V_26
+ IL_9c45: ldc.i8 0x3
+ IL_9c4e: add
+ IL_9c4f: stloc V_17
+ IL_9c53: ldloc V_11
+ IL_9c57: ldc.i8 0x1
+ IL_9c60: add
+ IL_9c61: stloc V_11
+ IL_9c65: ldloc V_11
+ IL_9c69: ldc.i8 0x1
+ IL_9c72: blt IL_9c0b
+
+ IL_9c77: ldc.i8 0x0
+ IL_9c80: stloc V_11
+ IL_9c84: ldloc V_38
+ IL_9c88: ldloc V_44
+ IL_9c8c: add
+ IL_9c8d: stloc V_38
+ IL_9c91: ldloc V_11
+ IL_9c95: ldc.i8 0x1
+ IL_9c9e: add
+ IL_9c9f: stloc V_11
+ IL_9ca3: ldloc V_11
+ IL_9ca7: ldc.i8 0x1
+ IL_9cb0: blt IL_9c84
+
+ IL_9cb5: br IL_9cfd
+
+ IL_9cba: ldc.i8 0x0
+ IL_9cc3: stloc V_12
+ IL_9cc7: ldloc V_12
+ IL_9ccb: ldc.i8 0x1
+ IL_9cd4: add
+ IL_9cd5: stloc V_12
+ IL_9cd9: ldloc V_12
+ IL_9cdd: ldc.i8 0x2
+ IL_9ce6: blt IL_9cc7
+
+ IL_9ceb: br IL_9cf0
+
+ IL_9cf0: ldloc V_37
+ IL_9cf4: ldloc V_39
+ IL_9cf8: add
+ IL_9cf9: stloc V_37
+ IL_9cfd: ldc.i8 0x3
+ IL_9d06: stloc V_35
+ IL_9d0a: ldloc V_10
+ IL_9d0e: ldc.i8 0x1
+ IL_9d17: add
+ IL_9d18: stloc V_10
+ IL_9d1c: ldloc V_10
+ IL_9d20: ldc.i8 0x1
+ IL_9d29: blt IL_9bfe
+
+ IL_9d2e: ldc.i8 0x0
+ IL_9d37: stloc V_10
+ IL_9d3b: br IL_9d4d
+
+ IL_9d40: ldc.i8 0x5
+ IL_9d49: stloc V_30
+ IL_9d4d: ldloc V_12
+ IL_9d51: stloc V_16
+ IL_9d55: ldloc V_10
+ IL_9d59: ldc.i8 0x1
+ IL_9d62: add
+ IL_9d63: stloc V_10
+ IL_9d67: ldloc V_10
+ IL_9d6b: ldc.i8 0x2
+ IL_9d74: blt IL_9d3b
+
+ IL_9d79: br IL_9edf
+
+ IL_9d7e: ldc.i8 0x0
+ IL_9d87: stloc V_11
+ IL_9d8b: ldc.i8 0x0
+ IL_9d94: stloc V_12
+ IL_9d98: ldloc V_12
+ IL_9d9c: ldc.i8 0x1
+ IL_9da5: add
+ IL_9da6: stloc V_12
+ IL_9daa: ldloc V_12
+ IL_9dae: ldc.i8 0x2
+ IL_9db7: blt IL_9d98
+
+ IL_9dbc: ldc.i8 0x0
+ IL_9dc5: stloc V_12
+ IL_9dc9: ldloc V_12
+ IL_9dcd: ldc.i8 0x1
+ IL_9dd6: add
+ IL_9dd7: stloc V_12
+ IL_9ddb: ldloc V_12
+ IL_9ddf: ldc.i8 0x0
+ IL_9de8: blt IL_9dc9
+
+ IL_9ded: ldc.i8 0x0
+ IL_9df6: stloc V_12
+ IL_9dfa: ldloc V_12
+ IL_9dfe: ldc.i8 0x1
+ IL_9e07: add
+ IL_9e08: stloc V_12
+ IL_9e0c: ldloc V_12
+ IL_9e10: ldc.i8 0x2
+ IL_9e19: blt IL_9dfa
+
+ IL_9e1e: br IL_9e23
+
+ IL_9e23: ldloc V_17
+ IL_9e27: ldloc V_20
+ IL_9e2b: add
+ IL_9e2c: stloc V_36
+ IL_9e30: ldloc V_11
+ IL_9e34: ldc.i8 0x1
+ IL_9e3d: add
+ IL_9e3e: stloc V_11
+ IL_9e42: ldloc V_11
+ IL_9e46: ldc.i8 0x0
+ IL_9e4f: blt IL_9d8b
+
+ IL_9e54: br IL_9ec8
+
+ IL_9e59: ldc.i8 0x0
+ IL_9e62: stloc V_12
+ IL_9e66: ldloc V_12
+ IL_9e6a: ldc.i8 0x1
+ IL_9e73: add
+ IL_9e74: stloc V_12
+ IL_9e78: ldloc V_12
+ IL_9e7c: ldc.i8 0x1
+ IL_9e85: blt IL_9e66
+
+ IL_9e8a: ldc.i8 0x0
+ IL_9e93: stloc V_12
+ IL_9e97: ldloc V_12
+ IL_9e9b: ldc.i8 0x1
+ IL_9ea4: add
+ IL_9ea5: stloc V_12
+ IL_9ea9: ldloc V_12
+ IL_9ead: ldc.i8 0x1
+ IL_9eb6: blt IL_9e97
+
+ IL_9ebb: ldc.i8 0x8
+ IL_9ec4: stloc V_25
+ IL_9ec8: ldloc V_27
+ IL_9ecc: ldloc V_22
+ IL_9ed0: add
+ IL_9ed1: ldc.i8 0x1
+ IL_9eda: add
+ IL_9edb: stloc V_27
+ IL_9edf: ldc.i8 0x7
+ IL_9ee8: stloc V_43
+ IL_9eec: ldloc V_9
+ IL_9ef0: ldc.i8 0x1
+ IL_9ef9: add
+ IL_9efa: stloc V_9
+ IL_9efe: ldloc V_9
+ IL_9f02: ldc.i8 0x0
+ IL_9f0b: blt IL_9bf1
+
+ IL_9f10: ldloc V_41
+ IL_9f14: ldloc V_41
+ IL_9f18: add
+ IL_9f19: stloc V_30
+ IL_9f1d: ldc.i8 0x0
+ IL_9f26: stloc V_8
+ IL_9f2a: br IL_9f3c
+
+ IL_9f2f: ldc.i8 0x9
+ IL_9f38: stloc V_16
+ IL_9f3c: br IL_a41d
+
+ IL_9f41: ldc.i8 0x0
+ IL_9f4a: stloc V_10
+ IL_9f4e: ldc.i8 0x0
+ IL_9f57: stloc V_11
+ IL_9f5b: br IL_9f60
+
+ IL_9f60: ldc.i8 0x0
+ IL_9f69: stloc V_12
+ IL_9f6d: ldloc V_12
+ IL_9f71: ldc.i8 0x1
+ IL_9f7a: add
+ IL_9f7b: stloc V_12
+ IL_9f7f: ldloc V_12
+ IL_9f83: ldc.i8 0x1
+ IL_9f8c: blt IL_9f6d
+
+ IL_9f91: ldc.i8 0x0
+ IL_9f9a: stloc V_12
+ IL_9f9e: ldloc V_12
+ IL_9fa2: ldc.i8 0x1
+ IL_9fab: add
+ IL_9fac: stloc V_12
+ IL_9fb0: ldloc V_12
+ IL_9fb4: ldc.i8 0x0
+ IL_9fbd: blt IL_9f9e
+
+ IL_9fc2: ldloc V_28
+ IL_9fc6: ldc.i8 0x4
+ IL_9fcf: add
+ IL_9fd0: stloc V_23
+ IL_9fd4: ldloc V_11
+ IL_9fd8: ldc.i8 0x1
+ IL_9fe1: add
+ IL_9fe2: stloc V_11
+ IL_9fe6: ldloc V_11
+ IL_9fea: ldc.i8 0x1
+ IL_9ff3: blt IL_9f5b
+
+ IL_9ff8: ldc.i8 0x0
+ IL_a001: stloc V_11
+ IL_a005: br IL_a00a
+
+ IL_a00a: ldc.i8 0x0
+ IL_a013: stloc V_12
+ IL_a017: ldloc V_12
+ IL_a01b: ldc.i8 0x1
+ IL_a024: add
+ IL_a025: stloc V_12
+ IL_a029: ldloc V_12
+ IL_a02d: ldc.i8 0x2
+ IL_a036: blt IL_a017
+
+ IL_a03b: ldc.i8 0x0
+ IL_a044: stloc V_12
+ IL_a048: ldloc V_12
+ IL_a04c: ldc.i8 0x1
+ IL_a055: add
+ IL_a056: stloc V_12
+ IL_a05a: ldloc V_12
+ IL_a05e: ldc.i8 0x0
+ IL_a067: blt IL_a048
+
+ IL_a06c: ldloc V_17
+ IL_a070: ldloc V_12
+ IL_a074: add
+ IL_a075: stloc V_17
+ IL_a079: ldloc V_11
+ IL_a07d: ldc.i8 0x1
+ IL_a086: add
+ IL_a087: stloc V_11
+ IL_a08b: ldloc V_11
+ IL_a08f: ldc.i8 0x0
+ IL_a098: blt IL_a005
+
+ IL_a09d: ldc.i8 0x0
+ IL_a0a6: stloc V_11
+ IL_a0aa: ldc.i8 0x0
+ IL_a0b3: stloc V_12
+ IL_a0b7: ldloc V_12
+ IL_a0bb: ldc.i8 0x1
+ IL_a0c4: add
+ IL_a0c5: stloc V_12
+ IL_a0c9: ldloc V_12
+ IL_a0cd: ldc.i8 0x0
+ IL_a0d6: blt IL_a0b7
+
+ IL_a0db: ldloc V_8
+ IL_a0df: stloc V_21
+ IL_a0e3: ldloc V_11
+ IL_a0e7: ldc.i8 0x1
+ IL_a0f0: add
+ IL_a0f1: stloc V_11
+ IL_a0f5: ldloc V_11
+ IL_a0f9: ldc.i8 0x2
+ IL_a102: blt IL_a0aa
+
+ IL_a107: nop
+ IL_a108: ldloc V_10
+ IL_a10c: ldc.i8 0x1
+ IL_a115: add
+ IL_a116: stloc V_10
+ IL_a11a: ldloc V_10
+ IL_a11e: ldc.i8 0x0
+ IL_a127: blt IL_9f4e
+
+ IL_a12c: ldc.i8 0x0
+ IL_a135: stloc V_10
+ IL_a139: ldc.i8 0x0
+ IL_a142: stloc V_11
+ IL_a146: ldc.i8 0x0
+ IL_a14f: stloc V_12
+ IL_a153: ldloc V_12
+ IL_a157: ldc.i8 0x1
+ IL_a160: add
+ IL_a161: stloc V_12
+ IL_a165: ldloc V_12
+ IL_a169: ldc.i8 0x0
+ IL_a172: blt IL_a153
+
+ IL_a177: ldloc V_42
+ IL_a17b: ldloc V_30
+ IL_a17f: add
+ IL_a180: ldc.i8 0x7
+ IL_a189: add
+ IL_a18a: stloc V_42
+ IL_a18e: ldloc V_11
+ IL_a192: ldc.i8 0x1
+ IL_a19b: add
+ IL_a19c: stloc V_11
+ IL_a1a0: ldloc V_11
+ IL_a1a4: ldc.i8 0x0
+ IL_a1ad: blt IL_a146
+
+ IL_a1b2: ldc.i8 0x0
+ IL_a1bb: stloc V_11
+ IL_a1bf: ldloc V_10
+ IL_a1c3: ldloc V_13
+ IL_a1c7: add
+ IL_a1c8: stloc V_15
+ IL_a1cc: ldloc V_11
+ IL_a1d0: ldc.i8 0x1
+ IL_a1d9: add
+ IL_a1da: stloc V_11
+ IL_a1de: ldloc V_11
+ IL_a1e2: ldc.i8 0x0
+ IL_a1eb: blt IL_a1bf
+
+ IL_a1f0: ldloc V_45
+ IL_a1f4: stloc V_41
+ IL_a1f8: ldloc V_10
+ IL_a1fc: ldc.i8 0x1
+ IL_a205: add
+ IL_a206: stloc V_10
+ IL_a20a: ldloc V_10
+ IL_a20e: ldc.i8 0x1
+ IL_a217: blt IL_a139
+
+ IL_a21c: br IL_a40b
+
+ IL_a221: ldc.i8 0x0
+ IL_a22a: stloc V_11
+ IL_a22e: br IL_a233
+
+ IL_a233: br IL_a238
+
+ IL_a238: ldc.i8 0x0
+ IL_a241: stloc V_12
+ IL_a245: ldloc V_12
+ IL_a249: ldc.i8 0x1
+ IL_a252: add
+ IL_a253: stloc V_12
+ IL_a257: ldloc V_12
+ IL_a25b: ldc.i8 0x0
+ IL_a264: blt IL_a245
+
+ IL_a269: br IL_a26e
+
+ IL_a26e: ldc.i8 0x3
+ IL_a277: stloc V_18
+ IL_a27b: ldloc V_11
+ IL_a27f: ldc.i8 0x1
+ IL_a288: add
+ IL_a289: stloc V_11
+ IL_a28d: ldloc V_11
+ IL_a291: ldc.i8 0x1
+ IL_a29a: blt IL_a22e
+
+ IL_a29f: ldc.i8 0x0
+ IL_a2a8: stloc V_11
+ IL_a2ac: ldc.i8 0x0
+ IL_a2b5: stloc V_12
+ IL_a2b9: ldloc V_12
+ IL_a2bd: ldc.i8 0x1
+ IL_a2c6: add
+ IL_a2c7: stloc V_12
+ IL_a2cb: ldloc V_12
+ IL_a2cf: ldc.i8 0x2
+ IL_a2d8: blt IL_a2b9
+
+ IL_a2dd: ldc.i8 0x0
+ IL_a2e6: stloc V_12
+ IL_a2ea: ldloc V_12
+ IL_a2ee: ldc.i8 0x1
+ IL_a2f7: add
+ IL_a2f8: stloc V_12
+ IL_a2fc: ldloc V_12
+ IL_a300: ldc.i8 0x1
+ IL_a309: blt IL_a2ea
+
+ IL_a30e: ldc.i8 0x0
+ IL_a317: stloc V_12
+ IL_a31b: ldloc V_12
+ IL_a31f: ldc.i8 0x1
+ IL_a328: add
+ IL_a329: stloc V_12
+ IL_a32d: ldloc V_12
+ IL_a331: ldc.i8 0x1
+ IL_a33a: blt IL_a31b
+
+ IL_a33f: ldloc V_40
+ IL_a343: ldloc V_42
+ IL_a347: add
+ IL_a348: ldc.i8 0x0
+ IL_a351: add
+ IL_a352: stloc V_40
+ IL_a356: ldloc V_11
+ IL_a35a: ldc.i8 0x1
+ IL_a363: add
+ IL_a364: stloc V_11
+ IL_a368: ldloc V_11
+ IL_a36c: ldc.i8 0x2
+ IL_a375: blt IL_a2ac
+
+ IL_a37a: br IL_a3c7
+
+ IL_a37f: ldc.i8 0x0
+ IL_a388: stloc V_12
+ IL_a38c: ldloc V_12
+ IL_a390: ldc.i8 0x1
+ IL_a399: add
+ IL_a39a: stloc V_12
+ IL_a39e: ldloc V_12
+ IL_a3a2: ldc.i8 0x2
+ IL_a3ab: blt IL_a38c
+
+ IL_a3b0: ldloc V_21
+ IL_a3b4: ldloc V_16
+ IL_a3b8: add
+ IL_a3b9: ldc.i8 0x4
+ IL_a3c2: add
+ IL_a3c3: stloc V_21
+ IL_a3c7: ldc.i8 0x0
+ IL_a3d0: stloc V_11
+ IL_a3d4: ldloc V_18
+ IL_a3d8: ldc.i8 0x7
+ IL_a3e1: add
+ IL_a3e2: stloc V_35
+ IL_a3e6: ldloc V_11
+ IL_a3ea: ldc.i8 0x1
+ IL_a3f3: add
+ IL_a3f4: stloc V_11
+ IL_a3f8: ldloc V_11
+ IL_a3fc: ldc.i8 0x1
+ IL_a405: blt IL_a3d4
+
+ IL_a40a: nop
+ IL_a40b: ldloc V_11
+ IL_a40f: ldc.i8 0x2
+ IL_a418: add
+ IL_a419: stloc V_10
+ IL_a41d: ldloc V_46
+ IL_a421: ldloc V_21
+ IL_a425: add
+ IL_a426: stloc V_46
+ IL_a42a: ldloc V_8
+ IL_a42e: ldc.i8 0x1
+ IL_a437: add
+ IL_a438: stloc V_8
+ IL_a43c: ldloc V_8
+ IL_a440: ldc.i8 0x2
+ IL_a449: blt IL_9f2a
+
+ IL_a44e: ldc.i8 0x0
+ IL_a457: stloc V_8
+ IL_a45b: ldc.i8 0x0
+ IL_a464: stloc V_9
+ IL_a468: ldc.i8 0x0
+ IL_a471: stloc V_10
+ IL_a475: ldloc V_32
+ IL_a479: ldloc V_15
+ IL_a47d: add
+ IL_a47e: stloc V_32
+ IL_a482: ldloc V_10
+ IL_a486: ldc.i8 0x1
+ IL_a48f: add
+ IL_a490: stloc V_10
+ IL_a494: ldloc V_10
+ IL_a498: ldc.i8 0x2
+ IL_a4a1: blt IL_a475
+
+ IL_a4a6: ldc.i8 0x0
+ IL_a4af: stloc V_10
+ IL_a4b3: ldc.i8 0x0
+ IL_a4bc: stloc V_11
+ IL_a4c0: ldc.i8 0x0
+ IL_a4c9: stloc V_12
+ IL_a4cd: ldloc V_12
+ IL_a4d1: ldc.i8 0x1
+ IL_a4da: add
+ IL_a4db: stloc V_12
+ IL_a4df: ldloc V_12
+ IL_a4e3: ldc.i8 0x2
+ IL_a4ec: blt IL_a4cd
+
+ IL_a4f1: ldloc V_49
+ IL_a4f5: ldloc V_20
+ IL_a4f9: add
+ IL_a4fa: stloc V_49
+ IL_a4fe: ldloc V_11
+ IL_a502: ldc.i8 0x1
+ IL_a50b: add
+ IL_a50c: stloc V_11
+ IL_a510: ldloc V_11
+ IL_a514: ldc.i8 0x1
+ IL_a51d: blt IL_a4c0
+
+ IL_a522: ldloc V_19
+ IL_a526: stloc V_30
+ IL_a52a: ldloc V_10
+ IL_a52e: ldc.i8 0x1
+ IL_a537: add
+ IL_a538: stloc V_10
+ IL_a53c: ldloc V_10
+ IL_a540: ldc.i8 0x2
+ IL_a549: blt IL_a4b3
+
+ IL_a54e: br IL_a554
+
+ IL_a553: nop
+ IL_a554: ldc.i8 0x0
+ IL_a55d: stloc V_10
+ IL_a561: ldloc V_12
+ IL_a565: ldloc V_6
+ IL_a569: add
+ IL_a56a: stloc V_47
+ IL_a56e: ldloc V_10
+ IL_a572: ldc.i8 0x1
+ IL_a57b: add
+ IL_a57c: stloc V_10
+ IL_a580: ldloc V_10
+ IL_a584: ldc.i8 0x2
+ IL_a58d: blt IL_a561
+
+ IL_a592: ldloc V_28
+ IL_a596: ldloc V_41
+ IL_a59a: add
+ IL_a59b: stloc V_28
+ IL_a59f: ldloc V_9
+ IL_a5a3: ldc.i8 0x1
+ IL_a5ac: add
+ IL_a5ad: stloc V_9
+ IL_a5b1: ldloc V_9
+ IL_a5b5: ldc.i8 0x2
+ IL_a5be: blt IL_a468
+
+ IL_a5c3: ldc.i8 0x0
+ IL_a5cc: stloc V_9
+ IL_a5d0: ldc.i8 0x0
+ IL_a5d9: stloc V_10
+ IL_a5dd: br IL_a61b
+
+ IL_a5e2: ldc.i8 0x0
+ IL_a5eb: stloc V_12
+ IL_a5ef: ldloc V_12
+ IL_a5f3: ldc.i8 0x1
+ IL_a5fc: add
+ IL_a5fd: stloc V_12
+ IL_a601: ldloc V_12
+ IL_a605: ldc.i8 0x0
+ IL_a60e: blt IL_a5ef
+
+ IL_a613: ldloc V_39
+ IL_a617: stloc V_47
+ IL_a61b: ldc.i8 0x0
+ IL_a624: stloc V_11
+ IL_a628: ldc.i8 0x0
+ IL_a631: stloc V_12
+ IL_a635: ldloc V_12
+ IL_a639: ldc.i8 0x1
+ IL_a642: add
+ IL_a643: stloc V_12
+ IL_a647: ldloc V_12
+ IL_a64b: ldc.i8 0x2
+ IL_a654: blt IL_a635
+
+ IL_a659: ldc.i8 0x0
+ IL_a662: stloc V_12
+ IL_a666: ldloc V_12
+ IL_a66a: ldc.i8 0x1
+ IL_a673: add
+ IL_a674: stloc V_12
+ IL_a678: ldloc V_12
+ IL_a67c: ldc.i8 0x1
+ IL_a685: blt IL_a666
+
+ IL_a68a: ldloc V_28
+ IL_a68e: ldloc V_46
+ IL_a692: add
+ IL_a693: stloc V_28
+ IL_a697: ldloc V_11
+ IL_a69b: ldc.i8 0x1
+ IL_a6a4: add
+ IL_a6a5: stloc V_11
+ IL_a6a9: ldloc V_11
+ IL_a6ad: ldc.i8 0x0
+ IL_a6b6: blt IL_a628
+
+ IL_a6bb: br IL_a703
+
+ IL_a6c0: br IL_a6c5
+
+ IL_a6c5: ldc.i8 0x0
+ IL_a6ce: stloc V_12
+ IL_a6d2: ldloc V_12
+ IL_a6d6: ldc.i8 0x1
+ IL_a6df: add
+ IL_a6e0: stloc V_12
+ IL_a6e4: ldloc V_12
+ IL_a6e8: ldc.i8 0x1
+ IL_a6f1: blt IL_a6d2
+
+ IL_a6f6: ldloc V_35
+ IL_a6fa: ldloc V_29
+ IL_a6fe: add
+ IL_a6ff: stloc V_35
+ IL_a703: ldloc V_30
+ IL_a707: ldloc V_23
+ IL_a70b: add
+ IL_a70c: stloc V_15
+ IL_a710: ldloc V_10
+ IL_a714: ldc.i8 0x1
+ IL_a71d: add
+ IL_a71e: stloc V_10
+ IL_a722: ldloc V_10
+ IL_a726: ldc.i8 0x0
+ IL_a72f: blt IL_a5dd
+
+ IL_a734: ldc.i8 0x0
+ IL_a73d: stloc V_10
+ IL_a741: ldc.i8 0x0
+ IL_a74a: stloc V_11
+ IL_a74e: ldc.i8 0x0
+ IL_a757: stloc V_12
+ IL_a75b: ldloc V_12
+ IL_a75f: ldc.i8 0x1
+ IL_a768: add
+ IL_a769: stloc V_12
+ IL_a76d: ldloc V_12
+ IL_a771: ldc.i8 0x0
+ IL_a77a: blt IL_a75b
+
+ IL_a77f: ldc.i8 0x0
+ IL_a788: stloc V_12
+ IL_a78c: ldloc V_12
+ IL_a790: ldc.i8 0x1
+ IL_a799: add
+ IL_a79a: stloc V_12
+ IL_a79e: ldloc V_12
+ IL_a7a2: ldc.i8 0x2
+ IL_a7ab: blt IL_a78c
+
+ IL_a7b0: ldc.i8 0x0
+ IL_a7b9: stloc V_12
+ IL_a7bd: ldloc V_12
+ IL_a7c1: ldc.i8 0x1
+ IL_a7ca: add
+ IL_a7cb: stloc V_12
+ IL_a7cf: ldloc V_12
+ IL_a7d3: ldc.i8 0x0
+ IL_a7dc: blt IL_a7bd
+
+ IL_a7e1: ldc.i8 0x0
+ IL_a7ea: stloc V_12
+ IL_a7ee: ldloc V_12
+ IL_a7f2: ldc.i8 0x1
+ IL_a7fb: add
+ IL_a7fc: stloc V_12
+ IL_a800: ldloc V_12
+ IL_a804: ldc.i8 0x0
+ IL_a80d: blt IL_a7ee
+
+ IL_a812: ldloc V_17
+ IL_a816: ldloc V_27
+ IL_a81a: add
+ IL_a81b: stloc V_49
+ IL_a81f: ldloc V_11
+ IL_a823: ldc.i8 0x1
+ IL_a82c: add
+ IL_a82d: stloc V_11
+ IL_a831: ldloc V_11
+ IL_a835: ldc.i8 0x2
+ IL_a83e: blt IL_a74e
+
+ IL_a843: ldloc V_27
+ IL_a847: ldloc V_11
+ IL_a84b: add
+ IL_a84c: ldc.i8 0x3
+ IL_a855: add
+ IL_a856: stloc V_27
+ IL_a85a: ldloc V_10
+ IL_a85e: ldc.i8 0x1
+ IL_a867: add
+ IL_a868: stloc V_10
+ IL_a86c: ldloc V_10
+ IL_a870: ldc.i8 0x0
+ IL_a879: blt IL_a741
+
+ IL_a87e: ldc.i8 0x0
+ IL_a887: stloc V_10
+ IL_a88b: ldc.i8 0x0
+ IL_a894: stloc V_11
+ IL_a898: ldloc V_42
+ IL_a89c: stloc V_22
+ IL_a8a0: ldloc V_11
+ IL_a8a4: ldc.i8 0x1
+ IL_a8ad: add
+ IL_a8ae: stloc V_11
+ IL_a8b2: ldloc V_11
+ IL_a8b6: ldc.i8 0x0
+ IL_a8bf: blt IL_a898
+
+ IL_a8c4: ldloc V_27
+ IL_a8c8: ldloc V_8
+ IL_a8cc: add
+ IL_a8cd: stloc V_27
+ IL_a8d1: ldloc V_10
+ IL_a8d5: ldc.i8 0x1
+ IL_a8de: add
+ IL_a8df: stloc V_10
+ IL_a8e3: ldloc V_10
+ IL_a8e7: ldc.i8 0x0
+ IL_a8f0: blt IL_a88b
+
+ IL_a8f5: ldc.i8 0x0
+ IL_a8fe: stloc V_10
+ IL_a902: ldc.i8 0x0
+ IL_a90b: stloc V_11
+ IL_a90f: ldc.i8 0x1
+ IL_a918: stloc V_21
+ IL_a91c: ldloc V_11
+ IL_a920: ldc.i8 0x1
+ IL_a929: add
+ IL_a92a: stloc V_11
+ IL_a92e: ldloc V_11
+ IL_a932: ldc.i8 0x0
+ IL_a93b: blt IL_a90f
+
+ IL_a940: br IL_a98d
+
+ IL_a945: br IL_a94a
+
+ IL_a94a: ldc.i8 0x0
+ IL_a953: stloc V_12
+ IL_a957: ldloc V_12
+ IL_a95b: ldc.i8 0x1
+ IL_a964: add
+ IL_a965: stloc V_12
+ IL_a969: ldloc V_12
+ IL_a96d: ldc.i8 0x2
+ IL_a976: blt IL_a957
+
+ IL_a97b: br IL_a980
+
+ IL_a980: ldc.i8 0x3
+ IL_a989: stloc V_36
+ IL_a98d: ldc.i8 0x0
+ IL_a996: stloc V_11
+ IL_a99a: ldc.i8 0x0
+ IL_a9a3: stloc V_12
+ IL_a9a7: ldloc V_12
+ IL_a9ab: ldc.i8 0x1
+ IL_a9b4: add
+ IL_a9b5: stloc V_12
+ IL_a9b9: ldloc V_12
+ IL_a9bd: ldc.i8 0x0
+ IL_a9c6: blt IL_a9a7
+
+ IL_a9cb: br IL_a9d0
+
+ IL_a9d0: nop
+ IL_a9d1: ldloc V_11
+ IL_a9d5: ldc.i8 0x1
+ IL_a9de: add
+ IL_a9df: stloc V_11
+ IL_a9e3: ldloc V_11
+ IL_a9e7: ldc.i8 0x1
+ IL_a9f0: blt IL_a99a
+
+ IL_a9f5: ldloc V_20
+ IL_a9f9: ldloc V_22
+ IL_a9fd: add
+ IL_a9fe: stloc V_15
+ IL_aa02: ldloc V_10
+ IL_aa06: ldc.i8 0x1
+ IL_aa0f: add
+ IL_aa10: stloc V_10
+ IL_aa14: ldloc V_10
+ IL_aa18: ldc.i8 0x1
+ IL_aa21: blt IL_a902
+
+ IL_aa26: ldloc V_16
+ IL_aa2a: ldloc V_44
+ IL_aa2e: add
+ IL_aa2f: stloc V_24
+ IL_aa33: ldloc V_9
+ IL_aa37: ldc.i8 0x1
+ IL_aa40: add
+ IL_aa41: stloc V_9
+ IL_aa45: ldloc V_9
+ IL_aa49: ldc.i8 0x2
+ IL_aa52: blt IL_a5d0
+
+ IL_aa57: ldc.i8 0x0
+ IL_aa60: stloc V_9
+ IL_aa64: ldc.i8 0x0
+ IL_aa6d: stloc V_10
+ IL_aa71: ldc.i8 0x0
+ IL_aa7a: stloc V_11
+ IL_aa7e: ldc.i8 0x0
+ IL_aa87: stloc V_12
+ IL_aa8b: ldloc V_12
+ IL_aa8f: ldc.i8 0x1
+ IL_aa98: add
+ IL_aa99: stloc V_12
+ IL_aa9d: ldloc V_12
+ IL_aaa1: ldc.i8 0x0
+ IL_aaaa: blt IL_aa8b
+
+ IL_aaaf: ldc.i8 0x6
+ IL_aab8: stloc V_45
+ IL_aabc: ldloc V_11
+ IL_aac0: ldc.i8 0x1
+ IL_aac9: add
+ IL_aaca: stloc V_11
+ IL_aace: ldloc V_11
+ IL_aad2: ldc.i8 0x2
+ IL_aadb: blt IL_aa7e
+
+ IL_aae0: ldc.i8 0x0
+ IL_aae9: stloc V_11
+ IL_aaed: ldc.i8 0x0
+ IL_aaf6: stloc V_12
+ IL_aafa: ldloc V_12
+ IL_aafe: ldc.i8 0x1
+ IL_ab07: add
+ IL_ab08: stloc V_12
+ IL_ab0c: ldloc V_12
+ IL_ab10: ldc.i8 0x2
+ IL_ab19: blt IL_aafa
+
+ IL_ab1e: ldloc V_49
+ IL_ab22: ldloc V_27
+ IL_ab26: add
+ IL_ab27: stloc V_49
+ IL_ab2b: ldloc V_11
+ IL_ab2f: ldc.i8 0x1
+ IL_ab38: add
+ IL_ab39: stloc V_11
+ IL_ab3d: ldloc V_11
+ IL_ab41: ldc.i8 0x1
+ IL_ab4a: blt IL_aaed
+
+ IL_ab4f: ldloc V_30
+ IL_ab53: ldloc V_27
+ IL_ab57: add
+ IL_ab58: stloc V_40
+ IL_ab5c: ldloc V_10
+ IL_ab60: ldc.i8 0x1
+ IL_ab69: add
+ IL_ab6a: stloc V_10
+ IL_ab6e: ldloc V_10
+ IL_ab72: ldc.i8 0x2
+ IL_ab7b: blt IL_aa71
+
+ IL_ab80: ldc.i8 0x0
+ IL_ab89: stloc V_10
+ IL_ab8d: ldloc V_25
+ IL_ab91: ldloc V_42
+ IL_ab95: add
+ IL_ab96: ldc.i8 0x8
+ IL_ab9f: add
+ IL_aba0: stloc V_25
+ IL_aba4: ldloc V_10
+ IL_aba8: ldc.i8 0x1
+ IL_abb1: add
+ IL_abb2: stloc V_10
+ IL_abb6: ldloc V_10
+ IL_abba: ldc.i8 0x2
+ IL_abc3: blt IL_ab8d
+
+ IL_abc8: ldc.i8 0x0
+ IL_abd1: stloc V_10
+ IL_abd5: ldc.i8 0x0
+ IL_abde: stloc V_11
+ IL_abe2: br IL_abe7
+
+ IL_abe7: ldc.i8 0x0
+ IL_abf0: stloc V_12
+ IL_abf4: ldloc V_12
+ IL_abf8: ldc.i8 0x1
+ IL_ac01: add
+ IL_ac02: stloc V_12
+ IL_ac06: ldloc V_12
+ IL_ac0a: ldc.i8 0x2
+ IL_ac13: blt IL_abf4
+
+ IL_ac18: ldc.i8 0x0
+ IL_ac21: stloc V_12
+ IL_ac25: ldloc V_12
+ IL_ac29: ldc.i8 0x1
+ IL_ac32: add
+ IL_ac33: stloc V_12
+ IL_ac37: ldloc V_12
+ IL_ac3b: ldc.i8 0x0
+ IL_ac44: blt IL_ac25
+
+ IL_ac49: ldc.i8 0x0
+ IL_ac52: stloc V_12
+ IL_ac56: ldloc V_12
+ IL_ac5a: ldc.i8 0x1
+ IL_ac63: add
+ IL_ac64: stloc V_12
+ IL_ac68: ldloc V_12
+ IL_ac6c: ldc.i8 0x1
+ IL_ac75: blt IL_ac56
+
+ IL_ac7a: ldloc V_0
+ IL_ac7e: ldloc V_49
+ IL_ac82: add
+ IL_ac83: stloc V_27
+ IL_ac87: ldloc V_11
+ IL_ac8b: ldc.i8 0x1
+ IL_ac94: add
+ IL_ac95: stloc V_11
+ IL_ac99: ldloc V_11
+ IL_ac9d: ldc.i8 0x1
+ IL_aca6: blt IL_abe2
+
+ IL_acab: ldloc V_46
+ IL_acaf: ldloc V_22
+ IL_acb3: add
+ IL_acb4: stloc V_46
+ IL_acb8: ldloc V_10
+ IL_acbc: ldc.i8 0x1
+ IL_acc5: add
+ IL_acc6: stloc V_10
+ IL_acca: ldloc V_10
+ IL_acce: ldc.i8 0x2
+ IL_acd7: blt IL_abd5
+
+ IL_acdc: ldc.i8 0x0
+ IL_ace5: stloc V_10
+ IL_ace9: ldc.i8 0x0
+ IL_acf2: stloc V_11
+ IL_acf6: ldc.i8 0x0
+ IL_acff: stloc V_12
+ IL_ad03: ldloc V_12
+ IL_ad07: ldc.i8 0x1
+ IL_ad10: add
+ IL_ad11: stloc V_12
+ IL_ad15: ldloc V_12
+ IL_ad19: ldc.i8 0x2
+ IL_ad22: blt IL_ad03
+
+ IL_ad27: ldloc V_14
+ IL_ad2b: ldc.i8 0x3
+ IL_ad34: add
+ IL_ad35: stloc V_49
+ IL_ad39: ldloc V_11
+ IL_ad3d: ldc.i8 0x1
+ IL_ad46: add
+ IL_ad47: stloc V_11
+ IL_ad4b: ldloc V_11
+ IL_ad4f: ldc.i8 0x2
+ IL_ad58: blt IL_acf6
+
+ IL_ad5d: ldc.i8 0x0
+ IL_ad66: stloc V_11
+ IL_ad6a: ldc.i8 0x0
+ IL_ad73: stloc V_12
+ IL_ad77: ldloc V_12
+ IL_ad7b: ldc.i8 0x1
+ IL_ad84: add
+ IL_ad85: stloc V_12
+ IL_ad89: ldloc V_12
+ IL_ad8d: ldc.i8 0x1
+ IL_ad96: blt IL_ad77
+
+ IL_ad9b: ldc.i8 0x0
+ IL_ada4: stloc V_12
+ IL_ada8: ldloc V_12
+ IL_adac: ldc.i8 0x1
+ IL_adb5: add
+ IL_adb6: stloc V_12
+ IL_adba: ldloc V_12
+ IL_adbe: ldc.i8 0x2
+ IL_adc7: blt IL_ada8
+
+ IL_adcc: ldc.i8 0x0
+ IL_add5: stloc V_12
+ IL_add9: ldloc V_12
+ IL_addd: ldc.i8 0x1
+ IL_ade6: add
+ IL_ade7: stloc V_12
+ IL_adeb: ldloc V_12
+ IL_adef: ldc.i8 0x1
+ IL_adf8: blt IL_add9
+
+ IL_adfd: ldc.i8 0x0
+ IL_ae06: stloc V_12
+ IL_ae0a: ldloc V_12
+ IL_ae0e: ldc.i8 0x1
+ IL_ae17: add
+ IL_ae18: stloc V_12
+ IL_ae1c: ldloc V_12
+ IL_ae20: ldc.i8 0x0
+ IL_ae29: blt IL_ae0a
+
+ IL_ae2e: nop
+ IL_ae2f: ldloc V_11
+ IL_ae33: ldc.i8 0x1
+ IL_ae3c: add
+ IL_ae3d: stloc V_11
+ IL_ae41: ldloc V_11
+ IL_ae45: ldc.i8 0x0
+ IL_ae4e: blt IL_ad6a
+
+ IL_ae53: ldc.i8 0x0
+ IL_ae5c: stloc V_11
+ IL_ae60: ldc.i8 0x0
+ IL_ae69: stloc V_12
+ IL_ae6d: ldloc V_12
+ IL_ae71: ldc.i8 0x1
+ IL_ae7a: add
+ IL_ae7b: stloc V_12
+ IL_ae7f: ldloc V_12
+ IL_ae83: ldc.i8 0x1
+ IL_ae8c: blt IL_ae6d
+
+ IL_ae91: ldc.i8 0x0
+ IL_ae9a: stloc V_12
+ IL_ae9e: ldloc V_12
+ IL_aea2: ldc.i8 0x1
+ IL_aeab: add
+ IL_aeac: stloc V_12
+ IL_aeb0: ldloc V_12
+ IL_aeb4: ldc.i8 0x1
+ IL_aebd: blt IL_ae9e
+
+ IL_aec2: ldc.i8 0x0
+ IL_aecb: stloc V_12
+ IL_aecf: ldloc V_12
+ IL_aed3: ldc.i8 0x1
+ IL_aedc: add
+ IL_aedd: stloc V_12
+ IL_aee1: ldloc V_12
+ IL_aee5: ldc.i8 0x0
+ IL_aeee: blt IL_aecf
+
+ IL_aef3: br IL_aef8
+
+ IL_aef8: ldc.i8 0x7
+ IL_af01: stloc V_42
+ IL_af05: ldloc V_11
+ IL_af09: ldc.i8 0x1
+ IL_af12: add
+ IL_af13: stloc V_11
+ IL_af17: ldloc V_11
+ IL_af1b: ldc.i8 0x2
+ IL_af24: blt IL_ae60
+
+ IL_af29: ldloc V_27
+ IL_af2d: ldloc V_31
+ IL_af31: add
+ IL_af32: ldc.i8 0x1
+ IL_af3b: add
+ IL_af3c: stloc V_27
+ IL_af40: ldloc V_10
+ IL_af44: ldc.i8 0x1
+ IL_af4d: add
+ IL_af4e: stloc V_10
+ IL_af52: ldloc V_10
+ IL_af56: ldc.i8 0x1
+ IL_af5f: blt IL_ace9
+
+ IL_af64: ldloc V_28
+ IL_af68: ldc.i8 0x8
+ IL_af71: add
+ IL_af72: stloc V_45
+ IL_af76: ldloc V_9
+ IL_af7a: ldc.i8 0x1
+ IL_af83: add
+ IL_af84: stloc V_9
+ IL_af88: ldloc V_9
+ IL_af8c: ldc.i8 0x0
+ IL_af95: blt IL_aa64
+
+ IL_af9a: br IL_b38b
+
+ IL_af9f: ldc.i8 0x0
+ IL_afa8: stloc V_10
+ IL_afac: br IL_afef
+
+ IL_afb1: ldc.i8 0x0
+ IL_afba: stloc V_12
+ IL_afbe: ldloc V_12
+ IL_afc2: ldc.i8 0x1
+ IL_afcb: add
+ IL_afcc: stloc V_12
+ IL_afd0: ldloc V_12
+ IL_afd4: ldc.i8 0x2
+ IL_afdd: blt IL_afbe
+
+ IL_afe2: ldloc V_31
+ IL_afe6: ldloc V_37
+ IL_afea: add
+ IL_afeb: stloc V_34
+ IL_afef: br IL_b08d
+
+ IL_aff4: ldc.i8 0x0
+ IL_affd: stloc V_12
+ IL_b001: ldloc V_12
+ IL_b005: ldc.i8 0x1
+ IL_b00e: add
+ IL_b00f: stloc V_12
+ IL_b013: ldloc V_12
+ IL_b017: ldc.i8 0x0
+ IL_b020: blt IL_b001
+
+ IL_b025: ldc.i8 0x0
+ IL_b02e: stloc V_12
+ IL_b032: ldloc V_12
+ IL_b036: ldc.i8 0x1
+ IL_b03f: add
+ IL_b040: stloc V_12
+ IL_b044: ldloc V_12
+ IL_b048: ldc.i8 0x0
+ IL_b051: blt IL_b032
+
+ IL_b056: br IL_b05b
+
+ IL_b05b: ldc.i8 0x0
+ IL_b064: stloc V_12
+ IL_b068: ldloc V_12
+ IL_b06c: ldc.i8 0x1
+ IL_b075: add
+ IL_b076: stloc V_12
+ IL_b07a: ldloc V_12
+ IL_b07e: ldc.i8 0x0
+ IL_b087: blt IL_b068
+
+ IL_b08c: nop
+ IL_b08d: nop
+ IL_b08e: ldloc V_10
+ IL_b092: ldc.i8 0x1
+ IL_b09b: add
+ IL_b09c: stloc V_10
+ IL_b0a0: ldloc V_10
+ IL_b0a4: ldc.i8 0x1
+ IL_b0ad: blt IL_afac
+
+ IL_b0b2: ldc.i8 0x0
+ IL_b0bb: stloc V_10
+ IL_b0bf: ldc.i8 0x0
+ IL_b0c8: stloc V_11
+ IL_b0cc: ldc.i8 0x0
+ IL_b0d5: stloc V_12
+ IL_b0d9: ldloc V_12
+ IL_b0dd: ldc.i8 0x1
+ IL_b0e6: add
+ IL_b0e7: stloc V_12
+ IL_b0eb: ldloc V_12
+ IL_b0ef: ldc.i8 0x0
+ IL_b0f8: blt IL_b0d9
+
+ IL_b0fd: ldc.i8 0x0
+ IL_b106: stloc V_12
+ IL_b10a: ldloc V_12
+ IL_b10e: ldc.i8 0x1
+ IL_b117: add
+ IL_b118: stloc V_12
+ IL_b11c: ldloc V_12
+ IL_b120: ldc.i8 0x0
+ IL_b129: blt IL_b10a
+
+ IL_b12e: ldc.i8 0x0
+ IL_b137: stloc V_12
+ IL_b13b: ldloc V_12
+ IL_b13f: ldc.i8 0x1
+ IL_b148: add
+ IL_b149: stloc V_12
+ IL_b14d: ldloc V_12
+ IL_b151: ldc.i8 0x2
+ IL_b15a: blt IL_b13b
+
+ IL_b15f: ldc.i8 0x0
+ IL_b168: stloc V_46
+ IL_b16c: ldloc V_11
+ IL_b170: ldc.i8 0x1
+ IL_b179: add
+ IL_b17a: stloc V_11
+ IL_b17e: ldloc V_11
+ IL_b182: ldc.i8 0x0
+ IL_b18b: blt IL_b0cc
+
+ IL_b190: ldloc V_38
+ IL_b194: ldloc V_43
+ IL_b198: add
+ IL_b199: ldc.i8 0x7
+ IL_b1a2: add
+ IL_b1a3: stloc V_38
+ IL_b1a7: ldloc V_10
+ IL_b1ab: ldc.i8 0x1
+ IL_b1b4: add
+ IL_b1b5: stloc V_10
+ IL_b1b9: ldloc V_10
+ IL_b1bd: ldc.i8 0x2
+ IL_b1c6: blt IL_b0bf
+
+ IL_b1cb: ldc.i8 0x0
+ IL_b1d4: stloc V_10
+ IL_b1d8: br IL_b220
+
+ IL_b1dd: br IL_b1e2
+
+ IL_b1e2: ldc.i8 0x0
+ IL_b1eb: stloc V_12
+ IL_b1ef: ldloc V_12
+ IL_b1f3: ldc.i8 0x1
+ IL_b1fc: add
+ IL_b1fd: stloc V_12
+ IL_b201: ldloc V_12
+ IL_b205: ldc.i8 0x0
+ IL_b20e: blt IL_b1ef
+
+ IL_b213: ldloc V_49
+ IL_b217: ldloc V_40
+ IL_b21b: add
+ IL_b21c: stloc V_49
+ IL_b220: ldc.i8 0x0
+ IL_b229: stloc V_11
+ IL_b22d: nop
+ IL_b22e: ldloc V_11
+ IL_b232: ldc.i8 0x1
+ IL_b23b: add
+ IL_b23c: stloc V_11
+ IL_b240: ldloc V_11
+ IL_b244: ldc.i8 0x0
+ IL_b24d: blt IL_b22d
+
+ IL_b252: ldloc V_45
+ IL_b256: stloc V_47
+ IL_b25a: ldloc V_10
+ IL_b25e: ldc.i8 0x1
+ IL_b267: add
+ IL_b268: stloc V_10
+ IL_b26c: ldloc V_10
+ IL_b270: ldc.i8 0x0
+ IL_b279: blt IL_b1d8
+
+ IL_b27e: ldc.i8 0x0
+ IL_b287: stloc V_10
+ IL_b28b: br IL_b29d
+
+ IL_b290: ldloc V_17
+ IL_b294: ldloc V_43
+ IL_b298: add
+ IL_b299: stloc V_17
+ IL_b29d: ldc.i8 0x0
+ IL_b2a6: stloc V_11
+ IL_b2aa: br IL_b2af
+
+ IL_b2af: nop
+ IL_b2b0: ldloc V_11
+ IL_b2b4: ldc.i8 0x1
+ IL_b2bd: add
+ IL_b2be: stloc V_11
+ IL_b2c2: ldloc V_11
+ IL_b2c6: ldc.i8 0x0
+ IL_b2cf: blt IL_b2aa
+
+ IL_b2d4: ldc.i8 0x0
+ IL_b2dd: stloc V_11
+ IL_b2e1: ldc.i8 0x0
+ IL_b2ea: stloc V_12
+ IL_b2ee: ldloc V_12
+ IL_b2f2: ldc.i8 0x1
+ IL_b2fb: add
+ IL_b2fc: stloc V_12
+ IL_b300: ldloc V_12
+ IL_b304: ldc.i8 0x1
+ IL_b30d: blt IL_b2ee
+
+ IL_b312: ldloc V_45
+ IL_b316: ldc.i8 0x6
+ IL_b31f: add
+ IL_b320: stloc V_23
+ IL_b324: ldloc V_11
+ IL_b328: ldc.i8 0x1
+ IL_b331: add
+ IL_b332: stloc V_11
+ IL_b336: ldloc V_11
+ IL_b33a: ldc.i8 0x2
+ IL_b343: blt IL_b2e1
+
+ IL_b348: ldloc V_19
+ IL_b34c: ldc.i8 0x2
+ IL_b355: add
+ IL_b356: stloc V_37
+ IL_b35a: ldloc V_10
+ IL_b35e: ldc.i8 0x1
+ IL_b367: add
+ IL_b368: stloc V_10
+ IL_b36c: ldloc V_10
+ IL_b370: ldc.i8 0x2
+ IL_b379: blt IL_b28b
+
+ IL_b37e: ldloc V_48
+ IL_b382: ldloc V_15
+ IL_b386: add
+ IL_b387: stloc V_48
+ IL_b38b: ldloc V_19
+ IL_b38f: ldloc V_0
+ IL_b393: add
+ IL_b394: stloc V_19
+ IL_b398: ldloc V_8
+ IL_b39c: ldc.i8 0x1
+ IL_b3a5: add
+ IL_b3a6: stloc V_8
+ IL_b3aa: ldloc V_8
+ IL_b3ae: ldc.i8 0x2
+ IL_b3b7: blt IL_a45b
+
+ IL_b3bc: ldloc V_11
+ IL_b3c0: ldloc V_48
+ IL_b3c4: add
+ IL_b3c5: stloc V_11
+ IL_b3c9: ldloc V_7
+ IL_b3cd: ldc.i8 0x1
+ IL_b3d6: add
+ IL_b3d7: stloc V_7
+ IL_b3db: ldloc V_7
+ IL_b3df: ldc.i8 0x1
+ IL_b3e8: blt IL_9a1a
+
+ IL_b3ed: ldloc V_20
+ IL_b3f1: stloc V_47
+ IL_b3f5: ldc.i8 0x5
+ IL_b3fe: stloc V_25
+ IL_b402: ldloc V_5
+ IL_b406: ldc.i8 0x1
+ IL_b40f: add
+ IL_b410: stloc V_5
+ IL_b414: ldloc V_5
+ IL_b418: ldc.i8 0x1
+ IL_b421: blt IL_8abf
+
+ IL_b426: ldloc V_23
+ IL_b42a: ldloc V_40
+ IL_b42e: add
+ IL_b42f: stloc V_23
+ IL_b433: ldloc V_4
+ IL_b437: ldc.i8 0x1
+ IL_b440: add
+ IL_b441: stloc V_4
+ IL_b445: ldloc V_4
+ IL_b449: ldc.i8 0x0
+ IL_b452: blt IL_0053
+
+ IL_b457: ldc.i8 0x0
+ IL_b460: stloc V_4
+ IL_b464: ldc.i8 0x0
+ IL_b46d: stloc V_5
+ IL_b471: ldc.i8 0x0
+ IL_b47a: stloc V_6
+ IL_b47e: ldc.i8 0x0
+ IL_b487: stloc V_7
+ IL_b48b: ldc.i8 0x0
+ IL_b494: stloc V_8
+ IL_b498: ldc.i8 0x0
+ IL_b4a1: stloc V_9
+ IL_b4a5: br IL_b574
+
+ IL_b4aa: ldc.i8 0x0
+ IL_b4b3: stloc V_11
+ IL_b4b7: ldc.i8 0x0
+ IL_b4c0: stloc V_12
+ IL_b4c4: ldloc V_12
+ IL_b4c8: ldc.i8 0x1
+ IL_b4d1: add
+ IL_b4d2: stloc V_12
+ IL_b4d6: ldloc V_12
+ IL_b4da: ldc.i8 0x0
+ IL_b4e3: blt IL_b4c4
+
+ IL_b4e8: br IL_b4ed
+
+ IL_b4ed: ldloc V_28
+ IL_b4f1: ldloc V_27
+ IL_b4f5: add
+ IL_b4f6: stloc V_19
+ IL_b4fa: ldloc V_11
+ IL_b4fe: ldc.i8 0x1
+ IL_b507: add
+ IL_b508: stloc V_11
+ IL_b50c: ldloc V_11
+ IL_b510: ldc.i8 0x2
+ IL_b519: blt IL_b4b7
+
+ IL_b51e: ldc.i8 0x0
+ IL_b527: stloc V_11
+ IL_b52b: br IL_b530
+
+ IL_b530: ldc.i8 0x8
+ IL_b539: stloc V_25
+ IL_b53d: ldloc V_11
+ IL_b541: ldc.i8 0x1
+ IL_b54a: add
+ IL_b54b: stloc V_11
+ IL_b54f: ldloc V_11
+ IL_b553: ldc.i8 0x2
+ IL_b55c: blt IL_b52b
+
+ IL_b561: br IL_b567
+
+ IL_b566: nop
+ IL_b567: ldloc V_45
+ IL_b56b: ldloc V_2
+ IL_b56f: add
+ IL_b570: stloc V_45
+ IL_b574: br IL_b590
+
+ IL_b579: ldloc V_32
+ IL_b57d: ldloc V_46
+ IL_b581: add
+ IL_b582: ldc.i8 0x3
+ IL_b58b: add
+ IL_b58c: stloc V_32
+ IL_b590: br IL_b6eb
+
+ IL_b595: ldc.i8 0x0
+ IL_b59e: stloc V_11
+ IL_b5a2: ldc.i8 0x0
+ IL_b5ab: stloc V_12
+ IL_b5af: ldloc V_12
+ IL_b5b3: ldc.i8 0x1
+ IL_b5bc: add
+ IL_b5bd: stloc V_12
+ IL_b5c1: ldloc V_12
+ IL_b5c5: ldc.i8 0x0
+ IL_b5ce: blt IL_b5af
+
+ IL_b5d3: br IL_b5d8
+
+ IL_b5d8: ldloc V_30
+ IL_b5dc: ldloc V_43
+ IL_b5e0: add
+ IL_b5e1: ldc.i8 0x5
+ IL_b5ea: add
+ IL_b5eb: stloc V_30
+ IL_b5ef: ldloc V_11
+ IL_b5f3: ldc.i8 0x1
+ IL_b5fc: add
+ IL_b5fd: stloc V_11
+ IL_b601: ldloc V_11
+ IL_b605: ldc.i8 0x2
+ IL_b60e: blt IL_b5a2
+
+ IL_b613: ldc.i8 0x0
+ IL_b61c: stloc V_11
+ IL_b620: ldloc V_49
+ IL_b624: ldc.i8 0x3
+ IL_b62d: add
+ IL_b62e: stloc V_37
+ IL_b632: ldloc V_11
+ IL_b636: ldc.i8 0x1
+ IL_b63f: add
+ IL_b640: stloc V_11
+ IL_b644: ldloc V_11
+ IL_b648: ldc.i8 0x0
+ IL_b651: blt IL_b620
+
+ IL_b656: ldc.i8 0x0
+ IL_b65f: stloc V_11
+ IL_b663: br IL_b668
+
+ IL_b668: br IL_b66d
+
+ IL_b66d: ldc.i8 0x0
+ IL_b676: stloc V_12
+ IL_b67a: ldloc V_12
+ IL_b67e: ldc.i8 0x1
+ IL_b687: add
+ IL_b688: stloc V_12
+ IL_b68c: ldloc V_12
+ IL_b690: ldc.i8 0x2
+ IL_b699: blt IL_b67a
+
+ IL_b69e: br IL_b6a3
+
+ IL_b6a3: ldloc V_29
+ IL_b6a7: ldloc V_33
+ IL_b6ab: add
+ IL_b6ac: stloc V_29
+ IL_b6b0: ldloc V_11
+ IL_b6b4: ldc.i8 0x1
+ IL_b6bd: add
+ IL_b6be: stloc V_11
+ IL_b6c2: ldloc V_11
+ IL_b6c6: ldc.i8 0x0
+ IL_b6cf: blt IL_b663
+
+ IL_b6d4: ldloc V_32
+ IL_b6d8: ldloc V_13
+ IL_b6dc: add
+ IL_b6dd: ldc.i8 0x6
+ IL_b6e6: add
+ IL_b6e7: stloc V_32
+ IL_b6eb: ldloc V_13
+ IL_b6ef: ldc.i8 0x0
+ IL_b6f8: add
+ IL_b6f9: stloc V_26
+ IL_b6fd: ldloc V_9
+ IL_b701: ldc.i8 0x1
+ IL_b70a: add
+ IL_b70b: stloc V_9
+ IL_b70f: ldloc V_9
+ IL_b713: ldc.i8 0x0
+ IL_b71c: blt IL_b4a5
+
+ IL_b721: ldloc V_44
+ IL_b725: stloc V_31
+ IL_b729: ldloc V_8
+ IL_b72d: ldc.i8 0x1
+ IL_b736: add
+ IL_b737: stloc V_8
+ IL_b73b: ldloc V_8
+ IL_b73f: ldc.i8 0x2
+ IL_b748: blt IL_b498
+
+ IL_b74d: ldloc V_27
+ IL_b751: ldloc V_33
+ IL_b755: add
+ IL_b756: stloc V_38
+ IL_b75a: ldloc V_7
+ IL_b75e: ldc.i8 0x1
+ IL_b767: add
+ IL_b768: stloc V_7
+ IL_b76c: ldloc V_7
+ IL_b770: ldc.i8 0x1
+ IL_b779: blt IL_b48b
+
+ IL_b77e: ldc.i8 0x0
+ IL_b787: stloc V_7
+ IL_b78b: ldc.i8 0x0
+ IL_b794: stloc V_8
+ IL_b798: ldc.i8 0x0
+ IL_b7a1: stloc V_9
+ IL_b7a5: ldc.i8 0x0
+ IL_b7ae: stloc V_10
+ IL_b7b2: ldc.i8 0x0
+ IL_b7bb: stloc V_11
+ IL_b7bf: ldloc V_36
+ IL_b7c3: ldc.i8 0x6
+ IL_b7cc: add
+ IL_b7cd: stloc V_14
+ IL_b7d1: ldloc V_11
+ IL_b7d5: ldc.i8 0x1
+ IL_b7de: add
+ IL_b7df: stloc V_11
+ IL_b7e3: ldloc V_11
+ IL_b7e7: ldc.i8 0x1
+ IL_b7f0: blt IL_b7bf
+
+ IL_b7f5: ldc.i8 0x0
+ IL_b7fe: stloc V_11
+ IL_b802: br IL_b807
+
+ IL_b807: ldc.i8 0x0
+ IL_b810: stloc V_12
+ IL_b814: ldloc V_12
+ IL_b818: ldc.i8 0x1
+ IL_b821: add
+ IL_b822: stloc V_12
+ IL_b826: ldloc V_12
+ IL_b82a: ldc.i8 0x0
+ IL_b833: blt IL_b814
+
+ IL_b838: ldc.i8 0x0
+ IL_b841: stloc V_12
+ IL_b845: ldloc V_12
+ IL_b849: ldc.i8 0x1
+ IL_b852: add
+ IL_b853: stloc V_12
+ IL_b857: ldloc V_12
+ IL_b85b: ldc.i8 0x0
+ IL_b864: blt IL_b845
+
+ IL_b869: ldc.i8 0x0
+ IL_b872: stloc V_12
+ IL_b876: ldloc V_12
+ IL_b87a: ldc.i8 0x1
+ IL_b883: add
+ IL_b884: stloc V_12
+ IL_b888: ldloc V_12
+ IL_b88c: ldc.i8 0x0
+ IL_b895: blt IL_b876
+
+ IL_b89a: ldloc V_38
+ IL_b89e: stloc V_23
+ IL_b8a2: ldloc V_11
+ IL_b8a6: ldc.i8 0x1
+ IL_b8af: add
+ IL_b8b0: stloc V_11
+ IL_b8b4: ldloc V_11
+ IL_b8b8: ldc.i8 0x1
+ IL_b8c1: blt IL_b802
+
+ IL_b8c6: br IL_b96b
+
+ IL_b8cb: ldc.i8 0x0
+ IL_b8d4: stloc V_12
+ IL_b8d8: ldloc V_12
+ IL_b8dc: ldc.i8 0x1
+ IL_b8e5: add
+ IL_b8e6: stloc V_12
+ IL_b8ea: ldloc V_12
+ IL_b8ee: ldc.i8 0x2
+ IL_b8f7: blt IL_b8d8
+
+ IL_b8fc: ldc.i8 0x0
+ IL_b905: stloc V_12
+ IL_b909: ldloc V_12
+ IL_b90d: ldc.i8 0x1
+ IL_b916: add
+ IL_b917: stloc V_12
+ IL_b91b: ldloc V_12
+ IL_b91f: ldc.i8 0x2
+ IL_b928: blt IL_b909
+
+ IL_b92d: br IL_b932
+
+ IL_b932: ldc.i8 0x0
+ IL_b93b: stloc V_12
+ IL_b93f: ldloc V_12
+ IL_b943: ldc.i8 0x1
+ IL_b94c: add
+ IL_b94d: stloc V_12
+ IL_b951: ldloc V_12
+ IL_b955: ldc.i8 0x1
+ IL_b95e: blt IL_b93f
+
+ IL_b963: ldloc V_30
+ IL_b967: stloc V_49
+ IL_b96b: ldloc V_15
+ IL_b96f: ldc.i8 0x2
+ IL_b978: add
+ IL_b979: stloc V_30
+ IL_b97d: ldloc V_10
+ IL_b981: ldc.i8 0x1
+ IL_b98a: add
+ IL_b98b: stloc V_10
+ IL_b98f: ldloc V_10
+ IL_b993: ldc.i8 0x0
+ IL_b99c: blt IL_b7b2
+
+ IL_b9a1: br IL_b9d9
+
+ IL_b9a6: ldc.i8 0x0
+ IL_b9af: stloc V_11
+ IL_b9b3: nop
+ IL_b9b4: ldloc V_11
+ IL_b9b8: ldc.i8 0x1
+ IL_b9c1: add
+ IL_b9c2: stloc V_11
+ IL_b9c6: ldloc V_11
+ IL_b9ca: ldc.i8 0x1
+ IL_b9d3: blt IL_b9b3
+
+ IL_b9d8: nop
+ IL_b9d9: br IL_baa2
+
+ IL_b9de: br IL_ba52
+
+ IL_b9e3: ldc.i8 0x0
+ IL_b9ec: stloc V_12
+ IL_b9f0: ldloc V_12
+ IL_b9f4: ldc.i8 0x1
+ IL_b9fd: add
+ IL_b9fe: stloc V_12
+ IL_ba02: ldloc V_12
+ IL_ba06: ldc.i8 0x1
+ IL_ba0f: blt IL_b9f0
+
+ IL_ba14: ldc.i8 0x0
+ IL_ba1d: stloc V_12
+ IL_ba21: ldloc V_12
+ IL_ba25: ldc.i8 0x1
+ IL_ba2e: add
+ IL_ba2f: stloc V_12
+ IL_ba33: ldloc V_12
+ IL_ba37: ldc.i8 0x1
+ IL_ba40: blt IL_ba21
+
+ IL_ba45: ldloc V_24
+ IL_ba49: ldloc V_41
+ IL_ba4d: add
+ IL_ba4e: stloc V_24
+ IL_ba52: ldc.i8 0x0
+ IL_ba5b: stloc V_11
+ IL_ba5f: br IL_ba64
+
+ IL_ba64: ldloc V_29
+ IL_ba68: ldc.i8 0x2
+ IL_ba71: add
+ IL_ba72: stloc V_47
+ IL_ba76: ldloc V_11
+ IL_ba7a: ldc.i8 0x1
+ IL_ba83: add
+ IL_ba84: stloc V_11
+ IL_ba88: ldloc V_11
+ IL_ba8c: ldc.i8 0x0
+ IL_ba95: blt IL_ba5f
+
+ IL_ba9a: ldloc V_48
+ IL_ba9e: stloc V_38
+ IL_baa2: ldc.i8 0x0
+ IL_baab: stloc V_10
+ IL_baaf: nop
+ IL_bab0: ldloc V_10
+ IL_bab4: ldc.i8 0x1
+ IL_babd: add
+ IL_babe: stloc V_10
+ IL_bac2: ldloc V_10
+ IL_bac6: ldc.i8 0x0
+ IL_bacf: blt IL_baaf
+
+ IL_bad4: ldloc V_47
+ IL_bad8: stloc V_41
+ IL_badc: ldloc V_9
+ IL_bae0: ldc.i8 0x1
+ IL_bae9: add
+ IL_baea: stloc V_9
+ IL_baee: ldloc V_9
+ IL_baf2: ldc.i8 0x1
+ IL_bafb: blt IL_b7a5
+
+ IL_bb00: ldc.i8 0x5
+ IL_bb09: stloc V_48
+ IL_bb0d: ldloc V_8
+ IL_bb11: ldc.i8 0x1
+ IL_bb1a: add
+ IL_bb1b: stloc V_8
+ IL_bb1f: ldloc V_8
+ IL_bb23: ldc.i8 0x1
+ IL_bb2c: blt IL_b798
+
+ IL_bb31: ldc.i8 0x0
+ IL_bb3a: stloc V_8
+ IL_bb3e: ldc.i8 0x0
+ IL_bb47: stloc V_9
+ IL_bb4b: ldc.i8 0x0
+ IL_bb54: stloc V_10
+ IL_bb58: br IL_bb6f
+
+ IL_bb5d: ldloc V_6
+ IL_bb61: ldc.i8 0x1
+ IL_bb6a: add
+ IL_bb6b: stloc V_29
+ IL_bb6f: br IL_bbb5
+
+ IL_bb74: br IL_bb79
+
+ IL_bb79: br IL_bb7e
+
+ IL_bb7e: br IL_bb83
+
+ IL_bb83: ldc.i8 0x0
+ IL_bb8c: stloc V_12
+ IL_bb90: ldloc V_12
+ IL_bb94: ldc.i8 0x1
+ IL_bb9d: add
+ IL_bb9e: stloc V_12
+ IL_bba2: ldloc V_12
+ IL_bba6: ldc.i8 0x0
+ IL_bbaf: blt IL_bb90
+
+ IL_bbb4: nop
+ IL_bbb5: ldc.i8 0x0
+ IL_bbbe: stloc V_11
+ IL_bbc2: ldc.i8 0x0
+ IL_bbcb: stloc V_12
+ IL_bbcf: ldloc V_12
+ IL_bbd3: ldc.i8 0x1
+ IL_bbdc: add
+ IL_bbdd: stloc V_12
+ IL_bbe1: ldloc V_12
+ IL_bbe5: ldc.i8 0x1
+ IL_bbee: blt IL_bbcf
+
+ IL_bbf3: ldc.i8 0x0
+ IL_bbfc: stloc V_12
+ IL_bc00: ldloc V_12
+ IL_bc04: ldc.i8 0x1
+ IL_bc0d: add
+ IL_bc0e: stloc V_12
+ IL_bc12: ldloc V_12
+ IL_bc16: ldc.i8 0x0
+ IL_bc1f: blt IL_bc00
+
+ IL_bc24: ldc.i8 0x0
+ IL_bc2d: stloc V_12
+ IL_bc31: ldloc V_12
+ IL_bc35: ldc.i8 0x1
+ IL_bc3e: add
+ IL_bc3f: stloc V_12
+ IL_bc43: ldloc V_12
+ IL_bc47: ldc.i8 0x0
+ IL_bc50: blt IL_bc31
+
+ IL_bc55: ldloc V_38
+ IL_bc59: ldloc V_32
+ IL_bc5d: add
+ IL_bc5e: stloc V_38
+ IL_bc62: ldloc V_11
+ IL_bc66: ldc.i8 0x1
+ IL_bc6f: add
+ IL_bc70: stloc V_11
+ IL_bc74: ldloc V_11
+ IL_bc78: ldc.i8 0x0
+ IL_bc81: blt IL_bbc2
+
+ IL_bc86: ldc.i8 0x0
+ IL_bc8f: stloc V_11
+ IL_bc93: ldc.i8 0x0
+ IL_bc9c: stloc V_12
+ IL_bca0: ldloc V_12
+ IL_bca4: ldc.i8 0x1
+ IL_bcad: add
+ IL_bcae: stloc V_12
+ IL_bcb2: ldloc V_12
+ IL_bcb6: ldc.i8 0x1
+ IL_bcbf: blt IL_bca0
+
+ IL_bcc4: ldc.i8 0x0
+ IL_bccd: stloc V_12
+ IL_bcd1: ldloc V_12
+ IL_bcd5: ldc.i8 0x1
+ IL_bcde: add
+ IL_bcdf: stloc V_12
+ IL_bce3: ldloc V_12
+ IL_bce7: ldc.i8 0x1
+ IL_bcf0: blt IL_bcd1
+
+ IL_bcf5: ldloc V_31
+ IL_bcf9: ldloc V_22
+ IL_bcfd: add
+ IL_bcfe: stloc V_25
+ IL_bd02: ldloc V_11
+ IL_bd06: ldc.i8 0x1
+ IL_bd0f: add
+ IL_bd10: stloc V_11
+ IL_bd14: ldloc V_11
+ IL_bd18: ldc.i8 0x1
+ IL_bd21: blt IL_bc93
+
+ IL_bd26: ldloc V_11
+ IL_bd2a: ldc.i8 0x1
+ IL_bd33: add
+ IL_bd34: stloc V_42
+ IL_bd38: ldloc V_10
+ IL_bd3c: ldc.i8 0x1
+ IL_bd45: add
+ IL_bd46: stloc V_10
+ IL_bd4a: ldloc V_10
+ IL_bd4e: ldc.i8 0x1
+ IL_bd57: blt IL_bb58
+
+ IL_bd5c: ldc.i8 0x0
+ IL_bd65: stloc V_10
+ IL_bd69: ldc.i8 0x0
+ IL_bd72: stloc V_11
+ IL_bd76: ldloc V_15
+ IL_bd7a: ldloc V_24
+ IL_bd7e: add
+ IL_bd7f: stloc V_48
+ IL_bd83: ldloc V_11
+ IL_bd87: ldc.i8 0x1
+ IL_bd90: add
+ IL_bd91: stloc V_11
+ IL_bd95: ldloc V_11
+ IL_bd99: ldc.i8 0x1
+ IL_bda2: blt IL_bd76
+
+ IL_bda7: ldc.i8 0x0
+ IL_bdb0: stloc V_11
+ IL_bdb4: br IL_bdb9
+
+ IL_bdb9: ldc.i8 0x0
+ IL_bdc2: stloc V_12
+ IL_bdc6: ldloc V_12
+ IL_bdca: ldc.i8 0x1
+ IL_bdd3: add
+ IL_bdd4: stloc V_12
+ IL_bdd8: ldloc V_12
+ IL_bddc: ldc.i8 0x1
+ IL_bde5: blt IL_bdc6
+
+ IL_bdea: ldc.i8 0x0
+ IL_bdf3: stloc V_12
+ IL_bdf7: ldloc V_12
+ IL_bdfb: ldc.i8 0x1
+ IL_be04: add
+ IL_be05: stloc V_12
+ IL_be09: ldloc V_12
+ IL_be0d: ldc.i8 0x1
+ IL_be16: blt IL_bdf7
+
+ IL_be1b: ldloc V_42
+ IL_be1f: ldloc V_13
+ IL_be23: add
+ IL_be24: ldc.i8 0x3
+ IL_be2d: add
+ IL_be2e: stloc V_42
+ IL_be32: ldloc V_11
+ IL_be36: ldc.i8 0x1
+ IL_be3f: add
+ IL_be40: stloc V_11
+ IL_be44: ldloc V_11
+ IL_be48: ldc.i8 0x0
+ IL_be51: blt IL_bdb4
+
+ IL_be56: br IL_bea8
+
+ IL_be5b: br IL_be60
+
+ IL_be60: ldc.i8 0x0
+ IL_be69: stloc V_12
+ IL_be6d: ldloc V_12
+ IL_be71: ldc.i8 0x1
+ IL_be7a: add
+ IL_be7b: stloc V_12
+ IL_be7f: ldloc V_12
+ IL_be83: ldc.i8 0x2
+ IL_be8c: blt IL_be6d
+
+ IL_be91: br IL_be96
+
+ IL_be96: ldloc V_15
+ IL_be9a: ldc.i8 0x5
+ IL_bea3: add
+ IL_bea4: stloc V_29
+ IL_bea8: ldloc V_12
+ IL_beac: ldloc V_33
+ IL_beb0: add
+ IL_beb1: stloc V_12
+ IL_beb5: ldloc V_10
+ IL_beb9: ldc.i8 0x1
+ IL_bec2: add
+ IL_bec3: stloc V_10
+ IL_bec7: ldloc V_10
+ IL_becb: ldc.i8 0x0
+ IL_bed4: blt IL_bd69
+
+ IL_bed9: ldloc V_12
+ IL_bedd: ldloc V_39
+ IL_bee1: add
+ IL_bee2: stloc V_12
+ IL_bee6: ldloc V_9
+ IL_beea: ldc.i8 0x1
+ IL_bef3: add
+ IL_bef4: stloc V_9
+ IL_bef8: ldloc V_9
+ IL_befc: ldc.i8 0x2
+ IL_bf05: blt IL_bb4b
+
+ IL_bf0a: br IL_c426
+
+ IL_bf0f: ldc.i8 0x0
+ IL_bf18: stloc V_10
+ IL_bf1c: ldloc V_14
+ IL_bf20: stloc V_14
+ IL_bf24: ldloc V_10
+ IL_bf28: ldc.i8 0x1
+ IL_bf31: add
+ IL_bf32: stloc V_10
+ IL_bf36: ldloc V_10
+ IL_bf3a: ldc.i8 0x2
+ IL_bf43: blt IL_bf1c
+
+ IL_bf48: br IL_c0a4
+
+ IL_bf4d: ldc.i8 0x0
+ IL_bf56: stloc V_11
+ IL_bf5a: ldc.i8 0x0
+ IL_bf63: stloc V_12
+ IL_bf67: ldloc V_12
+ IL_bf6b: ldc.i8 0x1
+ IL_bf74: add
+ IL_bf75: stloc V_12
+ IL_bf79: ldloc V_12
+ IL_bf7d: ldc.i8 0x0
+ IL_bf86: blt IL_bf67
+
+ IL_bf8b: ldc.i8 0x0
+ IL_bf94: stloc V_12
+ IL_bf98: ldloc V_12
+ IL_bf9c: ldc.i8 0x1
+ IL_bfa5: add
+ IL_bfa6: stloc V_12
+ IL_bfaa: ldloc V_12
+ IL_bfae: ldc.i8 0x2
+ IL_bfb7: blt IL_bf98
+
+ IL_bfbc: ldc.i8 0x0
+ IL_bfc5: stloc V_12
+ IL_bfc9: ldloc V_12
+ IL_bfcd: ldc.i8 0x1
+ IL_bfd6: add
+ IL_bfd7: stloc V_12
+ IL_bfdb: ldloc V_12
+ IL_bfdf: ldc.i8 0x2
+ IL_bfe8: blt IL_bfc9
+
+ IL_bfed: br IL_bff2
+
+ IL_bff2: ldloc V_35
+ IL_bff6: ldloc V_39
+ IL_bffa: add
+ IL_bffb: ldc.i8 0x9
+ IL_c004: add
+ IL_c005: stloc V_35
+ IL_c009: ldloc V_11
+ IL_c00d: ldc.i8 0x1
+ IL_c016: add
+ IL_c017: stloc V_11
+ IL_c01b: ldloc V_11
+ IL_c01f: ldc.i8 0x1
+ IL_c028: blt IL_bf5a
+
+ IL_c02d: ldc.i8 0x0
+ IL_c036: stloc V_11
+ IL_c03a: ldc.i8 0x0
+ IL_c043: stloc V_12
+ IL_c047: ldloc V_12
+ IL_c04b: ldc.i8 0x1
+ IL_c054: add
+ IL_c055: stloc V_12
+ IL_c059: ldloc V_12
+ IL_c05d: ldc.i8 0x0
+ IL_c066: blt IL_c047
+
+ IL_c06b: ldloc V_44
+ IL_c06f: ldloc V_2
+ IL_c073: add
+ IL_c074: stloc V_44
+ IL_c078: ldloc V_11
+ IL_c07c: ldc.i8 0x1
+ IL_c085: add
+ IL_c086: stloc V_11
+ IL_c08a: ldloc V_11
+ IL_c08e: ldc.i8 0x0
+ IL_c097: blt IL_c03a
+
+ IL_c09c: ldloc V_28
+ IL_c0a0: stloc V_35
+ IL_c0a4: ldc.i8 0x0
+ IL_c0ad: stloc V_10
+ IL_c0b1: ldc.i8 0x0
+ IL_c0ba: stloc V_11
+ IL_c0be: ldloc V_49
+ IL_c0c2: stloc V_20
+ IL_c0c6: ldloc V_11
+ IL_c0ca: ldc.i8 0x1
+ IL_c0d3: add
+ IL_c0d4: stloc V_11
+ IL_c0d8: ldloc V_11
+ IL_c0dc: ldc.i8 0x2
+ IL_c0e5: blt IL_c0be
+
+ IL_c0ea: br IL_c101
+
+ IL_c0ef: ldloc V_43
+ IL_c0f3: ldc.i8 0x4
+ IL_c0fc: add
+ IL_c0fd: stloc V_46
+ IL_c101: ldc.i8 0x0
+ IL_c10a: stloc V_11
+ IL_c10e: br IL_c113
+
+ IL_c113: br IL_c118
+
+ IL_c118: ldc.i8 0x0
+ IL_c121: stloc V_12
+ IL_c125: ldloc V_12
+ IL_c129: ldc.i8 0x1
+ IL_c132: add
+ IL_c133: stloc V_12
+ IL_c137: ldloc V_12
+ IL_c13b: ldc.i8 0x1
+ IL_c144: blt IL_c125
+
+ IL_c149: ldc.i8 0x0
+ IL_c152: stloc V_12
+ IL_c156: ldloc V_12
+ IL_c15a: ldc.i8 0x1
+ IL_c163: add
+ IL_c164: stloc V_12
+ IL_c168: ldloc V_12
+ IL_c16c: ldc.i8 0x2
+ IL_c175: blt IL_c156
+
+ IL_c17a: nop
+ IL_c17b: ldloc V_11
+ IL_c17f: ldc.i8 0x1
+ IL_c188: add
+ IL_c189: stloc V_11
+ IL_c18d: ldloc V_11
+ IL_c191: ldc.i8 0x1
+ IL_c19a: blt IL_c10e
+
+ IL_c19f: ldc.i8 0x0
+ IL_c1a8: stloc V_11
+ IL_c1ac: ldc.i8 0x0
+ IL_c1b5: stloc V_12
+ IL_c1b9: ldloc V_12
+ IL_c1bd: ldc.i8 0x1
+ IL_c1c6: add
+ IL_c1c7: stloc V_12
+ IL_c1cb: ldloc V_12
+ IL_c1cf: ldc.i8 0x0
+ IL_c1d8: blt IL_c1b9
+
+ IL_c1dd: ldloc V_32
+ IL_c1e1: stloc V_17
+ IL_c1e5: ldloc V_11
+ IL_c1e9: ldc.i8 0x1
+ IL_c1f2: add
+ IL_c1f3: stloc V_11
+ IL_c1f7: ldloc V_11
+ IL_c1fb: ldc.i8 0x0
+ IL_c204: blt IL_c1ac
+
+ IL_c209: ldloc V_19
+ IL_c20d: stloc V_14
+ IL_c211: ldloc V_10
+ IL_c215: ldc.i8 0x1
+ IL_c21e: add
+ IL_c21f: stloc V_10
+ IL_c223: ldloc V_10
+ IL_c227: ldc.i8 0x2
+ IL_c230: blt IL_c0b1
+
+ IL_c235: ldc.i8 0x0
+ IL_c23e: stloc V_10
+ IL_c242: ldc.i8 0x0
+ IL_c24b: stloc V_11
+ IL_c24f: ldc.i8 0x0
+ IL_c258: stloc V_12
+ IL_c25c: ldloc V_12
+ IL_c260: ldc.i8 0x1
+ IL_c269: add
+ IL_c26a: stloc V_12
+ IL_c26e: ldloc V_12
+ IL_c272: ldc.i8 0x1
+ IL_c27b: blt IL_c25c
+
+ IL_c280: ldc.i8 0x0
+ IL_c289: stloc V_12
+ IL_c28d: ldloc V_12
+ IL_c291: ldc.i8 0x1
+ IL_c29a: add
+ IL_c29b: stloc V_12
+ IL_c29f: ldloc V_12
+ IL_c2a3: ldc.i8 0x1
+ IL_c2ac: blt IL_c28d
+
+ IL_c2b1: ldc.i8 0x0
+ IL_c2ba: stloc V_12
+ IL_c2be: ldloc V_12
+ IL_c2c2: ldc.i8 0x1
+ IL_c2cb: add
+ IL_c2cc: stloc V_12
+ IL_c2d0: ldloc V_12
+ IL_c2d4: ldc.i8 0x0
+ IL_c2dd: blt IL_c2be
+
+ IL_c2e2: ldloc V_13
+ IL_c2e6: stloc V_42
+ IL_c2ea: ldloc V_11
+ IL_c2ee: ldc.i8 0x1
+ IL_c2f7: add
+ IL_c2f8: stloc V_11
+ IL_c2fc: ldloc V_11
+ IL_c300: ldc.i8 0x0
+ IL_c309: blt IL_c24f
+
+ IL_c30e: ldc.i8 0x0
+ IL_c317: stloc V_11
+ IL_c31b: ldc.i8 0x0
+ IL_c324: stloc V_12
+ IL_c328: ldloc V_12
+ IL_c32c: ldc.i8 0x1
+ IL_c335: add
+ IL_c336: stloc V_12
+ IL_c33a: ldloc V_12
+ IL_c33e: ldc.i8 0x0
+ IL_c347: blt IL_c328
+
+ IL_c34c: ldc.i8 0x0
+ IL_c355: stloc V_12
+ IL_c359: ldloc V_12
+ IL_c35d: ldc.i8 0x1
+ IL_c366: add
+ IL_c367: stloc V_12
+ IL_c36b: ldloc V_12
+ IL_c36f: ldc.i8 0x1
+ IL_c378: blt IL_c359
+
+ IL_c37d: nop
+ IL_c37e: ldloc V_11
+ IL_c382: ldc.i8 0x1
+ IL_c38b: add
+ IL_c38c: stloc V_11
+ IL_c390: ldloc V_11
+ IL_c394: ldc.i8 0x2
+ IL_c39d: blt IL_c31b
+
+ IL_c3a2: ldc.i8 0x0
+ IL_c3ab: stloc V_11
+ IL_c3af: ldloc V_38
+ IL_c3b3: ldloc V_9
+ IL_c3b7: add
+ IL_c3b8: stloc V_21
+ IL_c3bc: ldloc V_11
+ IL_c3c0: ldc.i8 0x1
+ IL_c3c9: add
+ IL_c3ca: stloc V_11
+ IL_c3ce: ldloc V_11
+ IL_c3d2: ldc.i8 0x1
+ IL_c3db: blt IL_c3af
+
+ IL_c3e0: br IL_c3ed
+
+ IL_c3e5: ldloc V_35
+ IL_c3e9: stloc V_30
+ IL_c3ed: ldloc V_31
+ IL_c3f1: stloc V_18
+ IL_c3f5: ldloc V_10
+ IL_c3f9: ldc.i8 0x1
+ IL_c402: add
+ IL_c403: stloc V_10
+ IL_c407: ldloc V_10
+ IL_c40b: ldc.i8 0x1
+ IL_c414: blt IL_c242
+
+ IL_c419: ldc.i8 0x8
+ IL_c422: stloc V_34
+ IL_c426: ldc.i8 0x0
+ IL_c42f: stloc V_9
+ IL_c433: ldloc V_48
+ IL_c437: ldc.i8 0x0
+ IL_c440: add
+ IL_c441: stloc V_27
+ IL_c445: ldloc V_9
+ IL_c449: ldc.i8 0x1
+ IL_c452: add
+ IL_c453: stloc V_9
+ IL_c457: ldloc V_9
+ IL_c45b: ldc.i8 0x1
+ IL_c464: blt IL_c433
+
+ IL_c469: ldc.i8 0x0
+ IL_c472: stloc V_9
+ IL_c476: ldc.i8 0x0
+ IL_c47f: stloc V_10
+ IL_c483: br IL_c559
+
+ IL_c488: ldc.i8 0x0
+ IL_c491: stloc V_12
+ IL_c495: ldloc V_12
+ IL_c499: ldc.i8 0x1
+ IL_c4a2: add
+ IL_c4a3: stloc V_12
+ IL_c4a7: ldloc V_12
+ IL_c4ab: ldc.i8 0x0
+ IL_c4b4: blt IL_c495
+
+ IL_c4b9: ldc.i8 0x0
+ IL_c4c2: stloc V_12
+ IL_c4c6: ldloc V_12
+ IL_c4ca: ldc.i8 0x1
+ IL_c4d3: add
+ IL_c4d4: stloc V_12
+ IL_c4d8: ldloc V_12
+ IL_c4dc: ldc.i8 0x2
+ IL_c4e5: blt IL_c4c6
+
+ IL_c4ea: ldc.i8 0x0
+ IL_c4f3: stloc V_12
+ IL_c4f7: ldloc V_12
+ IL_c4fb: ldc.i8 0x1
+ IL_c504: add
+ IL_c505: stloc V_12
+ IL_c509: ldloc V_12
+ IL_c50d: ldc.i8 0x1
+ IL_c516: blt IL_c4f7
+
+ IL_c51b: ldc.i8 0x0
+ IL_c524: stloc V_12
+ IL_c528: ldloc V_12
+ IL_c52c: ldc.i8 0x1
+ IL_c535: add
+ IL_c536: stloc V_12
+ IL_c53a: ldloc V_12
+ IL_c53e: ldc.i8 0x2
+ IL_c547: blt IL_c528
+
+ IL_c54c: ldloc V_19
+ IL_c550: ldloc V_3
+ IL_c554: add
+ IL_c555: stloc V_19
+ IL_c559: ldc.i8 0x0
+ IL_c562: stloc V_11
+ IL_c566: br IL_c56b
+
+ IL_c56b: ldc.i8 0x7
+ IL_c574: stloc V_48
+ IL_c578: ldloc V_11
+ IL_c57c: ldc.i8 0x1
+ IL_c585: add
+ IL_c586: stloc V_11
+ IL_c58a: ldloc V_11
+ IL_c58e: ldc.i8 0x0
+ IL_c597: blt IL_c566
+
+ IL_c59c: ldloc V_31
+ IL_c5a0: stloc V_31
+ IL_c5a4: ldloc V_10
+ IL_c5a8: ldc.i8 0x1
+ IL_c5b1: add
+ IL_c5b2: stloc V_10
+ IL_c5b6: ldloc V_10
+ IL_c5ba: ldc.i8 0x0
+ IL_c5c3: blt IL_c483
+
+ IL_c5c8: ldc.i8 0x0
+ IL_c5d1: stloc V_10
+ IL_c5d5: ldc.i8 0x0
+ IL_c5de: stloc V_11
+ IL_c5e2: ldc.i8 0x0
+ IL_c5eb: stloc V_12
+ IL_c5ef: ldloc V_12
+ IL_c5f3: ldc.i8 0x1
+ IL_c5fc: add
+ IL_c5fd: stloc V_12
+ IL_c601: ldloc V_12
+ IL_c605: ldc.i8 0x1
+ IL_c60e: blt IL_c5ef
+
+ IL_c613: ldc.i8 0x0
+ IL_c61c: stloc V_12
+ IL_c620: ldloc V_12
+ IL_c624: ldc.i8 0x1
+ IL_c62d: add
+ IL_c62e: stloc V_12
+ IL_c632: ldloc V_12
+ IL_c636: ldc.i8 0x2
+ IL_c63f: blt IL_c620
+
+ IL_c644: ldloc V_2
+ IL_c648: stloc V_31
+ IL_c64c: ldloc V_11
+ IL_c650: ldc.i8 0x1
+ IL_c659: add
+ IL_c65a: stloc V_11
+ IL_c65e: ldloc V_11
+ IL_c662: ldc.i8 0x0
+ IL_c66b: blt IL_c5e2
+
+ IL_c670: ldc.i8 0x0
+ IL_c679: stloc V_11
+ IL_c67d: br IL_c682
+
+ IL_c682: ldc.i8 0x0
+ IL_c68b: stloc V_12
+ IL_c68f: ldloc V_12
+ IL_c693: ldc.i8 0x1
+ IL_c69c: add
+ IL_c69d: stloc V_12
+ IL_c6a1: ldloc V_12
+ IL_c6a5: ldc.i8 0x0
+ IL_c6ae: blt IL_c68f
+
+ IL_c6b3: nop
+ IL_c6b4: ldloc V_11
+ IL_c6b8: ldc.i8 0x1
+ IL_c6c1: add
+ IL_c6c2: stloc V_11
+ IL_c6c6: ldloc V_11
+ IL_c6ca: ldc.i8 0x0
+ IL_c6d3: blt IL_c67d
+
+ IL_c6d8: ldloc V_15
+ IL_c6dc: ldc.i8 0x0
+ IL_c6e5: add
+ IL_c6e6: stloc V_24
+ IL_c6ea: ldloc V_10
+ IL_c6ee: ldc.i8 0x1
+ IL_c6f7: add
+ IL_c6f8: stloc V_10
+ IL_c6fc: ldloc V_10
+ IL_c700: ldc.i8 0x1
+ IL_c709: blt IL_c5d5
+
+ IL_c70e: ldloc V_0
+ IL_c712: ldloc V_5
+ IL_c716: add
+ IL_c717: stloc V_31
+ IL_c71b: ldloc V_9
+ IL_c71f: ldc.i8 0x1
+ IL_c728: add
+ IL_c729: stloc V_9
+ IL_c72d: ldloc V_9
+ IL_c731: ldc.i8 0x0
+ IL_c73a: blt IL_c476
+
+ IL_c73f: ldloc V_34
+ IL_c743: ldloc V_49
+ IL_c747: add
+ IL_c748: ldc.i8 0x5
+ IL_c751: add
+ IL_c752: stloc V_34
+ IL_c756: ldloc V_8
+ IL_c75a: ldc.i8 0x1
+ IL_c763: add
+ IL_c764: stloc V_8
+ IL_c768: ldloc V_8
+ IL_c76c: ldc.i8 0x2
+ IL_c775: blt IL_bb3e
+
+ IL_c77a: br IL_d72b
+
+ IL_c77f: ldc.i8 0x0
+ IL_c788: stloc V_9
+ IL_c78c: br IL_c792
+
+ IL_c791: nop
+ IL_c792: ldc.i8 0x0
+ IL_c79b: stloc V_10
+ IL_c79f: ldc.i8 0x0
+ IL_c7a8: stloc V_11
+ IL_c7ac: ldc.i8 0x0
+ IL_c7b5: stloc V_12
+ IL_c7b9: ldloc V_12
+ IL_c7bd: ldc.i8 0x1
+ IL_c7c6: add
+ IL_c7c7: stloc V_12
+ IL_c7cb: ldloc V_12
+ IL_c7cf: ldc.i8 0x2
+ IL_c7d8: blt IL_c7b9
+
+ IL_c7dd: ldc.i8 0x0
+ IL_c7e6: stloc V_12
+ IL_c7ea: ldloc V_12
+ IL_c7ee: ldc.i8 0x1
+ IL_c7f7: add
+ IL_c7f8: stloc V_12
+ IL_c7fc: ldloc V_12
+ IL_c800: ldc.i8 0x1
+ IL_c809: blt IL_c7ea
+
+ IL_c80e: ldc.i8 0x0
+ IL_c817: stloc V_12
+ IL_c81b: ldloc V_12
+ IL_c81f: ldc.i8 0x1
+ IL_c828: add
+ IL_c829: stloc V_12
+ IL_c82d: ldloc V_12
+ IL_c831: ldc.i8 0x1
+ IL_c83a: blt IL_c81b
+
+ IL_c83f: ldloc V_13
+ IL_c843: ldc.i8 0x9
+ IL_c84c: add
+ IL_c84d: stloc V_33
+ IL_c851: ldloc V_11
+ IL_c855: ldc.i8 0x1
+ IL_c85e: add
+ IL_c85f: stloc V_11
+ IL_c863: ldloc V_11
+ IL_c867: ldc.i8 0x1
+ IL_c870: blt IL_c7ac
+
+ IL_c875: ldc.i8 0x0
+ IL_c87e: stloc V_11
+ IL_c882: nop
+ IL_c883: ldloc V_11
+ IL_c887: ldc.i8 0x1
+ IL_c890: add
+ IL_c891: stloc V_11
+ IL_c895: ldloc V_11
+ IL_c899: ldc.i8 0x2
+ IL_c8a2: blt IL_c882
+
+ IL_c8a7: ldloc V_43
+ IL_c8ab: ldloc V_21
+ IL_c8af: add
+ IL_c8b0: ldc.i8 0x9
+ IL_c8b9: add
+ IL_c8ba: stloc V_43
+ IL_c8be: ldloc V_10
+ IL_c8c2: ldc.i8 0x1
+ IL_c8cb: add
+ IL_c8cc: stloc V_10
+ IL_c8d0: ldloc V_10
+ IL_c8d4: ldc.i8 0x2
+ IL_c8dd: blt IL_c79f
+
+ IL_c8e2: ldc.i8 0x0
+ IL_c8eb: stloc V_10
+ IL_c8ef: ldc.i8 0x0
+ IL_c8f8: stloc V_11
+ IL_c8fc: ldc.i8 0x0
+ IL_c905: stloc V_12
+ IL_c909: ldloc V_12
+ IL_c90d: ldc.i8 0x1
+ IL_c916: add
+ IL_c917: stloc V_12
+ IL_c91b: ldloc V_12
+ IL_c91f: ldc.i8 0x0
+ IL_c928: blt IL_c909
+
+ IL_c92d: ldc.i8 0x0
+ IL_c936: stloc V_12
+ IL_c93a: ldloc V_12
+ IL_c93e: ldc.i8 0x1
+ IL_c947: add
+ IL_c948: stloc V_12
+ IL_c94c: ldloc V_12
+ IL_c950: ldc.i8 0x1
+ IL_c959: blt IL_c93a
+
+ IL_c95e: nop
+ IL_c95f: ldloc V_11
+ IL_c963: ldc.i8 0x1
+ IL_c96c: add
+ IL_c96d: stloc V_11
+ IL_c971: ldloc V_11
+ IL_c975: ldc.i8 0x0
+ IL_c97e: blt IL_c8fc
+
+ IL_c983: ldc.i8 0x0
+ IL_c98c: stloc V_11
+ IL_c990: ldc.i8 0x0
+ IL_c999: stloc V_12
+ IL_c99d: ldloc V_12
+ IL_c9a1: ldc.i8 0x1
+ IL_c9aa: add
+ IL_c9ab: stloc V_12
+ IL_c9af: ldloc V_12
+ IL_c9b3: ldc.i8 0x0
+ IL_c9bc: blt IL_c99d
+
+ IL_c9c1: br IL_c9c6
+
+ IL_c9c6: ldc.i8 0x0
+ IL_c9cf: stloc V_12
+ IL_c9d3: ldloc V_12
+ IL_c9d7: ldc.i8 0x1
+ IL_c9e0: add
+ IL_c9e1: stloc V_12
+ IL_c9e5: ldloc V_12
+ IL_c9e9: ldc.i8 0x1
+ IL_c9f2: blt IL_c9d3
+
+ IL_c9f7: br IL_c9fc
+
+ IL_c9fc: nop
+ IL_c9fd: ldloc V_11
+ IL_ca01: ldc.i8 0x1
+ IL_ca0a: add
+ IL_ca0b: stloc V_11
+ IL_ca0f: ldloc V_11
+ IL_ca13: ldc.i8 0x2
+ IL_ca1c: blt IL_c990
+
+ IL_ca21: ldloc V_19
+ IL_ca25: stloc V_30
+ IL_ca29: ldloc V_10
+ IL_ca2d: ldc.i8 0x1
+ IL_ca36: add
+ IL_ca37: stloc V_10
+ IL_ca3b: ldloc V_10
+ IL_ca3f: ldc.i8 0x2
+ IL_ca48: blt IL_c8ef
+
+ IL_ca4d: ldc.i8 0x8
+ IL_ca56: stloc V_47
+ IL_ca5a: ldloc V_9
+ IL_ca5e: ldc.i8 0x1
+ IL_ca67: add
+ IL_ca68: stloc V_9
+ IL_ca6c: ldloc V_9
+ IL_ca70: ldc.i8 0x2
+ IL_ca79: blt IL_c78c
+
+ IL_ca7e: br IL_d0f9
+
+ IL_ca83: br IL_cc8d
+
+ IL_ca88: ldc.i8 0x0
+ IL_ca91: stloc V_11
+ IL_ca95: br IL_ca9a
+
+ IL_ca9a: ldc.i8 0x3
+ IL_caa3: stloc V_39
+ IL_caa7: ldloc V_11
+ IL_caab: ldc.i8 0x1
+ IL_cab4: add
+ IL_cab5: stloc V_11
+ IL_cab9: ldloc V_11
+ IL_cabd: ldc.i8 0x2
+ IL_cac6: blt IL_ca95
+
+ IL_cacb: br IL_cb4e
+
+ IL_cad0: br IL_cad5
+
+ IL_cad5: ldc.i8 0x0
+ IL_cade: stloc V_12
+ IL_cae2: ldloc V_12
+ IL_cae6: ldc.i8 0x1
+ IL_caef: add
+ IL_caf0: stloc V_12
+ IL_caf4: ldloc V_12
+ IL_caf8: ldc.i8 0x2
+ IL_cb01: blt IL_cae2
+
+ IL_cb06: ldc.i8 0x0
+ IL_cb0f: stloc V_12
+ IL_cb13: ldloc V_12
+ IL_cb17: ldc.i8 0x1
+ IL_cb20: add
+ IL_cb21: stloc V_12
+ IL_cb25: ldloc V_12
+ IL_cb29: ldc.i8 0x2
+ IL_cb32: blt IL_cb13
+
+ IL_cb37: ldloc V_21
+ IL_cb3b: ldloc V_49
+ IL_cb3f: add
+ IL_cb40: ldc.i8 0x5
+ IL_cb49: add
+ IL_cb4a: stloc V_21
+ IL_cb4e: ldc.i8 0x0
+ IL_cb57: stloc V_11
+ IL_cb5b: ldc.i8 0x0
+ IL_cb64: stloc V_12
+ IL_cb68: ldloc V_12
+ IL_cb6c: ldc.i8 0x1
+ IL_cb75: add
+ IL_cb76: stloc V_12
+ IL_cb7a: ldloc V_12
+ IL_cb7e: ldc.i8 0x0
+ IL_cb87: blt IL_cb68
+
+ IL_cb8c: ldc.i8 0x0
+ IL_cb95: stloc V_12
+ IL_cb99: ldloc V_12
+ IL_cb9d: ldc.i8 0x1
+ IL_cba6: add
+ IL_cba7: stloc V_12
+ IL_cbab: ldloc V_12
+ IL_cbaf: ldc.i8 0x1
+ IL_cbb8: blt IL_cb99
+
+ IL_cbbd: ldc.i8 0x0
+ IL_cbc6: stloc V_12
+ IL_cbca: ldloc V_12
+ IL_cbce: ldc.i8 0x1
+ IL_cbd7: add
+ IL_cbd8: stloc V_12
+ IL_cbdc: ldloc V_12
+ IL_cbe0: ldc.i8 0x2
+ IL_cbe9: blt IL_cbca
+
+ IL_cbee: ldc.i8 0x0
+ IL_cbf7: stloc V_12
+ IL_cbfb: ldloc V_12
+ IL_cbff: ldc.i8 0x1
+ IL_cc08: add
+ IL_cc09: stloc V_12
+ IL_cc0d: ldloc V_12
+ IL_cc11: ldc.i8 0x2
+ IL_cc1a: blt IL_cbfb
+
+ IL_cc1f: nop
+ IL_cc20: ldloc V_11
+ IL_cc24: ldc.i8 0x1
+ IL_cc2d: add
+ IL_cc2e: stloc V_11
+ IL_cc32: ldloc V_11
+ IL_cc36: ldc.i8 0x0
+ IL_cc3f: blt IL_cb5b
+
+ IL_cc44: ldc.i8 0x0
+ IL_cc4d: stloc V_11
+ IL_cc51: br IL_cc56
+
+ IL_cc56: br IL_cc5b
+
+ IL_cc5b: ldloc V_39
+ IL_cc5f: ldloc V_16
+ IL_cc63: add
+ IL_cc64: stloc V_39
+ IL_cc68: ldloc V_11
+ IL_cc6c: ldc.i8 0x1
+ IL_cc75: add
+ IL_cc76: stloc V_11
+ IL_cc7a: ldloc V_11
+ IL_cc7e: ldc.i8 0x0
+ IL_cc87: blt IL_cc51
+
+ IL_cc8c: nop
+ IL_cc8d: br IL_cea5
+
+ IL_cc92: br IL_ccae
+
+ IL_cc97: ldloc V_28
+ IL_cc9b: ldloc V_20
+ IL_cc9f: add
+ IL_cca0: ldc.i8 0x0
+ IL_cca9: add
+ IL_ccaa: stloc V_28
+ IL_ccae: ldc.i8 0x0
+ IL_ccb7: stloc V_11
+ IL_ccbb: br IL_ccc0
+
+ IL_ccc0: br IL_ccc5
+
+ IL_ccc5: ldc.i8 0x2
+ IL_ccce: stloc V_38
+ IL_ccd2: ldloc V_11
+ IL_ccd6: ldc.i8 0x1
+ IL_ccdf: add
+ IL_cce0: stloc V_11
+ IL_cce4: ldloc V_11
+ IL_cce8: ldc.i8 0x0
+ IL_ccf1: blt IL_ccbb
+
+ IL_ccf6: ldc.i8 0x0
+ IL_ccff: stloc V_11
+ IL_cd03: ldc.i8 0x0
+ IL_cd0c: stloc V_12
+ IL_cd10: ldloc V_12
+ IL_cd14: ldc.i8 0x1
+ IL_cd1d: add
+ IL_cd1e: stloc V_12
+ IL_cd22: ldloc V_12
+ IL_cd26: ldc.i8 0x0
+ IL_cd2f: blt IL_cd10
+
+ IL_cd34: ldc.i8 0x0
+ IL_cd3d: stloc V_12
+ IL_cd41: ldloc V_12
+ IL_cd45: ldc.i8 0x1
+ IL_cd4e: add
+ IL_cd4f: stloc V_12
+ IL_cd53: ldloc V_12
+ IL_cd57: ldc.i8 0x1
+ IL_cd60: blt IL_cd41
+
+ IL_cd65: ldloc V_9
+ IL_cd69: ldloc V_21
+ IL_cd6d: add
+ IL_cd6e: stloc V_14
+ IL_cd72: ldloc V_11
+ IL_cd76: ldc.i8 0x1
+ IL_cd7f: add
+ IL_cd80: stloc V_11
+ IL_cd84: ldloc V_11
+ IL_cd88: ldc.i8 0x1
+ IL_cd91: blt IL_cd03
+
+ IL_cd96: ldc.i8 0x0
+ IL_cd9f: stloc V_11
+ IL_cda3: ldc.i8 0x0
+ IL_cdac: stloc V_12
+ IL_cdb0: ldloc V_12
+ IL_cdb4: ldc.i8 0x1
+ IL_cdbd: add
+ IL_cdbe: stloc V_12
+ IL_cdc2: ldloc V_12
+ IL_cdc6: ldc.i8 0x0
+ IL_cdcf: blt IL_cdb0
+
+ IL_cdd4: ldc.i8 0x0
+ IL_cddd: stloc V_12
+ IL_cde1: ldloc V_12
+ IL_cde5: ldc.i8 0x1
+ IL_cdee: add
+ IL_cdef: stloc V_12
+ IL_cdf3: ldloc V_12
+ IL_cdf7: ldc.i8 0x0
+ IL_ce00: blt IL_cde1
+
+ IL_ce05: ldc.i8 0x0
+ IL_ce0e: stloc V_12
+ IL_ce12: ldloc V_12
+ IL_ce16: ldc.i8 0x1
+ IL_ce1f: add
+ IL_ce20: stloc V_12
+ IL_ce24: ldloc V_12
+ IL_ce28: ldc.i8 0x0
+ IL_ce31: blt IL_ce12
+
+ IL_ce36: ldc.i8 0x0
+ IL_ce3f: stloc V_12
+ IL_ce43: ldloc V_12
+ IL_ce47: ldc.i8 0x1
+ IL_ce50: add
+ IL_ce51: stloc V_12
+ IL_ce55: ldloc V_12
+ IL_ce59: ldc.i8 0x1
+ IL_ce62: blt IL_ce43
+
+ IL_ce67: ldloc V_42
+ IL_ce6b: ldc.i8 0x5
+ IL_ce74: add
+ IL_ce75: stloc V_43
+ IL_ce79: ldloc V_11
+ IL_ce7d: ldc.i8 0x1
+ IL_ce86: add
+ IL_ce87: stloc V_11
+ IL_ce8b: ldloc V_11
+ IL_ce8f: ldc.i8 0x1
+ IL_ce98: blt IL_cda3
+
+ IL_ce9d: ldloc V_11
+ IL_cea1: stloc V_14
+ IL_cea5: ldc.i8 0x0
+ IL_ceae: stloc V_10
+ IL_ceb2: ldc.i8 0x0
+ IL_cebb: stloc V_11
+ IL_cebf: br IL_cec4
+
+ IL_cec4: br IL_cec9
+
+ IL_cec9: ldc.i8 0x0
+ IL_ced2: stloc V_12
+ IL_ced6: ldloc V_12
+ IL_ceda: ldc.i8 0x1
+ IL_cee3: add
+ IL_cee4: stloc V_12
+ IL_cee8: ldloc V_12
+ IL_ceec: ldc.i8 0x2
+ IL_cef5: blt IL_ced6
+
+ IL_cefa: ldloc V_20
+ IL_cefe: stloc V_40
+ IL_cf02: ldloc V_11
+ IL_cf06: ldc.i8 0x1
+ IL_cf0f: add
+ IL_cf10: stloc V_11
+ IL_cf14: ldloc V_11
+ IL_cf18: ldc.i8 0x2
+ IL_cf21: blt IL_cebf
+
+ IL_cf26: ldc.i8 0x0
+ IL_cf2f: stloc V_11
+ IL_cf33: ldc.i8 0x0
+ IL_cf3c: stloc V_12
+ IL_cf40: ldloc V_12
+ IL_cf44: ldc.i8 0x1
+ IL_cf4d: add
+ IL_cf4e: stloc V_12
+ IL_cf52: ldloc V_12
+ IL_cf56: ldc.i8 0x1
+ IL_cf5f: blt IL_cf40
+
+ IL_cf64: ldc.i8 0x0
+ IL_cf6d: stloc V_12
+ IL_cf71: ldloc V_12
+ IL_cf75: ldc.i8 0x1
+ IL_cf7e: add
+ IL_cf7f: stloc V_12
+ IL_cf83: ldloc V_12
+ IL_cf87: ldc.i8 0x2
+ IL_cf90: blt IL_cf71
+
+ IL_cf95: br IL_cf9a
+
+ IL_cf9a: ldc.i8 0x0
+ IL_cfa3: stloc V_12
+ IL_cfa7: ldloc V_12
+ IL_cfab: ldc.i8 0x1
+ IL_cfb4: add
+ IL_cfb5: stloc V_12
+ IL_cfb9: ldloc V_12
+ IL_cfbd: ldc.i8 0x2
+ IL_cfc6: blt IL_cfa7
+
+ IL_cfcb: ldloc V_12
+ IL_cfcf: ldloc V_16
+ IL_cfd3: add
+ IL_cfd4: ldc.i8 0x4
+ IL_cfdd: add
+ IL_cfde: stloc V_12
+ IL_cfe2: ldloc V_11
+ IL_cfe6: ldc.i8 0x1
+ IL_cfef: add
+ IL_cff0: stloc V_11
+ IL_cff4: ldloc V_11
+ IL_cff8: ldc.i8 0x0
+ IL_d001: blt IL_cf33
+
+ IL_d006: br IL_d03d
+
+ IL_d00b: ldc.i8 0x0
+ IL_d014: stloc V_12
+ IL_d018: ldloc V_12
+ IL_d01c: ldc.i8 0x1
+ IL_d025: add
+ IL_d026: stloc V_12
+ IL_d02a: ldloc V_12
+ IL_d02e: ldc.i8 0x2
+ IL_d037: blt IL_d018
+
+ IL_d03c: nop
+ IL_d03d: br IL_d0bb
+
+ IL_d042: ldc.i8 0x0
+ IL_d04b: stloc V_12
+ IL_d04f: ldloc V_12
+ IL_d053: ldc.i8 0x1
+ IL_d05c: add
+ IL_d05d: stloc V_12
+ IL_d061: ldloc V_12
+ IL_d065: ldc.i8 0x1
+ IL_d06e: blt IL_d04f
+
+ IL_d073: ldc.i8 0x0
+ IL_d07c: stloc V_12
+ IL_d080: ldloc V_12
+ IL_d084: ldc.i8 0x1
+ IL_d08d: add
+ IL_d08e: stloc V_12
+ IL_d092: ldloc V_12
+ IL_d096: ldc.i8 0x2
+ IL_d09f: blt IL_d080
+
+ IL_d0a4: ldloc V_38
+ IL_d0a8: ldloc V_18
+ IL_d0ac: add
+ IL_d0ad: ldc.i8 0x2
+ IL_d0b6: add
+ IL_d0b7: stloc V_38
+ IL_d0bb: ldloc V_23
+ IL_d0bf: ldloc V_19
+ IL_d0c3: add
+ IL_d0c4: stloc V_23
+ IL_d0c8: ldloc V_10
+ IL_d0cc: ldc.i8 0x1
+ IL_d0d5: add
+ IL_d0d6: stloc V_10
+ IL_d0da: ldloc V_10
+ IL_d0de: ldc.i8 0x2
+ IL_d0e7: blt IL_ceb2
+
+ IL_d0ec: ldc.i8 0x4
+ IL_d0f5: stloc V_31
+ IL_d0f9: br IL_d723
+
+ IL_d0fe: br IL_d202
+
+ IL_d103: ldc.i8 0x0
+ IL_d10c: stloc V_11
+ IL_d110: ldc.i8 0x0
+ IL_d119: stloc V_12
+ IL_d11d: ldloc V_12
+ IL_d121: ldc.i8 0x1
+ IL_d12a: add
+ IL_d12b: stloc V_12
+ IL_d12f: ldloc V_12
+ IL_d133: ldc.i8 0x2
+ IL_d13c: blt IL_d11d
+
+ IL_d141: br IL_d146
+
+ IL_d146: ldloc V_20
+ IL_d14a: ldloc V_49
+ IL_d14e: add
+ IL_d14f: stloc V_44
+ IL_d153: ldloc V_11
+ IL_d157: ldc.i8 0x1
+ IL_d160: add
+ IL_d161: stloc V_11
+ IL_d165: ldloc V_11
+ IL_d169: ldc.i8 0x1
+ IL_d172: blt IL_d110
+
+ IL_d177: ldc.i8 0x0
+ IL_d180: stloc V_11
+ IL_d184: br IL_d189
+
+ IL_d189: ldc.i8 0x0
+ IL_d192: stloc V_12
+ IL_d196: ldloc V_12
+ IL_d19a: ldc.i8 0x1
+ IL_d1a3: add
+ IL_d1a4: stloc V_12
+ IL_d1a8: ldloc V_12
+ IL_d1ac: ldc.i8 0x2
+ IL_d1b5: blt IL_d196
+
+ IL_d1ba: br IL_d1bf
+
+ IL_d1bf: ldc.i8 0x2
+ IL_d1c8: stloc V_22
+ IL_d1cc: ldloc V_11
+ IL_d1d0: ldc.i8 0x1
+ IL_d1d9: add
+ IL_d1da: stloc V_11
+ IL_d1de: ldloc V_11
+ IL_d1e2: ldc.i8 0x0
+ IL_d1eb: blt IL_d184
+
+ IL_d1f0: ldloc V_38
+ IL_d1f4: ldc.i8 0x2
+ IL_d1fd: add
+ IL_d1fe: stloc V_24
+ IL_d202: ldc.i8 0x0
+ IL_d20b: stloc V_10
+ IL_d20f: ldc.i8 0x0
+ IL_d218: stloc V_11
+ IL_d21c: ldc.i8 0x0
+ IL_d225: stloc V_12
+ IL_d229: ldloc V_12
+ IL_d22d: ldc.i8 0x1
+ IL_d236: add
+ IL_d237: stloc V_12
+ IL_d23b: ldloc V_12
+ IL_d23f: ldc.i8 0x0
+ IL_d248: blt IL_d229
+
+ IL_d24d: br IL_d252
+
+ IL_d252: ldc.i8 0x0
+ IL_d25b: stloc V_12
+ IL_d25f: ldloc V_12
+ IL_d263: ldc.i8 0x1
+ IL_d26c: add
+ IL_d26d: stloc V_12
+ IL_d271: ldloc V_12
+ IL_d275: ldc.i8 0x2
+ IL_d27e: blt IL_d25f
+
+ IL_d283: ldc.i8 0x1
+ IL_d28c: stloc V_17
+ IL_d290: ldloc V_11
+ IL_d294: ldc.i8 0x1
+ IL_d29d: add
+ IL_d29e: stloc V_11
+ IL_d2a2: ldloc V_11
+ IL_d2a6: ldc.i8 0x0
+ IL_d2af: blt IL_d21c
+
+ IL_d2b4: ldc.i8 0x0
+ IL_d2bd: stloc V_11
+ IL_d2c1: ldc.i8 0x0
+ IL_d2ca: stloc V_12
+ IL_d2ce: ldloc V_12
+ IL_d2d2: ldc.i8 0x1
+ IL_d2db: add
+ IL_d2dc: stloc V_12
+ IL_d2e0: ldloc V_12
+ IL_d2e4: ldc.i8 0x2
+ IL_d2ed: blt IL_d2ce
+
+ IL_d2f2: ldloc V_31
+ IL_d2f6: stloc V_28
+ IL_d2fa: ldloc V_11
+ IL_d2fe: ldc.i8 0x1
+ IL_d307: add
+ IL_d308: stloc V_11
+ IL_d30c: ldloc V_11
+ IL_d310: ldc.i8 0x2
+ IL_d319: blt IL_d2c1
+
+ IL_d31e: ldc.i8 0x0
+ IL_d327: stloc V_11
+ IL_d32b: ldloc V_7
+ IL_d32f: ldloc V_1
+ IL_d333: add
+ IL_d334: stloc V_44
+ IL_d338: ldloc V_11
+ IL_d33c: ldc.i8 0x1
+ IL_d345: add
+ IL_d346: stloc V_11
+ IL_d34a: ldloc V_11
+ IL_d34e: ldc.i8 0x2
+ IL_d357: blt IL_d32b
+
+ IL_d35c: br IL_d406
+
+ IL_d361: br IL_d366
+
+ IL_d366: ldc.i8 0x0
+ IL_d36f: stloc V_12
+ IL_d373: ldloc V_12
+ IL_d377: ldc.i8 0x1
+ IL_d380: add
+ IL_d381: stloc V_12
+ IL_d385: ldloc V_12
+ IL_d389: ldc.i8 0x1
+ IL_d392: blt IL_d373
+
+ IL_d397: ldc.i8 0x0
+ IL_d3a0: stloc V_12
+ IL_d3a4: ldloc V_12
+ IL_d3a8: ldc.i8 0x1
+ IL_d3b1: add
+ IL_d3b2: stloc V_12
+ IL_d3b6: ldloc V_12
+ IL_d3ba: ldc.i8 0x2
+ IL_d3c3: blt IL_d3a4
+
+ IL_d3c8: ldc.i8 0x0
+ IL_d3d1: stloc V_12
+ IL_d3d5: ldloc V_12
+ IL_d3d9: ldc.i8 0x1
+ IL_d3e2: add
+ IL_d3e3: stloc V_12
+ IL_d3e7: ldloc V_12
+ IL_d3eb: ldc.i8 0x1
+ IL_d3f4: blt IL_d3d5
+
+ IL_d3f9: ldloc V_22
+ IL_d3fd: ldloc V_44
+ IL_d401: add
+ IL_d402: stloc V_22
+ IL_d406: ldloc V_44
+ IL_d40a: ldloc V_14
+ IL_d40e: add
+ IL_d40f: stloc V_28
+ IL_d413: ldloc V_10
+ IL_d417: ldc.i8 0x1
+ IL_d420: add
+ IL_d421: stloc V_10
+ IL_d425: ldloc V_10
+ IL_d429: ldc.i8 0x2
+ IL_d432: blt IL_d20f
+
+ IL_d437: ldc.i8 0x0
+ IL_d440: stloc V_10
+ IL_d444: br IL_d4b8
+
+ IL_d449: ldc.i8 0x0
+ IL_d452: stloc V_12
+ IL_d456: ldloc V_12
+ IL_d45a: ldc.i8 0x1
+ IL_d463: add
+ IL_d464: stloc V_12
+ IL_d468: ldloc V_12
+ IL_d46c: ldc.i8 0x0
+ IL_d475: blt IL_d456
+
+ IL_d47a: ldc.i8 0x0
+ IL_d483: stloc V_12
+ IL_d487: ldloc V_12
+ IL_d48b: ldc.i8 0x1
+ IL_d494: add
+ IL_d495: stloc V_12
+ IL_d499: ldloc V_12
+ IL_d49d: ldc.i8 0x2
+ IL_d4a6: blt IL_d487
+
+ IL_d4ab: ldloc V_21
+ IL_d4af: ldloc V_25
+ IL_d4b3: add
+ IL_d4b4: stloc V_31
+ IL_d4b8: ldc.i8 0x0
+ IL_d4c1: stloc V_11
+ IL_d4c5: ldc.i8 0x0
+ IL_d4ce: stloc V_12
+ IL_d4d2: ldloc V_12
+ IL_d4d6: ldc.i8 0x1
+ IL_d4df: add
+ IL_d4e0: stloc V_12
+ IL_d4e4: ldloc V_12
+ IL_d4e8: ldc.i8 0x2
+ IL_d4f1: blt IL_d4d2
+
+ IL_d4f6: ldloc V_15
+ IL_d4fa: ldloc V_0
+ IL_d4fe: add
+ IL_d4ff: stloc V_15
+ IL_d503: ldloc V_11
+ IL_d507: ldc.i8 0x1
+ IL_d510: add
+ IL_d511: stloc V_11
+ IL_d515: ldloc V_11
+ IL_d519: ldc.i8 0x0
+ IL_d522: blt IL_d4c5
+
+ IL_d527: ldc.i8 0x0
+ IL_d530: stloc V_11
+ IL_d534: nop
+ IL_d535: ldloc V_11
+ IL_d539: ldc.i8 0x1
+ IL_d542: add
+ IL_d543: stloc V_11
+ IL_d547: ldloc V_11
+ IL_d54b: ldc.i8 0x1
+ IL_d554: blt IL_d534
+
+ IL_d559: br IL_d5f7
+
+ IL_d55e: ldc.i8 0x0
+ IL_d567: stloc V_12
+ IL_d56b: ldloc V_12
+ IL_d56f: ldc.i8 0x1
+ IL_d578: add
+ IL_d579: stloc V_12
+ IL_d57d: ldloc V_12
+ IL_d581: ldc.i8 0x0
+ IL_d58a: blt IL_d56b
+
+ IL_d58f: br IL_d594
+
+ IL_d594: ldc.i8 0x0
+ IL_d59d: stloc V_12
+ IL_d5a1: ldloc V_12
+ IL_d5a5: ldc.i8 0x1
+ IL_d5ae: add
+ IL_d5af: stloc V_12
+ IL_d5b3: ldloc V_12
+ IL_d5b7: ldc.i8 0x0
+ IL_d5c0: blt IL_d5a1
+
+ IL_d5c5: ldc.i8 0x0
+ IL_d5ce: stloc V_12
+ IL_d5d2: ldloc V_12
+ IL_d5d6: ldc.i8 0x1
+ IL_d5df: add
+ IL_d5e0: stloc V_12
+ IL_d5e4: ldloc V_12
+ IL_d5e8: ldc.i8 0x1
+ IL_d5f1: blt IL_d5d2
+
+ IL_d5f6: nop
+ IL_d5f7: nop
+ IL_d5f8: ldloc V_10
+ IL_d5fc: ldc.i8 0x1
+ IL_d605: add
+ IL_d606: stloc V_10
+ IL_d60a: ldloc V_10
+ IL_d60e: ldc.i8 0x2
+ IL_d617: blt IL_d444
+
+ IL_d61c: ldc.i8 0x0
+ IL_d625: stloc V_10
+ IL_d629: ldc.i8 0x0
+ IL_d632: stloc V_11
+ IL_d636: br IL_d63b
+
+ IL_d63b: ldloc V_7
+ IL_d63f: ldloc V_40
+ IL_d643: add
+ IL_d644: stloc V_23
+ IL_d648: ldloc V_11
+ IL_d64c: ldc.i8 0x1
+ IL_d655: add
+ IL_d656: stloc V_11
+ IL_d65a: ldloc V_11
+ IL_d65e: ldc.i8 0x1
+ IL_d667: blt IL_d636
+
+ IL_d66c: ldc.i8 0x0
+ IL_d675: stloc V_11
+ IL_d679: ldc.i8 0x0
+ IL_d682: stloc V_12
+ IL_d686: ldloc V_12
+ IL_d68a: ldc.i8 0x1
+ IL_d693: add
+ IL_d694: stloc V_12
+ IL_d698: ldloc V_12
+ IL_d69c: ldc.i8 0x0
+ IL_d6a5: blt IL_d686
+
+ IL_d6aa: ldloc V_2
+ IL_d6ae: ldloc V_22
+ IL_d6b2: add
+ IL_d6b3: stloc V_14
+ IL_d6b7: ldloc V_11
+ IL_d6bb: ldc.i8 0x1
+ IL_d6c4: add
+ IL_d6c5: stloc V_11
+ IL_d6c9: ldloc V_11
+ IL_d6cd: ldc.i8 0x1
+ IL_d6d6: blt IL_d679
+
+ IL_d6db: ldc.i8 0x5
+ IL_d6e4: stloc V_17
+ IL_d6e8: ldloc V_10
+ IL_d6ec: ldc.i8 0x1
+ IL_d6f5: add
+ IL_d6f6: stloc V_10
+ IL_d6fa: ldloc V_10
+ IL_d6fe: ldc.i8 0x1
+ IL_d707: blt IL_d629
+
+ IL_d70c: ldloc V_38
+ IL_d710: ldloc V_37
+ IL_d714: add
+ IL_d715: ldc.i8 0x9
+ IL_d71e: add
+ IL_d71f: stloc V_38
+ IL_d723: ldloc V_12
+ IL_d727: stloc V_28
+ IL_d72b: ldc.i8 0x0
+ IL_d734: stloc V_22
+ IL_d738: ldloc V_7
+ IL_d73c: ldc.i8 0x1
+ IL_d745: add
+ IL_d746: stloc V_7
+ IL_d74a: ldloc V_7
+ IL_d74e: ldc.i8 0x0
+ IL_d757: blt IL_b78b
+
+ IL_d75c: ldloc V_1
+ IL_d760: stloc V_29
+ IL_d764: ldloc V_6
+ IL_d768: ldc.i8 0x1
+ IL_d771: add
+ IL_d772: stloc V_6
+ IL_d776: ldloc V_6
+ IL_d77a: ldc.i8 0x1
+ IL_d783: blt IL_b47e
+
+ IL_d788: br IL_fe0a
+
+ IL_d78d: ldc.i8 0x0
+ IL_d796: stloc V_7
+ IL_d79a: br IL_dbc4
+
+ IL_d79f: br IL_dbad
+
+ IL_d7a4: ldc.i8 0x0
+ IL_d7ad: stloc V_10
+ IL_d7b1: br IL_d7c8
+
+ IL_d7b6: br IL_d7bb
+
+ IL_d7bb: ldloc V_21
+ IL_d7bf: ldloc V_13
+ IL_d7c3: add
+ IL_d7c4: stloc V_21
+ IL_d7c8: ldc.i8 0x0
+ IL_d7d1: stloc V_11
+ IL_d7d5: ldc.i8 0x0
+ IL_d7de: stloc V_12
+ IL_d7e2: ldloc V_12
+ IL_d7e6: ldc.i8 0x1
+ IL_d7ef: add
+ IL_d7f0: stloc V_12
+ IL_d7f4: ldloc V_12
+ IL_d7f8: ldc.i8 0x1
+ IL_d801: blt IL_d7e2
+
+ IL_d806: ldc.i8 0x0
+ IL_d80f: stloc V_12
+ IL_d813: ldloc V_12
+ IL_d817: ldc.i8 0x1
+ IL_d820: add
+ IL_d821: stloc V_12
+ IL_d825: ldloc V_12
+ IL_d829: ldc.i8 0x2
+ IL_d832: blt IL_d813
+
+ IL_d837: ldloc V_41
+ IL_d83b: ldloc V_15
+ IL_d83f: add
+ IL_d840: stloc V_41
+ IL_d844: ldloc V_11
+ IL_d848: ldc.i8 0x1
+ IL_d851: add
+ IL_d852: stloc V_11
+ IL_d856: ldloc V_11
+ IL_d85a: ldc.i8 0x0
+ IL_d863: blt IL_d7d5
+
+ IL_d868: ldc.i8 0x0
+ IL_d871: stloc V_11
+ IL_d875: br IL_d87a
+
+ IL_d87a: ldc.i8 0x0
+ IL_d883: stloc V_12
+ IL_d887: ldloc V_12
+ IL_d88b: ldc.i8 0x1
+ IL_d894: add
+ IL_d895: stloc V_12
+ IL_d899: ldloc V_12
+ IL_d89d: ldc.i8 0x0
+ IL_d8a6: blt IL_d887
+
+ IL_d8ab: nop
+ IL_d8ac: ldloc V_11
+ IL_d8b0: ldc.i8 0x1
+ IL_d8b9: add
+ IL_d8ba: stloc V_11
+ IL_d8be: ldloc V_11
+ IL_d8c2: ldc.i8 0x1
+ IL_d8cb: blt IL_d875
+
+ IL_d8d0: ldc.i8 0x0
+ IL_d8d9: stloc V_11
+ IL_d8dd: br IL_d8e2
+
+ IL_d8e2: ldc.i8 0x0
+ IL_d8eb: stloc V_12
+ IL_d8ef: ldloc V_12
+ IL_d8f3: ldc.i8 0x1
+ IL_d8fc: add
+ IL_d8fd: stloc V_12
+ IL_d901: ldloc V_12
+ IL_d905: ldc.i8 0x2
+ IL_d90e: blt IL_d8ef
+
+ IL_d913: br IL_d918
+
+ IL_d918: ldc.i8 0x0
+ IL_d921: stloc V_12
+ IL_d925: ldloc V_12
+ IL_d929: ldc.i8 0x1
+ IL_d932: add
+ IL_d933: stloc V_12
+ IL_d937: ldloc V_12
+ IL_d93b: ldc.i8 0x1
+ IL_d944: blt IL_d925
+
+ IL_d949: ldc.i8 0x7
+ IL_d952: stloc V_26
+ IL_d956: ldloc V_11
+ IL_d95a: ldc.i8 0x1
+ IL_d963: add
+ IL_d964: stloc V_11
+ IL_d968: ldloc V_11
+ IL_d96c: ldc.i8 0x0
+ IL_d975: blt IL_d8dd
+
+ IL_d97a: ldloc V_9
+ IL_d97e: ldloc V_35
+ IL_d982: add
+ IL_d983: stloc V_40
+ IL_d987: ldloc V_10
+ IL_d98b: ldc.i8 0x1
+ IL_d994: add
+ IL_d995: stloc V_10
+ IL_d999: ldloc V_10
+ IL_d99d: ldc.i8 0x0
+ IL_d9a6: blt IL_d7b1
+
+ IL_d9ab: ldc.i8 0x0
+ IL_d9b4: stloc V_10
+ IL_d9b8: ldc.i8 0x0
+ IL_d9c1: stloc V_11
+ IL_d9c5: ldc.i8 0x0
+ IL_d9ce: stloc V_12
+ IL_d9d2: ldloc V_12
+ IL_d9d6: ldc.i8 0x1
+ IL_d9df: add
+ IL_d9e0: stloc V_12
+ IL_d9e4: ldloc V_12
+ IL_d9e8: ldc.i8 0x2
+ IL_d9f1: blt IL_d9d2
+
+ IL_d9f6: ldc.i8 0x0
+ IL_d9ff: stloc V_12
+ IL_da03: ldloc V_12
+ IL_da07: ldc.i8 0x1
+ IL_da10: add
+ IL_da11: stloc V_12
+ IL_da15: ldloc V_12
+ IL_da19: ldc.i8 0x2
+ IL_da22: blt IL_da03
+
+ IL_da27: ldloc V_8
+ IL_da2b: stloc V_43
+ IL_da2f: ldloc V_11
+ IL_da33: ldc.i8 0x1
+ IL_da3c: add
+ IL_da3d: stloc V_11
+ IL_da41: ldloc V_11
+ IL_da45: ldc.i8 0x2
+ IL_da4e: blt IL_d9c5
+
+ IL_da53: ldc.i8 0x0
+ IL_da5c: stloc V_11
+ IL_da60: ldc.i8 0x0
+ IL_da69: stloc V_12
+ IL_da6d: ldloc V_12
+ IL_da71: ldc.i8 0x1
+ IL_da7a: add
+ IL_da7b: stloc V_12
+ IL_da7f: ldloc V_12
+ IL_da83: ldc.i8 0x2
+ IL_da8c: blt IL_da6d
+
+ IL_da91: ldc.i8 0x0
+ IL_da9a: stloc V_12
+ IL_da9e: ldloc V_12
+ IL_daa2: ldc.i8 0x1
+ IL_daab: add
+ IL_daac: stloc V_12
+ IL_dab0: ldloc V_12
+ IL_dab4: ldc.i8 0x0
+ IL_dabd: blt IL_da9e
+
+ IL_dac2: ldc.i8 0x0
+ IL_dacb: stloc V_12
+ IL_dacf: ldloc V_12
+ IL_dad3: ldc.i8 0x1
+ IL_dadc: add
+ IL_dadd: stloc V_12
+ IL_dae1: ldloc V_12
+ IL_dae5: ldc.i8 0x0
+ IL_daee: blt IL_dacf
+
+ IL_daf3: ldc.i8 0x0
+ IL_dafc: stloc V_12
+ IL_db00: ldloc V_12
+ IL_db04: ldc.i8 0x1
+ IL_db0d: add
+ IL_db0e: stloc V_12
+ IL_db12: ldloc V_12
+ IL_db16: ldc.i8 0x2
+ IL_db1f: blt IL_db00
+
+ IL_db24: ldloc V_33
+ IL_db28: ldloc V_45
+ IL_db2c: add
+ IL_db2d: ldc.i8 0x6
+ IL_db36: add
+ IL_db37: stloc V_33
+ IL_db3b: ldloc V_11
+ IL_db3f: ldc.i8 0x1
+ IL_db48: add
+ IL_db49: stloc V_11
+ IL_db4d: ldloc V_11
+ IL_db51: ldc.i8 0x1
+ IL_db5a: blt IL_da60
+
+ IL_db5f: br IL_db7b
+
+ IL_db64: ldloc V_21
+ IL_db68: ldloc V_24
+ IL_db6c: add
+ IL_db6d: ldc.i8 0x1
+ IL_db76: add
+ IL_db77: stloc V_21
+ IL_db7b: nop
+ IL_db7c: ldloc V_10
+ IL_db80: ldc.i8 0x1
+ IL_db89: add
+ IL_db8a: stloc V_10
+ IL_db8e: ldloc V_10
+ IL_db92: ldc.i8 0x1
+ IL_db9b: blt IL_d9b8
+
+ IL_dba0: ldloc V_33
+ IL_dba4: ldloc V_30
+ IL_dba8: add
+ IL_dba9: stloc V_16
+ IL_dbad: ldloc V_12
+ IL_dbb1: ldloc V_15
+ IL_dbb5: add
+ IL_dbb6: ldc.i8 0x1
+ IL_dbbf: add
+ IL_dbc0: stloc V_12
+ IL_dbc4: ldc.i8 0x0
+ IL_dbcd: stloc V_8
+ IL_dbd1: ldloc V_15
+ IL_dbd5: ldc.i8 0x7
+ IL_dbde: add
+ IL_dbdf: stloc V_46
+ IL_dbe3: ldloc V_8
+ IL_dbe7: ldc.i8 0x1
+ IL_dbf0: add
+ IL_dbf1: stloc V_8
+ IL_dbf5: ldloc V_8
+ IL_dbf9: ldc.i8 0x2
+ IL_dc02: blt IL_dbd1
+
+ IL_dc07: ldc.i8 0x0
+ IL_dc10: stloc V_8
+ IL_dc14: br IL_dc73
+
+ IL_dc19: ldc.i8 0x0
+ IL_dc22: stloc V_10
+ IL_dc26: ldloc V_44
+ IL_dc2a: ldc.i8 0x9
+ IL_dc33: add
+ IL_dc34: stloc V_38
+ IL_dc38: ldloc V_10
+ IL_dc3c: ldc.i8 0x1
+ IL_dc45: add
+ IL_dc46: stloc V_10
+ IL_dc4a: ldloc V_10
+ IL_dc4e: ldc.i8 0x2
+ IL_dc57: blt IL_dc26
+
+ IL_dc5c: ldloc V_39
+ IL_dc60: ldloc V_14
+ IL_dc64: add
+ IL_dc65: ldc.i8 0x6
+ IL_dc6e: add
+ IL_dc6f: stloc V_39
+ IL_dc73: ldc.i8 0x0
+ IL_dc7c: stloc V_9
+ IL_dc80: ldc.i8 0x0
+ IL_dc89: stloc V_10
+ IL_dc8d: ldc.i8 0x0
+ IL_dc96: stloc V_11
+ IL_dc9a: ldc.i8 0x0
+ IL_dca3: stloc V_12
+ IL_dca7: ldloc V_12
+ IL_dcab: ldc.i8 0x1
+ IL_dcb4: add
+ IL_dcb5: stloc V_12
+ IL_dcb9: ldloc V_12
+ IL_dcbd: ldc.i8 0x0
+ IL_dcc6: blt IL_dca7
+
+ IL_dccb: br IL_dcd0
+
+ IL_dcd0: ldc.i8 0x9
+ IL_dcd9: stloc V_30
+ IL_dcdd: ldloc V_11
+ IL_dce1: ldc.i8 0x1
+ IL_dcea: add
+ IL_dceb: stloc V_11
+ IL_dcef: ldloc V_11
+ IL_dcf3: ldc.i8 0x2
+ IL_dcfc: blt IL_dc9a
+
+ IL_dd01: br IL_dd75
+
+ IL_dd06: ldc.i8 0x0
+ IL_dd0f: stloc V_12
+ IL_dd13: ldloc V_12
+ IL_dd17: ldc.i8 0x1
+ IL_dd20: add
+ IL_dd21: stloc V_12
+ IL_dd25: ldloc V_12
+ IL_dd29: ldc.i8 0x2
+ IL_dd32: blt IL_dd13
+
+ IL_dd37: br IL_dd3c
+
+ IL_dd3c: ldc.i8 0x0
+ IL_dd45: stloc V_12
+ IL_dd49: ldloc V_12
+ IL_dd4d: ldc.i8 0x1
+ IL_dd56: add
+ IL_dd57: stloc V_12
+ IL_dd5b: ldloc V_12
+ IL_dd5f: ldc.i8 0x2
+ IL_dd68: blt IL_dd49
+
+ IL_dd6d: ldloc V_48
+ IL_dd71: stloc V_15
+ IL_dd75: ldc.i8 0x0
+ IL_dd7e: stloc V_11
+ IL_dd82: ldc.i8 0x0
+ IL_dd8b: stloc V_12
+ IL_dd8f: ldloc V_12
+ IL_dd93: ldc.i8 0x1
+ IL_dd9c: add
+ IL_dd9d: stloc V_12
+ IL_dda1: ldloc V_12
+ IL_dda5: ldc.i8 0x2
+ IL_ddae: blt IL_dd8f
+
+ IL_ddb3: ldc.i8 0x0
+ IL_ddbc: stloc V_12
+ IL_ddc0: ldloc V_12
+ IL_ddc4: ldc.i8 0x1
+ IL_ddcd: add
+ IL_ddce: stloc V_12
+ IL_ddd2: ldloc V_12
+ IL_ddd6: ldc.i8 0x1
+ IL_dddf: blt IL_ddc0
+
+ IL_dde4: ldc.i8 0x0
+ IL_dded: stloc V_12
+ IL_ddf1: ldloc V_12
+ IL_ddf5: ldc.i8 0x1
+ IL_ddfe: add
+ IL_ddff: stloc V_12
+ IL_de03: ldloc V_12
+ IL_de07: ldc.i8 0x1
+ IL_de10: blt IL_ddf1
+
+ IL_de15: nop
+ IL_de16: ldloc V_11
+ IL_de1a: ldc.i8 0x1
+ IL_de23: add
+ IL_de24: stloc V_11
+ IL_de28: ldloc V_11
+ IL_de2c: ldc.i8 0x1
+ IL_de35: blt IL_dd82
+
+ IL_de3a: ldloc V_34
+ IL_de3e: ldc.i8 0x9
+ IL_de47: add
+ IL_de48: stloc V_24
+ IL_de4c: ldloc V_10
+ IL_de50: ldc.i8 0x1
+ IL_de59: add
+ IL_de5a: stloc V_10
+ IL_de5e: ldloc V_10
+ IL_de62: ldc.i8 0x0
+ IL_de6b: blt IL_dc8d
+
+ IL_de70: ldc.i8 0x0
+ IL_de79: stloc V_10
+ IL_de7d: ldloc V_28
+ IL_de81: ldloc V_35
+ IL_de85: add
+ IL_de86: stloc V_28
+ IL_de8a: ldloc V_10
+ IL_de8e: ldc.i8 0x1
+ IL_de97: add
+ IL_de98: stloc V_10
+ IL_de9c: ldloc V_10
+ IL_dea0: ldc.i8 0x0
+ IL_dea9: blt IL_de7d
+
+ IL_deae: ldc.i8 0x0
+ IL_deb7: stloc V_10
+ IL_debb: ldc.i8 0x0
+ IL_dec4: stloc V_11
+ IL_dec8: br IL_decd
+
+ IL_decd: ldloc V_1
+ IL_ded1: ldloc V_43
+ IL_ded5: add
+ IL_ded6: stloc V_21
+ IL_deda: ldloc V_11
+ IL_dede: ldc.i8 0x1
+ IL_dee7: add
+ IL_dee8: stloc V_11
+ IL_deec: ldloc V_11
+ IL_def0: ldc.i8 0x0
+ IL_def9: blt IL_dec8
+
+ IL_defe: ldloc V_22
+ IL_df02: stloc V_16
+ IL_df06: ldloc V_10
+ IL_df0a: ldc.i8 0x1
+ IL_df13: add
+ IL_df14: stloc V_10
+ IL_df18: ldloc V_10
+ IL_df1c: ldc.i8 0x1
+ IL_df25: blt IL_debb
+
+ IL_df2a: nop
+ IL_df2b: ldloc V_9
+ IL_df2f: ldc.i8 0x1
+ IL_df38: add
+ IL_df39: stloc V_9
+ IL_df3d: ldloc V_9
+ IL_df41: ldc.i8 0x2
+ IL_df4a: blt IL_dc80
+
+ IL_df4f: br IL_e300
+
+ IL_df54: ldc.i8 0x0
+ IL_df5d: stloc V_10
+ IL_df61: ldc.i8 0x0
+ IL_df6a: stloc V_11
+ IL_df6e: br IL_df73
+
+ IL_df73: nop
+ IL_df74: ldloc V_11
+ IL_df78: ldc.i8 0x1
+ IL_df81: add
+ IL_df82: stloc V_11
+ IL_df86: ldloc V_11
+ IL_df8a: ldc.i8 0x0
+ IL_df93: blt IL_df6e
+
+ IL_df98: ldloc V_19
+ IL_df9c: stloc V_16
+ IL_dfa0: ldloc V_10
+ IL_dfa4: ldc.i8 0x1
+ IL_dfad: add
+ IL_dfae: stloc V_10
+ IL_dfb2: ldloc V_10
+ IL_dfb6: ldc.i8 0x2
+ IL_dfbf: blt IL_df61
+
+ IL_dfc4: ldc.i8 0x0
+ IL_dfcd: stloc V_10
+ IL_dfd1: ldc.i8 0x0
+ IL_dfda: stloc V_11
+ IL_dfde: ldc.i8 0x0
+ IL_dfe7: stloc V_12
+ IL_dfeb: ldloc V_12
+ IL_dfef: ldc.i8 0x1
+ IL_dff8: add
+ IL_dff9: stloc V_12
+ IL_dffd: ldloc V_12
+ IL_e001: ldc.i8 0x2
+ IL_e00a: blt IL_dfeb
+
+ IL_e00f: ldc.i8 0x0
+ IL_e018: stloc V_12
+ IL_e01c: ldloc V_12
+ IL_e020: ldc.i8 0x1
+ IL_e029: add
+ IL_e02a: stloc V_12
+ IL_e02e: ldloc V_12
+ IL_e032: ldc.i8 0x1
+ IL_e03b: blt IL_e01c
+
+ IL_e040: ldc.i8 0x0
+ IL_e049: stloc V_12
+ IL_e04d: ldloc V_12
+ IL_e051: ldc.i8 0x1
+ IL_e05a: add
+ IL_e05b: stloc V_12
+ IL_e05f: ldloc V_12
+ IL_e063: ldc.i8 0x2
+ IL_e06c: blt IL_e04d
+
+ IL_e071: ldc.i8 0x0
+ IL_e07a: stloc V_12
+ IL_e07e: ldloc V_12
+ IL_e082: ldc.i8 0x1
+ IL_e08b: add
+ IL_e08c: stloc V_12
+ IL_e090: ldloc V_12
+ IL_e094: ldc.i8 0x0
+ IL_e09d: blt IL_e07e
+
+ IL_e0a2: ldloc V_48
+ IL_e0a6: stloc V_38
+ IL_e0aa: ldloc V_11
+ IL_e0ae: ldc.i8 0x1
+ IL_e0b7: add
+ IL_e0b8: stloc V_11
+ IL_e0bc: ldloc V_11
+ IL_e0c0: ldc.i8 0x1
+ IL_e0c9: blt IL_dfde
+
+ IL_e0ce: nop
+ IL_e0cf: ldloc V_10
+ IL_e0d3: ldc.i8 0x1
+ IL_e0dc: add
+ IL_e0dd: stloc V_10
+ IL_e0e1: ldloc V_10
+ IL_e0e5: ldc.i8 0x1
+ IL_e0ee: blt IL_dfd1
+
+ IL_e0f3: ldc.i8 0x0
+ IL_e0fc: stloc V_10
+ IL_e100: br IL_e17e
+
+ IL_e105: br IL_e10a
+
+ IL_e10a: ldc.i8 0x0
+ IL_e113: stloc V_12
+ IL_e117: ldloc V_12
+ IL_e11b: ldc.i8 0x1
+ IL_e124: add
+ IL_e125: stloc V_12
+ IL_e129: ldloc V_12
+ IL_e12d: ldc.i8 0x2
+ IL_e136: blt IL_e117
+
+ IL_e13b: ldc.i8 0x0
+ IL_e144: stloc V_12
+ IL_e148: ldloc V_12
+ IL_e14c: ldc.i8 0x1
+ IL_e155: add
+ IL_e156: stloc V_12
+ IL_e15a: ldloc V_12
+ IL_e15e: ldc.i8 0x2
+ IL_e167: blt IL_e148
+
+ IL_e16c: ldloc V_20
+ IL_e170: ldc.i8 0x7
+ IL_e179: add
+ IL_e17a: stloc V_15
+ IL_e17e: ldc.i8 0x0
+ IL_e187: stloc V_11
+ IL_e18b: ldc.i8 0x0
+ IL_e194: stloc V_12
+ IL_e198: ldloc V_12
+ IL_e19c: ldc.i8 0x1
+ IL_e1a5: add
+ IL_e1a6: stloc V_12
+ IL_e1aa: ldloc V_12
+ IL_e1ae: ldc.i8 0x1
+ IL_e1b7: blt IL_e198
+
+ IL_e1bc: ldc.i8 0x0
+ IL_e1c5: stloc V_12
+ IL_e1c9: ldloc V_12
+ IL_e1cd: ldc.i8 0x1
+ IL_e1d6: add
+ IL_e1d7: stloc V_12
+ IL_e1db: ldloc V_12
+ IL_e1df: ldc.i8 0x2
+ IL_e1e8: blt IL_e1c9
+
+ IL_e1ed: ldc.i8 0x0
+ IL_e1f6: stloc V_12
+ IL_e1fa: ldloc V_12
+ IL_e1fe: ldc.i8 0x1
+ IL_e207: add
+ IL_e208: stloc V_12
+ IL_e20c: ldloc V_12
+ IL_e210: ldc.i8 0x2
+ IL_e219: blt IL_e1fa
+
+ IL_e21e: ldc.i8 0x8
+ IL_e227: stloc V_41
+ IL_e22b: ldloc V_11
+ IL_e22f: ldc.i8 0x1
+ IL_e238: add
+ IL_e239: stloc V_11
+ IL_e23d: ldloc V_11
+ IL_e241: ldc.i8 0x0
+ IL_e24a: blt IL_e18b
+
+ IL_e24f: ldc.i8 0x0
+ IL_e258: stloc V_11
+ IL_e25c: br IL_e261
+
+ IL_e261: nop
+ IL_e262: ldloc V_11
+ IL_e266: ldc.i8 0x1
+ IL_e26f: add
+ IL_e270: stloc V_11
+ IL_e274: ldloc V_11
+ IL_e278: ldc.i8 0x2
+ IL_e281: blt IL_e25c
+
+ IL_e286: ldc.i8 0x0
+ IL_e28f: stloc V_11
+ IL_e293: ldloc V_35
+ IL_e297: ldloc V_17
+ IL_e29b: add
+ IL_e29c: ldc.i8 0x7
+ IL_e2a5: add
+ IL_e2a6: stloc V_35
+ IL_e2aa: ldloc V_11
+ IL_e2ae: ldc.i8 0x1
+ IL_e2b7: add
+ IL_e2b8: stloc V_11
+ IL_e2bc: ldloc V_11
+ IL_e2c0: ldc.i8 0x1
+ IL_e2c9: blt IL_e293
+
+ IL_e2ce: nop
+ IL_e2cf: ldloc V_10
+ IL_e2d3: ldc.i8 0x1
+ IL_e2dc: add
+ IL_e2dd: stloc V_10
+ IL_e2e1: ldloc V_10
+ IL_e2e5: ldc.i8 0x1
+ IL_e2ee: blt IL_e100
+
+ IL_e2f3: ldloc V_35
+ IL_e2f7: ldloc V_48
+ IL_e2fb: add
+ IL_e2fc: stloc V_35
+ IL_e300: ldloc V_30
+ IL_e304: ldloc V_33
+ IL_e308: add
+ IL_e309: stloc V_20
+ IL_e30d: ldloc V_8
+ IL_e311: ldc.i8 0x1
+ IL_e31a: add
+ IL_e31b: stloc V_8
+ IL_e31f: ldloc V_8
+ IL_e323: ldc.i8 0x1
+ IL_e32c: blt IL_dc14
+
+ IL_e331: ldc.i8 0x0
+ IL_e33a: stloc V_8
+ IL_e33e: nop
+ IL_e33f: ldloc V_8
+ IL_e343: ldc.i8 0x1
+ IL_e34c: add
+ IL_e34d: stloc V_8
+ IL_e351: ldloc V_8
+ IL_e355: ldc.i8 0x0
+ IL_e35e: blt IL_e33e
+
+ IL_e363: nop
+ IL_e364: ldloc V_7
+ IL_e368: ldc.i8 0x1
+ IL_e371: add
+ IL_e372: stloc V_7
+ IL_e376: ldloc V_7
+ IL_e37a: ldc.i8 0x2
+ IL_e383: blt IL_d79a
+
+ IL_e388: ldc.i8 0x0
+ IL_e391: stloc V_7
+ IL_e395: ldc.i8 0x0
+ IL_e39e: stloc V_8
+ IL_e3a2: ldloc V_39
+ IL_e3a6: ldloc V_11
+ IL_e3aa: add
+ IL_e3ab: stloc V_33
+ IL_e3af: ldloc V_8
+ IL_e3b3: ldc.i8 0x1
+ IL_e3bc: add
+ IL_e3bd: stloc V_8
+ IL_e3c1: ldloc V_8
+ IL_e3c5: ldc.i8 0x0
+ IL_e3ce: blt IL_e3a2
+
+ IL_e3d3: ldc.i8 0x0
+ IL_e3dc: stloc V_8
+ IL_e3e0: ldc.i8 0x0
+ IL_e3e9: stloc V_9
+ IL_e3ed: ldloc V_48
+ IL_e3f1: stloc V_13
+ IL_e3f5: ldloc V_9
+ IL_e3f9: ldc.i8 0x1
+ IL_e402: add
+ IL_e403: stloc V_9
+ IL_e407: ldloc V_9
+ IL_e40b: ldc.i8 0x2
+ IL_e414: blt IL_e3ed
+
+ IL_e419: ldc.i8 0x8
+ IL_e422: stloc V_16
+ IL_e426: ldloc V_8
+ IL_e42a: ldc.i8 0x1
+ IL_e433: add
+ IL_e434: stloc V_8
+ IL_e438: ldloc V_8
+ IL_e43c: ldc.i8 0x1
+ IL_e445: blt IL_e3e0
+
+ IL_e44a: ldc.i8 0x0
+ IL_e453: stloc V_8
+ IL_e457: ldc.i8 0x0
+ IL_e460: stloc V_9
+ IL_e464: ldc.i8 0x0
+ IL_e46d: stloc V_10
+ IL_e471: ldc.i8 0x0
+ IL_e47a: stloc V_11
+ IL_e47e: nop
+ IL_e47f: ldloc V_11
+ IL_e483: ldc.i8 0x1
+ IL_e48c: add
+ IL_e48d: stloc V_11
+ IL_e491: ldloc V_11
+ IL_e495: ldc.i8 0x1
+ IL_e49e: blt IL_e47e
+
+ IL_e4a3: nop
+ IL_e4a4: ldloc V_10
+ IL_e4a8: ldc.i8 0x1
+ IL_e4b1: add
+ IL_e4b2: stloc V_10
+ IL_e4b6: ldloc V_10
+ IL_e4ba: ldc.i8 0x2
+ IL_e4c3: blt IL_e471
+
+ IL_e4c8: br IL_e53e
+
+ IL_e4cd: ldc.i8 0x0
+ IL_e4d6: stloc V_11
+ IL_e4da: ldloc V_47
+ IL_e4de: ldloc V_0
+ IL_e4e2: add
+ IL_e4e3: stloc V_22
+ IL_e4e7: ldloc V_11
+ IL_e4eb: ldc.i8 0x1
+ IL_e4f4: add
+ IL_e4f5: stloc V_11
+ IL_e4f9: ldloc V_11
+ IL_e4fd: ldc.i8 0x1
+ IL_e506: blt IL_e4da
+
+ IL_e50b: br IL_e52c
+
+ IL_e510: br IL_e515
+
+ IL_e515: br IL_e51a
+
+ IL_e51a: ldloc V_20
+ IL_e51e: ldc.i8 0x0
+ IL_e527: add
+ IL_e528: stloc V_42
+ IL_e52c: ldloc V_29
+ IL_e530: ldc.i8 0x1
+ IL_e539: add
+ IL_e53a: stloc V_43
+ IL_e53e: br IL_e6a4
+
+ IL_e543: ldc.i8 0x0
+ IL_e54c: stloc V_11
+ IL_e550: ldc.i8 0x0
+ IL_e559: stloc V_12
+ IL_e55d: ldloc V_12
+ IL_e561: ldc.i8 0x1
+ IL_e56a: add
+ IL_e56b: stloc V_12
+ IL_e56f: ldloc V_12
+ IL_e573: ldc.i8 0x1
+ IL_e57c: blt IL_e55d
+
+ IL_e581: ldc.i8 0x0
+ IL_e58a: stloc V_12
+ IL_e58e: ldloc V_12
+ IL_e592: ldc.i8 0x1
+ IL_e59b: add
+ IL_e59c: stloc V_12
+ IL_e5a0: ldloc V_12
+ IL_e5a4: ldc.i8 0x2
+ IL_e5ad: blt IL_e58e
+
+ IL_e5b2: ldc.i8 0x0
+ IL_e5bb: stloc V_12
+ IL_e5bf: ldloc V_12
+ IL_e5c3: ldc.i8 0x1
+ IL_e5cc: add
+ IL_e5cd: stloc V_12
+ IL_e5d1: ldloc V_12
+ IL_e5d5: ldc.i8 0x0
+ IL_e5de: blt IL_e5bf
+
+ IL_e5e3: ldloc V_38
+ IL_e5e7: ldloc V_25
+ IL_e5eb: add
+ IL_e5ec: ldc.i8 0x7
+ IL_e5f5: add
+ IL_e5f6: stloc V_38
+ IL_e5fa: ldloc V_11
+ IL_e5fe: ldc.i8 0x1
+ IL_e607: add
+ IL_e608: stloc V_11
+ IL_e60c: ldloc V_11
+ IL_e610: ldc.i8 0x2
+ IL_e619: blt IL_e550
+
+ IL_e61e: ldc.i8 0x0
+ IL_e627: stloc V_11
+ IL_e62b: br IL_e630
+
+ IL_e630: ldc.i8 0x0
+ IL_e639: stloc V_12
+ IL_e63d: ldloc V_12
+ IL_e641: ldc.i8 0x1
+ IL_e64a: add
+ IL_e64b: stloc V_12
+ IL_e64f: ldloc V_12
+ IL_e653: ldc.i8 0x1
+ IL_e65c: blt IL_e63d
+
+ IL_e661: ldloc V_36
+ IL_e665: stloc V_28
+ IL_e669: ldloc V_11
+ IL_e66d: ldc.i8 0x1
+ IL_e676: add
+ IL_e677: stloc V_11
+ IL_e67b: ldloc V_11
+ IL_e67f: ldc.i8 0x2
+ IL_e688: blt IL_e62b
+
+ IL_e68d: ldloc V_19
+ IL_e691: ldloc V_48
+ IL_e695: add
+ IL_e696: ldc.i8 0x4
+ IL_e69f: add
+ IL_e6a0: stloc V_19
+ IL_e6a4: ldc.i8 0x0
+ IL_e6ad: stloc V_10
+ IL_e6b1: ldc.i8 0x0
+ IL_e6ba: stloc V_11
+ IL_e6be: br IL_e6c3
+
+ IL_e6c3: ldc.i8 0x0
+ IL_e6cc: stloc V_12
+ IL_e6d0: ldloc V_12
+ IL_e6d4: ldc.i8 0x1
+ IL_e6dd: add
+ IL_e6de: stloc V_12
+ IL_e6e2: ldloc V_12
+ IL_e6e6: ldc.i8 0x2
+ IL_e6ef: blt IL_e6d0
+
+ IL_e6f4: ldc.i8 0x0
+ IL_e6fd: stloc V_12
+ IL_e701: ldloc V_12
+ IL_e705: ldc.i8 0x1
+ IL_e70e: add
+ IL_e70f: stloc V_12
+ IL_e713: ldloc V_12
+ IL_e717: ldc.i8 0x1
+ IL_e720: blt IL_e701
+
+ IL_e725: ldc.i8 0x0
+ IL_e72e: stloc V_12
+ IL_e732: ldloc V_12
+ IL_e736: ldc.i8 0x1
+ IL_e73f: add
+ IL_e740: stloc V_12
+ IL_e744: ldloc V_12
+ IL_e748: ldc.i8 0x1
+ IL_e751: blt IL_e732
+
+ IL_e756: ldc.i8 0x7
+ IL_e75f: stloc V_32
+ IL_e763: ldloc V_11
+ IL_e767: ldc.i8 0x1
+ IL_e770: add
+ IL_e771: stloc V_11
+ IL_e775: ldloc V_11
+ IL_e779: ldc.i8 0x0
+ IL_e782: blt IL_e6be
+
+ IL_e787: ldc.i8 0x0
+ IL_e790: stloc V_11
+ IL_e794: ldc.i8 0x0
+ IL_e79d: stloc V_12
+ IL_e7a1: ldloc V_12
+ IL_e7a5: ldc.i8 0x1
+ IL_e7ae: add
+ IL_e7af: stloc V_12
+ IL_e7b3: ldloc V_12
+ IL_e7b7: ldc.i8 0x1
+ IL_e7c0: blt IL_e7a1
+
+ IL_e7c5: br IL_e7ca
+
+ IL_e7ca: ldloc V_48
+ IL_e7ce: stloc V_34
+ IL_e7d2: ldloc V_11
+ IL_e7d6: ldc.i8 0x1
+ IL_e7df: add
+ IL_e7e0: stloc V_11
+ IL_e7e4: ldloc V_11
+ IL_e7e8: ldc.i8 0x1
+ IL_e7f1: blt IL_e794
+
+ IL_e7f6: ldloc V_49
+ IL_e7fa: ldloc V_36
+ IL_e7fe: add
+ IL_e7ff: stloc V_49
+ IL_e803: ldloc V_10
+ IL_e807: ldc.i8 0x1
+ IL_e810: add
+ IL_e811: stloc V_10
+ IL_e815: ldloc V_10
+ IL_e819: ldc.i8 0x2
+ IL_e822: blt IL_e6b1
+
+ IL_e827: ldloc V_19
+ IL_e82b: ldc.i8 0x8
+ IL_e834: add
+ IL_e835: stloc V_20
+ IL_e839: ldloc V_9
+ IL_e83d: ldc.i8 0x1
+ IL_e846: add
+ IL_e847: stloc V_9
+ IL_e84b: ldloc V_9
+ IL_e84f: ldc.i8 0x0
+ IL_e858: blt IL_e464
+
+ IL_e85d: ldloc V_36
+ IL_e861: stloc V_18
+ IL_e865: ldloc V_8
+ IL_e869: ldc.i8 0x1
+ IL_e872: add
+ IL_e873: stloc V_8
+ IL_e877: ldloc V_8
+ IL_e87b: ldc.i8 0x0
+ IL_e884: blt IL_e457
+
+ IL_e889: ldc.i8 0x0
+ IL_e892: stloc V_8
+ IL_e896: ldloc V_12
+ IL_e89a: ldc.i8 0x8
+ IL_e8a3: add
+ IL_e8a4: stloc V_15
+ IL_e8a8: ldloc V_8
+ IL_e8ac: ldc.i8 0x1
+ IL_e8b5: add
+ IL_e8b6: stloc V_8
+ IL_e8ba: ldloc V_8
+ IL_e8be: ldc.i8 0x0
+ IL_e8c7: blt IL_e896
+
+ IL_e8cc: nop
+ IL_e8cd: ldloc V_7
+ IL_e8d1: ldc.i8 0x1
+ IL_e8da: add
+ IL_e8db: stloc V_7
+ IL_e8df: ldloc V_7
+ IL_e8e3: ldc.i8 0x1
+ IL_e8ec: blt IL_e395
+
+ IL_e8f1: ldc.i8 0x0
+ IL_e8fa: stloc V_7
+ IL_e8fe: br IL_f043
+
+ IL_e903: ldc.i8 0x0
+ IL_e90c: stloc V_9
+ IL_e910: ldc.i8 0x0
+ IL_e919: stloc V_10
+ IL_e91d: ldloc V_48
+ IL_e921: ldc.i8 0x9
+ IL_e92a: add
+ IL_e92b: stloc V_14
+ IL_e92f: ldloc V_10
+ IL_e933: ldc.i8 0x1
+ IL_e93c: add
+ IL_e93d: stloc V_10
+ IL_e941: ldloc V_10
+ IL_e945: ldc.i8 0x1
+ IL_e94e: blt IL_e91d
+
+ IL_e953: br IL_e965
+
+ IL_e958: ldc.i8 0x7
+ IL_e961: stloc V_38
+ IL_e965: ldc.i8 0x0
+ IL_e96e: stloc V_10
+ IL_e972: br IL_e9f0
+
+ IL_e977: br IL_e97c
+
+ IL_e97c: ldc.i8 0x0
+ IL_e985: stloc V_12
+ IL_e989: ldloc V_12
+ IL_e98d: ldc.i8 0x1
+ IL_e996: add
+ IL_e997: stloc V_12
+ IL_e99b: ldloc V_12
+ IL_e99f: ldc.i8 0x0
+ IL_e9a8: blt IL_e989
+
+ IL_e9ad: ldc.i8 0x0
+ IL_e9b6: stloc V_12
+ IL_e9ba: ldloc V_12
+ IL_e9be: ldc.i8 0x1
+ IL_e9c7: add
+ IL_e9c8: stloc V_12
+ IL_e9cc: ldloc V_12
+ IL_e9d0: ldc.i8 0x1
+ IL_e9d9: blt IL_e9ba
+
+ IL_e9de: ldloc V_33
+ IL_e9e2: ldc.i8 0x8
+ IL_e9eb: add
+ IL_e9ec: stloc V_28
+ IL_e9f0: br IL_ea33
+
+ IL_e9f5: ldc.i8 0x0
+ IL_e9fe: stloc V_12
+ IL_ea02: ldloc V_12
+ IL_ea06: ldc.i8 0x1
+ IL_ea0f: add
+ IL_ea10: stloc V_12
+ IL_ea14: ldloc V_12
+ IL_ea18: ldc.i8 0x0
+ IL_ea21: blt IL_ea02
+
+ IL_ea26: ldloc V_17
+ IL_ea2a: ldloc V_20
+ IL_ea2e: add
+ IL_ea2f: stloc V_22
+ IL_ea33: ldc.i8 0x0
+ IL_ea3c: stloc V_11
+ IL_ea40: ldc.i8 0x0
+ IL_ea49: stloc V_12
+ IL_ea4d: ldloc V_12
+ IL_ea51: ldc.i8 0x1
+ IL_ea5a: add
+ IL_ea5b: stloc V_12
+ IL_ea5f: ldloc V_12
+ IL_ea63: ldc.i8 0x0
+ IL_ea6c: blt IL_ea4d
+
+ IL_ea71: ldc.i8 0x0
+ IL_ea7a: stloc V_12
+ IL_ea7e: ldloc V_12
+ IL_ea82: ldc.i8 0x1
+ IL_ea8b: add
+ IL_ea8c: stloc V_12
+ IL_ea90: ldloc V_12
+ IL_ea94: ldc.i8 0x2
+ IL_ea9d: blt IL_ea7e
+
+ IL_eaa2: ldc.i8 0x0
+ IL_eaab: stloc V_12
+ IL_eaaf: ldloc V_12
+ IL_eab3: ldc.i8 0x1
+ IL_eabc: add
+ IL_eabd: stloc V_12
+ IL_eac1: ldloc V_12
+ IL_eac5: ldc.i8 0x0
+ IL_eace: blt IL_eaaf
+
+ IL_ead3: ldc.i8 0x0
+ IL_eadc: stloc V_12
+ IL_eae0: ldloc V_12
+ IL_eae4: ldc.i8 0x1
+ IL_eaed: add
+ IL_eaee: stloc V_12
+ IL_eaf2: ldloc V_12
+ IL_eaf6: ldc.i8 0x0
+ IL_eaff: blt IL_eae0
+
+ IL_eb04: ldloc V_41
+ IL_eb08: ldloc V_29
+ IL_eb0c: add
+ IL_eb0d: ldc.i8 0x6
+ IL_eb16: add
+ IL_eb17: stloc V_41
+ IL_eb1b: ldloc V_11
+ IL_eb1f: ldc.i8 0x1
+ IL_eb28: add
+ IL_eb29: stloc V_11
+ IL_eb2d: ldloc V_11
+ IL_eb31: ldc.i8 0x0
+ IL_eb3a: blt IL_ea40
+
+ IL_eb3f: br IL_eb87
+
+ IL_eb44: br IL_eb49
+
+ IL_eb49: br IL_eb4e
+
+ IL_eb4e: ldc.i8 0x0
+ IL_eb57: stloc V_12
+ IL_eb5b: ldloc V_12
+ IL_eb5f: ldc.i8 0x1
+ IL_eb68: add
+ IL_eb69: stloc V_12
+ IL_eb6d: ldloc V_12
+ IL_eb71: ldc.i8 0x0
+ IL_eb7a: blt IL_eb5b
+
+ IL_eb7f: ldloc V_44
+ IL_eb83: stloc V_44
+ IL_eb87: ldloc V_18
+ IL_eb8b: ldloc V_29
+ IL_eb8f: add
+ IL_eb90: stloc V_46
+ IL_eb94: ldloc V_10
+ IL_eb98: ldc.i8 0x1
+ IL_eba1: add
+ IL_eba2: stloc V_10
+ IL_eba6: ldloc V_10
+ IL_ebaa: ldc.i8 0x2
+ IL_ebb3: blt IL_e972
+
+ IL_ebb8: ldc.i8 0x0
+ IL_ebc1: stloc V_10
+ IL_ebc5: ldloc V_8
+ IL_ebc9: ldloc V_14
+ IL_ebcd: add
+ IL_ebce: stloc V_35
+ IL_ebd2: ldloc V_10
+ IL_ebd6: ldc.i8 0x1
+ IL_ebdf: add
+ IL_ebe0: stloc V_10
+ IL_ebe4: ldloc V_10
+ IL_ebe8: ldc.i8 0x0
+ IL_ebf1: blt IL_ebc5
+
+ IL_ebf6: ldloc V_18
+ IL_ebfa: ldloc V_29
+ IL_ebfe: add
+ IL_ebff: ldc.i8 0x1
+ IL_ec08: add
+ IL_ec09: stloc V_18
+ IL_ec0d: ldloc V_9
+ IL_ec11: ldc.i8 0x1
+ IL_ec1a: add
+ IL_ec1b: stloc V_9
+ IL_ec1f: ldloc V_9
+ IL_ec23: ldc.i8 0x1
+ IL_ec2c: blt IL_e910
+
+ IL_ec31: br IL_ef31
+
+ IL_ec36: br IL_ed42
+
+ IL_ec3b: ldc.i8 0x0
+ IL_ec44: stloc V_11
+ IL_ec48: br IL_ec4d
+
+ IL_ec4d: ldloc V_6
+ IL_ec51: stloc V_46
+ IL_ec55: ldloc V_11
+ IL_ec59: ldc.i8 0x1
+ IL_ec62: add
+ IL_ec63: stloc V_11
+ IL_ec67: ldloc V_11
+ IL_ec6b: ldc.i8 0x0
+ IL_ec74: blt IL_ec48
+
+ IL_ec79: ldc.i8 0x0
+ IL_ec82: stloc V_11
+ IL_ec86: br IL_ec8b
+
+ IL_ec8b: ldc.i8 0x9
+ IL_ec94: stloc V_42
+ IL_ec98: ldloc V_11
+ IL_ec9c: ldc.i8 0x1
+ IL_eca5: add
+ IL_eca6: stloc V_11
+ IL_ecaa: ldloc V_11
+ IL_ecae: ldc.i8 0x0
+ IL_ecb7: blt IL_ec86
+
+ IL_ecbc: ldc.i8 0x0
+ IL_ecc5: stloc V_11
+ IL_ecc9: br IL_ecce
+
+ IL_ecce: ldc.i8 0x0
+ IL_ecd7: stloc V_12
+ IL_ecdb: ldloc V_12
+ IL_ecdf: ldc.i8 0x1
+ IL_ece8: add
+ IL_ece9: stloc V_12
+ IL_eced: ldloc V_12
+ IL_ecf1: ldc.i8 0x2
+ IL_ecfa: blt IL_ecdb
+
+ IL_ecff: br IL_ed04
+
+ IL_ed04: ldc.i8 0x8
+ IL_ed0d: stloc V_30
+ IL_ed11: ldloc V_11
+ IL_ed15: ldc.i8 0x1
+ IL_ed1e: add
+ IL_ed1f: stloc V_11
+ IL_ed23: ldloc V_11
+ IL_ed27: ldc.i8 0x2
+ IL_ed30: blt IL_ecc9
+
+ IL_ed35: ldloc V_46
+ IL_ed39: ldloc V_44
+ IL_ed3d: add
+ IL_ed3e: stloc V_46
+ IL_ed42: ldc.i8 0x0
+ IL_ed4b: stloc V_10
+ IL_ed4f: br IL_ee25
+
+ IL_ed54: ldc.i8 0x0
+ IL_ed5d: stloc V_12
+ IL_ed61: ldloc V_12
+ IL_ed65: ldc.i8 0x1
+ IL_ed6e: add
+ IL_ed6f: stloc V_12
+ IL_ed73: ldloc V_12
+ IL_ed77: ldc.i8 0x0
+ IL_ed80: blt IL_ed61
+
+ IL_ed85: ldc.i8 0x0
+ IL_ed8e: stloc V_12
+ IL_ed92: ldloc V_12
+ IL_ed96: ldc.i8 0x1
+ IL_ed9f: add
+ IL_eda0: stloc V_12
+ IL_eda4: ldloc V_12
+ IL_eda8: ldc.i8 0x2
+ IL_edb1: blt IL_ed92
+
+ IL_edb6: ldc.i8 0x0
+ IL_edbf: stloc V_12
+ IL_edc3: ldloc V_12
+ IL_edc7: ldc.i8 0x1
+ IL_edd0: add
+ IL_edd1: stloc V_12
+ IL_edd5: ldloc V_12
+ IL_edd9: ldc.i8 0x1
+ IL_ede2: blt IL_edc3
+
+ IL_ede7: ldc.i8 0x0
+ IL_edf0: stloc V_12
+ IL_edf4: ldloc V_12
+ IL_edf8: ldc.i8 0x1
+ IL_ee01: add
+ IL_ee02: stloc V_12
+ IL_ee06: ldloc V_12
+ IL_ee0a: ldc.i8 0x1
+ IL_ee13: blt IL_edf4
+
+ IL_ee18: ldloc V_48
+ IL_ee1c: ldloc V_16
+ IL_ee20: add
+ IL_ee21: stloc V_48
+ IL_ee25: ldloc V_38
+ IL_ee29: ldloc V_8
+ IL_ee2d: add
+ IL_ee2e: stloc V_38
+ IL_ee32: ldloc V_10
+ IL_ee36: ldc.i8 0x1
+ IL_ee3f: add
+ IL_ee40: stloc V_10
+ IL_ee44: ldloc V_10
+ IL_ee48: ldc.i8 0x2
+ IL_ee51: blt IL_ed4f
+
+ IL_ee56: br IL_ef24
+
+ IL_ee5b: br IL_ee72
+
+ IL_ee60: ldloc V_13
+ IL_ee64: ldc.i8 0x6
+ IL_ee6d: add
+ IL_ee6e: stloc V_28
+ IL_ee72: ldc.i8 0x0
+ IL_ee7b: stloc V_11
+ IL_ee7f: ldc.i8 0x0
+ IL_ee88: stloc V_12
+ IL_ee8c: ldloc V_12
+ IL_ee90: ldc.i8 0x1
+ IL_ee99: add
+ IL_ee9a: stloc V_12
+ IL_ee9e: ldloc V_12
+ IL_eea2: ldc.i8 0x2
+ IL_eeab: blt IL_ee8c
+
+ IL_eeb0: ldc.i8 0x0
+ IL_eeb9: stloc V_12
+ IL_eebd: ldloc V_12
+ IL_eec1: ldc.i8 0x1
+ IL_eeca: add
+ IL_eecb: stloc V_12
+ IL_eecf: ldloc V_12
+ IL_eed3: ldc.i8 0x1
+ IL_eedc: blt IL_eebd
+
+ IL_eee1: br IL_eee6
+
+ IL_eee6: ldloc V_40
+ IL_eeea: ldloc V_15
+ IL_eeee: add
+ IL_eeef: stloc V_40
+ IL_eef3: ldloc V_11
+ IL_eef7: ldc.i8 0x1
+ IL_ef00: add
+ IL_ef01: stloc V_11
+ IL_ef05: ldloc V_11
+ IL_ef09: ldc.i8 0x1
+ IL_ef12: blt IL_ee7f
+
+ IL_ef17: ldc.i8 0x0
+ IL_ef20: stloc V_11
+ IL_ef24: ldloc V_20
+ IL_ef28: ldloc V_8
+ IL_ef2c: add
+ IL_ef2d: stloc V_20
+ IL_ef31: ldc.i8 0x0
+ IL_ef3a: stloc V_9
+ IL_ef3e: ldc.i8 0x0
+ IL_ef47: stloc V_10
+ IL_ef4b: br IL_ef82
+
+ IL_ef50: ldc.i8 0x0
+ IL_ef59: stloc V_12
+ IL_ef5d: ldloc V_12
+ IL_ef61: ldc.i8 0x1
+ IL_ef6a: add
+ IL_ef6b: stloc V_12
+ IL_ef6f: ldloc V_12
+ IL_ef73: ldc.i8 0x0
+ IL_ef7c: blt IL_ef5d
+
+ IL_ef81: nop
+ IL_ef82: ldc.i8 0x0
+ IL_ef8b: stloc V_11
+ IL_ef8f: br IL_ef94
+
+ IL_ef94: br IL_ef99
+
+ IL_ef99: br IL_ef9e
+
+ IL_ef9e: ldloc V_40
+ IL_efa2: ldloc V_42
+ IL_efa6: add
+ IL_efa7: stloc V_40
+ IL_efab: ldloc V_11
+ IL_efaf: ldc.i8 0x1
+ IL_efb8: add
+ IL_efb9: stloc V_11
+ IL_efbd: ldloc V_11
+ IL_efc1: ldc.i8 0x0
+ IL_efca: blt IL_ef8f
+
+ IL_efcf: ldc.i8 0x7
+ IL_efd8: stloc V_46
+ IL_efdc: ldloc V_10
+ IL_efe0: ldc.i8 0x1
+ IL_efe9: add
+ IL_efea: stloc V_10
+ IL_efee: ldloc V_10
+ IL_eff2: ldc.i8 0x0
+ IL_effb: blt IL_ef4b
+
+ IL_f000: ldloc V_23
+ IL_f004: ldc.i8 0x8
+ IL_f00d: add
+ IL_f00e: stloc V_20
+ IL_f012: ldloc V_9
+ IL_f016: ldc.i8 0x1
+ IL_f01f: add
+ IL_f020: stloc V_9
+ IL_f024: ldloc V_9
+ IL_f028: ldc.i8 0x1
+ IL_f031: blt IL_ef3e
+
+ IL_f036: ldloc V_44
+ IL_f03a: ldloc V_36
+ IL_f03e: add
+ IL_f03f: stloc V_17
+ IL_f043: br IL_fdd1
+
+ IL_f048: ldc.i8 0x0
+ IL_f051: stloc V_9
+ IL_f055: br IL_f185
+
+ IL_f05a: ldc.i8 0x0
+ IL_f063: stloc V_11
+ IL_f067: ldc.i8 0x0
+ IL_f070: stloc V_12
+ IL_f074: ldloc V_12
+ IL_f078: ldc.i8 0x1
+ IL_f081: add
+ IL_f082: stloc V_12
+ IL_f086: ldloc V_12
+ IL_f08a: ldc.i8 0x2
+ IL_f093: blt IL_f074
+
+ IL_f098: ldloc V_49
+ IL_f09c: ldloc V_49
+ IL_f0a0: add
+ IL_f0a1: stloc V_49
+ IL_f0a5: ldloc V_11
+ IL_f0a9: ldc.i8 0x1
+ IL_f0b2: add
+ IL_f0b3: stloc V_11
+ IL_f0b7: ldloc V_11
+ IL_f0bb: ldc.i8 0x2
+ IL_f0c4: blt IL_f067
+
+ IL_f0c9: ldc.i8 0x0
+ IL_f0d2: stloc V_11
+ IL_f0d6: ldc.i8 0x0
+ IL_f0df: stloc V_12
+ IL_f0e3: ldloc V_12
+ IL_f0e7: ldc.i8 0x1
+ IL_f0f0: add
+ IL_f0f1: stloc V_12
+ IL_f0f5: ldloc V_12
+ IL_f0f9: ldc.i8 0x1
+ IL_f102: blt IL_f0e3
+
+ IL_f107: ldc.i8 0x0
+ IL_f110: stloc V_12
+ IL_f114: ldloc V_12
+ IL_f118: ldc.i8 0x1
+ IL_f121: add
+ IL_f122: stloc V_12
+ IL_f126: ldloc V_12
+ IL_f12a: ldc.i8 0x0
+ IL_f133: blt IL_f114
+
+ IL_f138: ldloc V_43
+ IL_f13c: ldloc V_30
+ IL_f140: add
+ IL_f141: ldc.i8 0x7
+ IL_f14a: add
+ IL_f14b: stloc V_43
+ IL_f14f: ldloc V_11
+ IL_f153: ldc.i8 0x1
+ IL_f15c: add
+ IL_f15d: stloc V_11
+ IL_f161: ldloc V_11
+ IL_f165: ldc.i8 0x1
+ IL_f16e: blt IL_f0d6
+
+ IL_f173: ldloc V_7
+ IL_f177: ldc.i8 0x0
+ IL_f180: add
+ IL_f181: stloc V_18
+ IL_f185: br IL_f300
+
+ IL_f18a: br IL_f1cd
+
+ IL_f18f: ldc.i8 0x0
+ IL_f198: stloc V_12
+ IL_f19c: ldloc V_12
+ IL_f1a0: ldc.i8 0x1
+ IL_f1a9: add
+ IL_f1aa: stloc V_12
+ IL_f1ae: ldloc V_12
+ IL_f1b2: ldc.i8 0x1
+ IL_f1bb: blt IL_f19c
+
+ IL_f1c0: ldc.i8 0x6
+ IL_f1c9: stloc V_21
+ IL_f1cd: br IL_f23c
+
+ IL_f1d2: ldc.i8 0x0
+ IL_f1db: stloc V_12
+ IL_f1df: ldloc V_12
+ IL_f1e3: ldc.i8 0x1
+ IL_f1ec: add
+ IL_f1ed: stloc V_12
+ IL_f1f1: ldloc V_12
+ IL_f1f5: ldc.i8 0x1
+ IL_f1fe: blt IL_f1df
+
+ IL_f203: ldc.i8 0x0
+ IL_f20c: stloc V_12
+ IL_f210: ldloc V_12
+ IL_f214: ldc.i8 0x1
+ IL_f21d: add
+ IL_f21e: stloc V_12
+ IL_f222: ldloc V_12
+ IL_f226: ldc.i8 0x0
+ IL_f22f: blt IL_f210
+
+ IL_f234: ldloc V_7
+ IL_f238: stloc V_25
+ IL_f23c: br IL_f24e
+
+ IL_f241: ldc.i8 0x5
+ IL_f24a: stloc V_21
+ IL_f24e: br IL_f2f3
+
+ IL_f253: ldc.i8 0x0
+ IL_f25c: stloc V_12
+ IL_f260: ldloc V_12
+ IL_f264: ldc.i8 0x1
+ IL_f26d: add
+ IL_f26e: stloc V_12
+ IL_f272: ldloc V_12
+ IL_f276: ldc.i8 0x0
+ IL_f27f: blt IL_f260
+
+ IL_f284: ldc.i8 0x0
+ IL_f28d: stloc V_12
+ IL_f291: ldloc V_12
+ IL_f295: ldc.i8 0x1
+ IL_f29e: add
+ IL_f29f: stloc V_12
+ IL_f2a3: ldloc V_12
+ IL_f2a7: ldc.i8 0x1
+ IL_f2b0: blt IL_f291
+
+ IL_f2b5: ldc.i8 0x0
+ IL_f2be: stloc V_12
+ IL_f2c2: ldloc V_12
+ IL_f2c6: ldc.i8 0x1
+ IL_f2cf: add
+ IL_f2d0: stloc V_12
+ IL_f2d4: ldloc V_12
+ IL_f2d8: ldc.i8 0x1
+ IL_f2e1: blt IL_f2c2
+
+ IL_f2e6: br IL_f2eb
+
+ IL_f2eb: ldloc V_40
+ IL_f2ef: stloc V_36
+ IL_f2f3: ldloc V_37
+ IL_f2f7: ldloc V_39
+ IL_f2fb: add
+ IL_f2fc: stloc V_37
+ IL_f300: ldc.i8 0x0
+ IL_f309: stloc V_10
+ IL_f30d: br IL_f31d
+
+ IL_f312: br IL_f317
+
+ IL_f317: br IL_f31c
+
+ IL_f31c: nop
+ IL_f31d: ldloc V_47
+ IL_f321: ldloc V_42
+ IL_f325: add
+ IL_f326: stloc V_37
+ IL_f32a: ldloc V_10
+ IL_f32e: ldc.i8 0x1
+ IL_f337: add
+ IL_f338: stloc V_10
+ IL_f33c: ldloc V_10
+ IL_f340: ldc.i8 0x2
+ IL_f349: blt IL_f30d
+
+ IL_f34e: ldloc V_30
+ IL_f352: ldc.i8 0x4
+ IL_f35b: add
+ IL_f35c: stloc V_17
+ IL_f360: ldloc V_9
+ IL_f364: ldc.i8 0x1
+ IL_f36d: add
+ IL_f36e: stloc V_9
+ IL_f372: ldloc V_9
+ IL_f376: ldc.i8 0x0
+ IL_f37f: blt IL_f055
+
+ IL_f384: ldc.i8 0x0
+ IL_f38d: stloc V_9
+ IL_f391: br IL_f46d
+
+ IL_f396: br IL_f460
+
+ IL_f39b: ldc.i8 0x0
+ IL_f3a4: stloc V_12
+ IL_f3a8: ldloc V_12
+ IL_f3ac: ldc.i8 0x1
+ IL_f3b5: add
+ IL_f3b6: stloc V_12
+ IL_f3ba: ldloc V_12
+ IL_f3be: ldc.i8 0x1
+ IL_f3c7: blt IL_f3a8
+
+ IL_f3cc: ldc.i8 0x0
+ IL_f3d5: stloc V_12
+ IL_f3d9: ldloc V_12
+ IL_f3dd: ldc.i8 0x1
+ IL_f3e6: add
+ IL_f3e7: stloc V_12
+ IL_f3eb: ldloc V_12
+ IL_f3ef: ldc.i8 0x2
+ IL_f3f8: blt IL_f3d9
+
+ IL_f3fd: ldc.i8 0x0
+ IL_f406: stloc V_12
+ IL_f40a: ldloc V_12
+ IL_f40e: ldc.i8 0x1
+ IL_f417: add
+ IL_f418: stloc V_12
+ IL_f41c: ldloc V_12
+ IL_f420: ldc.i8 0x0
+ IL_f429: blt IL_f40a
+
+ IL_f42e: ldc.i8 0x0
+ IL_f437: stloc V_12
+ IL_f43b: ldloc V_12
+ IL_f43f: ldc.i8 0x1
+ IL_f448: add
+ IL_f449: stloc V_12
+ IL_f44d: ldloc V_12
+ IL_f451: ldc.i8 0x1
+ IL_f45a: blt IL_f43b
+
+ IL_f45f: nop
+ IL_f460: ldc.i8 0x4
+ IL_f469: stloc V_39
+ IL_f46d: ldc.i8 0x0
+ IL_f476: stloc V_10
+ IL_f47a: ldc.i8 0x0
+ IL_f483: stloc V_11
+ IL_f487: br IL_f48c
+
+ IL_f48c: ldloc V_13
+ IL_f490: ldloc V_33
+ IL_f494: add
+ IL_f495: stloc V_30
+ IL_f499: ldloc V_11
+ IL_f49d: ldc.i8 0x1
+ IL_f4a6: add
+ IL_f4a7: stloc V_11
+ IL_f4ab: ldloc V_11
+ IL_f4af: ldc.i8 0x1
+ IL_f4b8: blt IL_f487
+
+ IL_f4bd: ldc.i8 0x0
+ IL_f4c6: stloc V_11
+ IL_f4ca: ldc.i8 0x0
+ IL_f4d3: stloc V_12
+ IL_f4d7: ldloc V_12
+ IL_f4db: ldc.i8 0x1
+ IL_f4e4: add
+ IL_f4e5: stloc V_12
+ IL_f4e9: ldloc V_12
+ IL_f4ed: ldc.i8 0x1
+ IL_f4f6: blt IL_f4d7
+
+ IL_f4fb: ldc.i8 0x0
+ IL_f504: stloc V_12
+ IL_f508: ldloc V_12
+ IL_f50c: ldc.i8 0x1
+ IL_f515: add
+ IL_f516: stloc V_12
+ IL_f51a: ldloc V_12
+ IL_f51e: ldc.i8 0x0
+ IL_f527: blt IL_f508
+
+ IL_f52c: ldloc V_46
+ IL_f530: ldloc V_27
+ IL_f534: add
+ IL_f535: stloc V_46
+ IL_f539: ldloc V_11
+ IL_f53d: ldc.i8 0x1
+ IL_f546: add
+ IL_f547: stloc V_11
+ IL_f54b: ldloc V_11
+ IL_f54f: ldc.i8 0x2
+ IL_f558: blt IL_f4ca
+
+ IL_f55d: nop
+ IL_f55e: ldloc V_10
+ IL_f562: ldc.i8 0x1
+ IL_f56b: add
+ IL_f56c: stloc V_10
+ IL_f570: ldloc V_10
+ IL_f574: ldc.i8 0x2
+ IL_f57d: blt IL_f47a
+
+ IL_f582: ldc.i8 0x0
+ IL_f58b: stloc V_10
+ IL_f58f: br IL_f5fe
+
+ IL_f594: ldc.i8 0x0
+ IL_f59d: stloc V_12
+ IL_f5a1: ldloc V_12
+ IL_f5a5: ldc.i8 0x1
+ IL_f5ae: add
+ IL_f5af: stloc V_12
+ IL_f5b3: ldloc V_12
+ IL_f5b7: ldc.i8 0x0
+ IL_f5c0: blt IL_f5a1
+
+ IL_f5c5: ldc.i8 0x0
+ IL_f5ce: stloc V_12
+ IL_f5d2: ldloc V_12
+ IL_f5d6: ldc.i8 0x1
+ IL_f5df: add
+ IL_f5e0: stloc V_12
+ IL_f5e4: ldloc V_12
+ IL_f5e8: ldc.i8 0x1
+ IL_f5f1: blt IL_f5d2
+
+ IL_f5f6: ldloc V_16
+ IL_f5fa: stloc V_33
+ IL_f5fe: nop
+ IL_f5ff: ldloc V_10
+ IL_f603: ldc.i8 0x1
+ IL_f60c: add
+ IL_f60d: stloc V_10
+ IL_f611: ldloc V_10
+ IL_f615: ldc.i8 0x0
+ IL_f61e: blt IL_f58f
+
+ IL_f623: br IL_f81e
+
+ IL_f628: ldc.i8 0x0
+ IL_f631: stloc V_11
+ IL_f635: ldc.i8 0x0
+ IL_f63e: stloc V_12
+ IL_f642: ldloc V_12
+ IL_f646: ldc.i8 0x1
+ IL_f64f: add
+ IL_f650: stloc V_12
+ IL_f654: ldloc V_12
+ IL_f658: ldc.i8 0x0
+ IL_f661: blt IL_f642
+
+ IL_f666: br IL_f66b
+
+ IL_f66b: ldc.i8 0x0
+ IL_f674: stloc V_30
+ IL_f678: ldloc V_11
+ IL_f67c: ldc.i8 0x1
+ IL_f685: add
+ IL_f686: stloc V_11
+ IL_f68a: ldloc V_11
+ IL_f68e: ldc.i8 0x1
+ IL_f697: blt IL_f635
+
+ IL_f69c: ldc.i8 0x0
+ IL_f6a5: stloc V_11
+ IL_f6a9: nop
+ IL_f6aa: ldloc V_11
+ IL_f6ae: ldc.i8 0x1
+ IL_f6b7: add
+ IL_f6b8: stloc V_11
+ IL_f6bc: ldloc V_11
+ IL_f6c0: ldc.i8 0x1
+ IL_f6c9: blt IL_f6a9
+
+ IL_f6ce: ldc.i8 0x0
+ IL_f6d7: stloc V_11
+ IL_f6db: br IL_f6e0
+
+ IL_f6e0: ldc.i8 0x0
+ IL_f6e9: stloc V_12
+ IL_f6ed: ldloc V_12
+ IL_f6f1: ldc.i8 0x1
+ IL_f6fa: add
+ IL_f6fb: stloc V_12
+ IL_f6ff: ldloc V_12
+ IL_f703: ldc.i8 0x2
+ IL_f70c: blt IL_f6ed
+
+ IL_f711: ldc.i8 0x0
+ IL_f71a: stloc V_12
+ IL_f71e: ldloc V_12
+ IL_f722: ldc.i8 0x1
+ IL_f72b: add
+ IL_f72c: stloc V_12
+ IL_f730: ldloc V_12
+ IL_f734: ldc.i8 0x2
+ IL_f73d: blt IL_f71e
+
+ IL_f742: ldc.i8 0x0
+ IL_f74b: stloc V_12
+ IL_f74f: ldloc V_12
+ IL_f753: ldc.i8 0x1
+ IL_f75c: add
+ IL_f75d: stloc V_12
+ IL_f761: ldloc V_12
+ IL_f765: ldc.i8 0x2
+ IL_f76e: blt IL_f74f
+
+ IL_f773: ldloc V_16
+ IL_f777: ldloc V_5
+ IL_f77b: add
+ IL_f77c: stloc V_22
+ IL_f780: ldloc V_11
+ IL_f784: ldc.i8 0x1
+ IL_f78d: add
+ IL_f78e: stloc V_11
+ IL_f792: ldloc V_11
+ IL_f796: ldc.i8 0x2
+ IL_f79f: blt IL_f6db
+
+ IL_f7a4: ldc.i8 0x0
+ IL_f7ad: stloc V_11
+ IL_f7b1: ldc.i8 0x0
+ IL_f7ba: stloc V_12
+ IL_f7be: ldloc V_12
+ IL_f7c2: ldc.i8 0x1
+ IL_f7cb: add
+ IL_f7cc: stloc V_12
+ IL_f7d0: ldloc V_12
+ IL_f7d4: ldc.i8 0x2
+ IL_f7dd: blt IL_f7be
+
+ IL_f7e2: br IL_f7e7
+
+ IL_f7e7: br IL_f7ec
+
+ IL_f7ec: ldloc V_48
+ IL_f7f0: ldloc V_1
+ IL_f7f4: add
+ IL_f7f5: stloc V_48
+ IL_f7f9: ldloc V_11
+ IL_f7fd: ldc.i8 0x1
+ IL_f806: add
+ IL_f807: stloc V_11
+ IL_f80b: ldloc V_11
+ IL_f80f: ldc.i8 0x0
+ IL_f818: blt IL_f7b1
+
+ IL_f81d: nop
+ IL_f81e: ldloc V_19
+ IL_f822: ldloc V_48
+ IL_f826: add
+ IL_f827: stloc V_18
+ IL_f82b: ldloc V_9
+ IL_f82f: ldc.i8 0x1
+ IL_f838: add
+ IL_f839: stloc V_9
+ IL_f83d: ldloc V_9
+ IL_f841: ldc.i8 0x2
+ IL_f84a: blt IL_f391
+
+ IL_f84f: ldc.i8 0x0
+ IL_f858: stloc V_9
+ IL_f85c: ldc.i8 0x0
+ IL_f865: stloc V_10
+ IL_f869: br IL_f913
+
+ IL_f86e: ldc.i8 0x0
+ IL_f877: stloc V_12
+ IL_f87b: ldloc V_12
+ IL_f87f: ldc.i8 0x1
+ IL_f888: add
+ IL_f889: stloc V_12
+ IL_f88d: ldloc V_12
+ IL_f891: ldc.i8 0x1
+ IL_f89a: blt IL_f87b
+
+ IL_f89f: br IL_f8a4
+
+ IL_f8a4: ldc.i8 0x0
+ IL_f8ad: stloc V_12
+ IL_f8b1: ldloc V_12
+ IL_f8b5: ldc.i8 0x1
+ IL_f8be: add
+ IL_f8bf: stloc V_12
+ IL_f8c3: ldloc V_12
+ IL_f8c7: ldc.i8 0x0
+ IL_f8d0: blt IL_f8b1
+
+ IL_f8d5: ldc.i8 0x0
+ IL_f8de: stloc V_12
+ IL_f8e2: ldloc V_12
+ IL_f8e6: ldc.i8 0x1
+ IL_f8ef: add
+ IL_f8f0: stloc V_12
+ IL_f8f4: ldloc V_12
+ IL_f8f8: ldc.i8 0x2
+ IL_f901: blt IL_f8e2
+
+ IL_f906: ldloc V_7
+ IL_f90a: ldloc V_25
+ IL_f90e: add
+ IL_f90f: stloc V_36
+ IL_f913: ldc.i8 0x0
+ IL_f91c: stloc V_11
+ IL_f920: ldc.i8 0x0
+ IL_f929: stloc V_12
+ IL_f92d: ldloc V_12
+ IL_f931: ldc.i8 0x1
+ IL_f93a: add
+ IL_f93b: stloc V_12
+ IL_f93f: ldloc V_12
+ IL_f943: ldc.i8 0x2
+ IL_f94c: blt IL_f92d
+
+ IL_f951: ldc.i8 0x0
+ IL_f95a: stloc V_12
+ IL_f95e: ldloc V_12
+ IL_f962: ldc.i8 0x1
+ IL_f96b: add
+ IL_f96c: stloc V_12
+ IL_f970: ldloc V_12
+ IL_f974: ldc.i8 0x2
+ IL_f97d: blt IL_f95e
+
+ IL_f982: ldloc V_7
+ IL_f986: ldloc V_22
+ IL_f98a: add
+ IL_f98b: stloc V_24
+ IL_f98f: ldloc V_11
+ IL_f993: ldc.i8 0x1
+ IL_f99c: add
+ IL_f99d: stloc V_11
+ IL_f9a1: ldloc V_11
+ IL_f9a5: ldc.i8 0x1
+ IL_f9ae: blt IL_f920
+
+ IL_f9b3: br IL_fa1b
+
+ IL_f9b8: ldc.i8 0x0
+ IL_f9c1: stloc V_12
+ IL_f9c5: ldloc V_12
+ IL_f9c9: ldc.i8 0x1
+ IL_f9d2: add
+ IL_f9d3: stloc V_12
+ IL_f9d7: ldloc V_12
+ IL_f9db: ldc.i8 0x2
+ IL_f9e4: blt IL_f9c5
+
+ IL_f9e9: ldc.i8 0x0
+ IL_f9f2: stloc V_12
+ IL_f9f6: ldloc V_12
+ IL_f9fa: ldc.i8 0x1
+ IL_fa03: add
+ IL_fa04: stloc V_12
+ IL_fa08: ldloc V_12
+ IL_fa0c: ldc.i8 0x0
+ IL_fa15: blt IL_f9f6
+
+ IL_fa1a: nop
+ IL_fa1b: ldloc V_21
+ IL_fa1f: stloc V_48
+ IL_fa23: ldloc V_10
+ IL_fa27: ldc.i8 0x1
+ IL_fa30: add
+ IL_fa31: stloc V_10
+ IL_fa35: ldloc V_10
+ IL_fa39: ldc.i8 0x1
+ IL_fa42: blt IL_f869
+
+ IL_fa47: ldc.i8 0x6
+ IL_fa50: stloc V_17
+ IL_fa54: ldloc V_9
+ IL_fa58: ldc.i8 0x1
+ IL_fa61: add
+ IL_fa62: stloc V_9
+ IL_fa66: ldloc V_9
+ IL_fa6a: ldc.i8 0x1
+ IL_fa73: blt IL_f85c
+
+ IL_fa78: br IL_fdc4
+
+ IL_fa7d: ldc.i8 0x0
+ IL_fa86: stloc V_10
+ IL_fa8a: br IL_fa95
+
+ IL_fa8f: br IL_fa94
+
+ IL_fa94: nop
+ IL_fa95: ldc.i8 0x0
+ IL_fa9e: stloc V_11
+ IL_faa2: ldloc V_14
+ IL_faa6: ldloc V_13
+ IL_faaa: add
+ IL_faab: stloc V_37
+ IL_faaf: ldloc V_11
+ IL_fab3: ldc.i8 0x1
+ IL_fabc: add
+ IL_fabd: stloc V_11
+ IL_fac1: ldloc V_11
+ IL_fac5: ldc.i8 0x1
+ IL_face: blt IL_faa2
+
+ IL_fad3: br IL_fb2a
+
+ IL_fad8: ldc.i8 0x0
+ IL_fae1: stloc V_12
+ IL_fae5: ldloc V_12
+ IL_fae9: ldc.i8 0x1
+ IL_faf2: add
+ IL_faf3: stloc V_12
+ IL_faf7: ldloc V_12
+ IL_fafb: ldc.i8 0x2
+ IL_fb04: blt IL_fae5
+
+ IL_fb09: br IL_fb0e
+
+ IL_fb0e: br IL_fb13
+
+ IL_fb13: ldloc V_22
+ IL_fb17: ldloc V_28
+ IL_fb1b: add
+ IL_fb1c: ldc.i8 0x1
+ IL_fb25: add
+ IL_fb26: stloc V_22
+ IL_fb2a: ldc.i8 0x0
+ IL_fb33: stloc V_11
+ IL_fb37: ldc.i8 0x0
+ IL_fb40: stloc V_12
+ IL_fb44: ldloc V_12
+ IL_fb48: ldc.i8 0x1
+ IL_fb51: add
+ IL_fb52: stloc V_12
+ IL_fb56: ldloc V_12
+ IL_fb5a: ldc.i8 0x2
+ IL_fb63: blt IL_fb44
+
+ IL_fb68: ldc.i8 0x0
+ IL_fb71: stloc V_12
+ IL_fb75: ldloc V_12
+ IL_fb79: ldc.i8 0x1
+ IL_fb82: add
+ IL_fb83: stloc V_12
+ IL_fb87: ldloc V_12
+ IL_fb8b: ldc.i8 0x1
+ IL_fb94: blt IL_fb75
+
+ IL_fb99: br IL_fb9e
+
+ IL_fb9e: ldloc V_49
+ IL_fba2: stloc V_15
+ IL_fba6: ldloc V_11
+ IL_fbaa: ldc.i8 0x1
+ IL_fbb3: add
+ IL_fbb4: stloc V_11
+ IL_fbb8: ldloc V_11
+ IL_fbbc: ldc.i8 0x0
+ IL_fbc5: blt IL_fb37
+
+ IL_fbca: ldc.i8 0x1
+ IL_fbd3: stloc V_26
+ IL_fbd7: ldloc V_10
+ IL_fbdb: ldc.i8 0x1
+ IL_fbe4: add
+ IL_fbe5: stloc V_10
+ IL_fbe9: ldloc V_10
+ IL_fbed: ldc.i8 0x2
+ IL_fbf6: blt IL_fa8a
+
+ IL_fbfb: ldc.i8 0x0
+ IL_fc04: stloc V_10
+ IL_fc08: ldc.i8 0x0
+ IL_fc11: stloc V_11
+ IL_fc15: ldc.i8 0x0
+ IL_fc1e: stloc V_12
+ IL_fc22: ldloc V_12
+ IL_fc26: ldc.i8 0x1
+ IL_fc2f: add
+ IL_fc30: stloc V_12
+ IL_fc34: ldloc V_12
+ IL_fc38: ldc.i8 0x2
+ IL_fc41: blt IL_fc22
+
+ IL_fc46: ldc.i8 0x0
+ IL_fc4f: stloc V_12
+ IL_fc53: ldloc V_12
+ IL_fc57: ldc.i8 0x1
+ IL_fc60: add
+ IL_fc61: stloc V_12
+ IL_fc65: ldloc V_12
+ IL_fc69: ldc.i8 0x2
+ IL_fc72: blt IL_fc53
+
+ IL_fc77: ldc.i8 0x5
+ IL_fc80: stloc V_33
+ IL_fc84: ldloc V_11
+ IL_fc88: ldc.i8 0x1
+ IL_fc91: add
+ IL_fc92: stloc V_11
+ IL_fc96: ldloc V_11
+ IL_fc9a: ldc.i8 0x2
+ IL_fca3: blt IL_fc15
+
+ IL_fca8: br IL_fd72
+
+ IL_fcad: ldc.i8 0x0
+ IL_fcb6: stloc V_12
+ IL_fcba: ldloc V_12
+ IL_fcbe: ldc.i8 0x1
+ IL_fcc7: add
+ IL_fcc8: stloc V_12
+ IL_fccc: ldloc V_12
+ IL_fcd0: ldc.i8 0x2
+ IL_fcd9: blt IL_fcba
+
+ IL_fcde: ldc.i8 0x0
+ IL_fce7: stloc V_12
+ IL_fceb: ldloc V_12
+ IL_fcef: ldc.i8 0x1
+ IL_fcf8: add
+ IL_fcf9: stloc V_12
+ IL_fcfd: ldloc V_12
+ IL_fd01: ldc.i8 0x0
+ IL_fd0a: blt IL_fceb
+
+ IL_fd0f: ldc.i8 0x0
+ IL_fd18: stloc V_12
+ IL_fd1c: ldloc V_12
+ IL_fd20: ldc.i8 0x1
+ IL_fd29: add
+ IL_fd2a: stloc V_12
+ IL_fd2e: ldloc V_12
+ IL_fd32: ldc.i8 0x2
+ IL_fd3b: blt IL_fd1c
+
+ IL_fd40: ldc.i8 0x0
+ IL_fd49: stloc V_12
+ IL_fd4d: ldloc V_12
+ IL_fd51: ldc.i8 0x1
+ IL_fd5a: add
+ IL_fd5b: stloc V_12
+ IL_fd5f: ldloc V_12
+ IL_fd63: ldc.i8 0x0
+ IL_fd6c: blt IL_fd4d
+
+ IL_fd71: nop
+ IL_fd72: ldloc V_13
+ IL_fd76: ldloc V_49
+ IL_fd7a: add
+ IL_fd7b: ldc.i8 0x9
+ IL_fd84: add
+ IL_fd85: stloc V_13
+ IL_fd89: ldloc V_10
+ IL_fd8d: ldc.i8 0x1
+ IL_fd96: add
+ IL_fd97: stloc V_10
+ IL_fd9b: ldloc V_10
+ IL_fd9f: ldc.i8 0x0
+ IL_fda8: blt IL_fc08
+
+ IL_fdad: ldloc V_46
+ IL_fdb1: ldloc V_38
+ IL_fdb5: add
+ IL_fdb6: ldc.i8 0x4
+ IL_fdbf: add
+ IL_fdc0: stloc V_46
+ IL_fdc4: ldloc V_46
+ IL_fdc8: ldloc V_32
+ IL_fdcc: add
+ IL_fdcd: stloc V_13
+ IL_fdd1: ldloc V_19
+ IL_fdd5: ldloc V_16
+ IL_fdd9: add
+ IL_fdda: stloc V_16
+ IL_fdde: ldloc V_7
+ IL_fde2: ldc.i8 0x1
+ IL_fdeb: add
+ IL_fdec: stloc V_7
+ IL_fdf0: ldloc V_7
+ IL_fdf4: ldc.i8 0x1
+ IL_fdfd: blt IL_e8fe
+
+ IL_fe02: ldloc V_16
+ IL_fe06: stloc V_20
+ IL_fe0a: ldc.i8 0x0
+ IL_fe13: stloc V_6
+ IL_fe17: ldc.i8 0x0
+ IL_fe20: stloc V_8
+ IL_fe24: ldloc V_6
+ IL_fe28: ldc.i8 0x1
+ IL_fe31: add
+ IL_fe32: stloc V_6
+ IL_fe36: ldloc V_6
+ IL_fe3a: ldc.i8 0x2
+ IL_fe43: blt IL_fe17
+
+ IL_fe48: ldc.i8 0x0
+ IL_fe51: stloc V_6
+ IL_fe55: br IL_fe6c
+
+ IL_fe5a: ldloc V_27
+ IL_fe5e: ldc.i8 0x0
+ IL_fe67: add
+ IL_fe68: stloc V_12
+ IL_fe6c: ldc.i8 0x0
+ IL_fe75: stloc V_7
+ IL_fe79: br IL_10c26
+
+ IL_fe7e: ldc.i8 0x0
+ IL_fe87: stloc V_9
+ IL_fe8b: ldc.i8 0x0
+ IL_fe94: stloc V_10
+ IL_fe98: ldloc V_49
+ IL_fe9c: stloc V_35
+ IL_fea0: ldloc V_10
+ IL_fea4: ldc.i8 0x1
+ IL_fead: add
+ IL_feae: stloc V_10
+ IL_feb2: ldloc V_10
+ IL_feb6: ldc.i8 0x0
+ IL_febf: blt IL_fe98
+
+ IL_fec4: ldc.i8 0x0
+ IL_fecd: stloc V_10
+ IL_fed1: br IL_ff6a
+
+ IL_fed6: ldc.i8 0x0
+ IL_fedf: stloc V_12
+ IL_fee3: ldloc V_12
+ IL_fee7: ldc.i8 0x1
+ IL_fef0: add
+ IL_fef1: stloc V_12
+ IL_fef5: ldloc V_12
+ IL_fef9: ldc.i8 0x0
+ IL_ff02: blt IL_fee3
+
+ IL_ff07: ldc.i8 0x0
+ IL_ff10: stloc V_12
+ IL_ff14: ldloc V_12
+ IL_ff18: ldc.i8 0x1
+ IL_ff21: add
+ IL_ff22: stloc V_12
+ IL_ff26: ldloc V_12
+ IL_ff2a: ldc.i8 0x1
+ IL_ff33: blt IL_ff14
+
+ IL_ff38: ldc.i8 0x0
+ IL_ff41: stloc V_12
+ IL_ff45: ldloc V_12
+ IL_ff49: ldc.i8 0x1
+ IL_ff52: add
+ IL_ff53: stloc V_12
+ IL_ff57: ldloc V_12
+ IL_ff5b: ldc.i8 0x2
+ IL_ff64: blt IL_ff45
+
+ IL_ff69: nop
+ IL_ff6a: ldc.i8 0x0
+ IL_ff73: stloc V_11
+ IL_ff77: br IL_ff7c
+
+ IL_ff7c: br IL_ff81
+
+ IL_ff81: ldc.i8 0x0
+ IL_ff8a: stloc V_12
+ IL_ff8e: ldloc V_12
+ IL_ff92: ldc.i8 0x1
+ IL_ff9b: add
+ IL_ff9c: stloc V_12
+ IL_ffa0: ldloc V_12
+ IL_ffa4: ldc.i8 0x2
+ IL_ffad: blt IL_ff8e
+
+ IL_ffb2: ldloc V_31
+ IL_ffb6: ldloc V_41
+ IL_ffba: add
+ IL_ffbb: ldc.i8 0x0
+ IL_ffc4: add
+ IL_ffc5: stloc V_31
+ IL_ffc9: ldloc V_11
+ IL_ffcd: ldc.i8 0x1
+ IL_ffd6: add
+ IL_ffd7: stloc V_11
+ IL_ffdb: ldloc V_11
+ IL_ffdf: ldc.i8 0x2
+ IL_ffe8: blt IL_ff77
+
+ IL_ffed: ldc.i8 0x0
+ IL_fff6: stloc V_11
+ IL_fffa: ldloc V_48
+ IL_fffe: ldloc V_13
+ IL_10002: add
+ IL_10003: stloc V_34
+ IL_10007: ldloc V_11
+ IL_1000b: ldc.i8 0x1
+ IL_10014: add
+ IL_10015: stloc V_11
+ IL_10019: ldloc V_11
+ IL_1001d: ldc.i8 0x1
+ IL_10026: blt IL_fffa
+
+ IL_1002b: br IL_10042
+
+ IL_10030: ldloc V_30
+ IL_10034: ldc.i8 0x9
+ IL_1003d: add
+ IL_1003e: stloc V_43
+ IL_10042: ldloc V_17
+ IL_10046: ldloc V_1
+ IL_1004a: add
+ IL_1004b: stloc V_17
+ IL_1004f: ldloc V_10
+ IL_10053: ldc.i8 0x1
+ IL_1005c: add
+ IL_1005d: stloc V_10
+ IL_10061: ldloc V_10
+ IL_10065: ldc.i8 0x1
+ IL_1006e: blt IL_fed1
+
+ IL_10073: br IL_10085
+
+ IL_10078: ldc.i8 0x3
+ IL_10081: stloc V_21
+ IL_10085: br IL_100d4
+
+ IL_1008a: br IL_1009c
+
+ IL_1008f: ldloc V_18
+ IL_10093: ldloc V_16
+ IL_10097: add
+ IL_10098: stloc V_18
+ IL_1009c: ldc.i8 0x0
+ IL_100a5: stloc V_11
+ IL_100a9: br IL_100ae
+
+ IL_100ae: nop
+ IL_100af: ldloc V_11
+ IL_100b3: ldc.i8 0x1
+ IL_100bc: add
+ IL_100bd: stloc V_11
+ IL_100c1: ldloc V_11
+ IL_100c5: ldc.i8 0x0
+ IL_100ce: blt IL_100a9
+
+ IL_100d3: nop
+ IL_100d4: nop
+ IL_100d5: ldloc V_9
+ IL_100d9: ldc.i8 0x1
+ IL_100e2: add
+ IL_100e3: stloc V_9
+ IL_100e7: ldloc V_9
+ IL_100eb: ldc.i8 0x1
+ IL_100f4: blt IL_fe8b
+
+ IL_100f9: br IL_1042a
+
+ IL_100fe: ldc.i8 0x0
+ IL_10107: stloc V_10
+ IL_1010b: ldc.i8 0x0
+ IL_10114: stloc V_11
+ IL_10118: ldc.i8 0x0
+ IL_10121: stloc V_12
+ IL_10125: ldloc V_12
+ IL_10129: ldc.i8 0x1
+ IL_10132: add
+ IL_10133: stloc V_12
+ IL_10137: ldloc V_12
+ IL_1013b: ldc.i8 0x0
+ IL_10144: blt IL_10125
+
+ IL_10149: br IL_1014e
+
+ IL_1014e: ldloc V_40
+ IL_10152: ldloc V_18
+ IL_10156: add
+ IL_10157: ldc.i8 0x1
+ IL_10160: add
+ IL_10161: stloc V_40
+ IL_10165: ldloc V_11
+ IL_10169: ldc.i8 0x1
+ IL_10172: add
+ IL_10173: stloc V_11
+ IL_10177: ldloc V_11
+ IL_1017b: ldc.i8 0x2
+ IL_10184: blt IL_10118
+
+ IL_10189: ldc.i8 0x0
+ IL_10192: stloc V_11
+ IL_10196: br IL_1019b
+
+ IL_1019b: ldc.i8 0x0
+ IL_101a4: stloc V_12
+ IL_101a8: ldloc V_12
+ IL_101ac: ldc.i8 0x1
+ IL_101b5: add
+ IL_101b6: stloc V_12
+ IL_101ba: ldloc V_12
+ IL_101be: ldc.i8 0x2
+ IL_101c7: blt IL_101a8
+
+ IL_101cc: ldc.i8 0x0
+ IL_101d5: stloc V_12
+ IL_101d9: ldloc V_12
+ IL_101dd: ldc.i8 0x1
+ IL_101e6: add
+ IL_101e7: stloc V_12
+ IL_101eb: ldloc V_12
+ IL_101ef: ldc.i8 0x0
+ IL_101f8: blt IL_101d9
+
+ IL_101fd: ldc.i8 0x2
+ IL_10206: stloc V_20
+ IL_1020a: ldloc V_11
+ IL_1020e: ldc.i8 0x1
+ IL_10217: add
+ IL_10218: stloc V_11
+ IL_1021c: ldloc V_11
+ IL_10220: ldc.i8 0x2
+ IL_10229: blt IL_10196
+
+ IL_1022e: ldc.i8 0x0
+ IL_10237: stloc V_11
+ IL_1023b: br IL_10240
+
+ IL_10240: ldc.i8 0x0
+ IL_10249: stloc V_12
+ IL_1024d: ldloc V_12
+ IL_10251: ldc.i8 0x1
+ IL_1025a: add
+ IL_1025b: stloc V_12
+ IL_1025f: ldloc V_12
+ IL_10263: ldc.i8 0x2
+ IL_1026c: blt IL_1024d
+
+ IL_10271: ldloc V_21
+ IL_10275: ldloc V_25
+ IL_10279: add
+ IL_1027a: ldc.i8 0x2
+ IL_10283: add
+ IL_10284: stloc V_21
+ IL_10288: ldloc V_11
+ IL_1028c: ldc.i8 0x1
+ IL_10295: add
+ IL_10296: stloc V_11
+ IL_1029a: ldloc V_11
+ IL_1029e: ldc.i8 0x1
+ IL_102a7: blt IL_1023b
+
+ IL_102ac: ldloc V_13
+ IL_102b0: ldc.i8 0x6
+ IL_102b9: add
+ IL_102ba: stloc V_45
+ IL_102be: ldloc V_10
+ IL_102c2: ldc.i8 0x1
+ IL_102cb: add
+ IL_102cc: stloc V_10
+ IL_102d0: ldloc V_10
+ IL_102d4: ldc.i8 0x2
+ IL_102dd: blt IL_1010b
+
+ IL_102e2: ldc.i8 0x0
+ IL_102eb: stloc V_10
+ IL_102ef: ldc.i8 0x0
+ IL_102f8: stloc V_11
+ IL_102fc: br IL_10301
+
+ IL_10301: ldloc V_39
+ IL_10305: ldloc V_28
+ IL_10309: add
+ IL_1030a: ldc.i8 0x7
+ IL_10313: add
+ IL_10314: stloc V_39
+ IL_10318: ldloc V_11
+ IL_1031c: ldc.i8 0x1
+ IL_10325: add
+ IL_10326: stloc V_11
+ IL_1032a: ldloc V_11
+ IL_1032e: ldc.i8 0x0
+ IL_10337: blt IL_102fc
+
+ IL_1033c: ldc.i8 0x0
+ IL_10345: stloc V_11
+ IL_10349: br IL_1034e
+
+ IL_1034e: ldc.i8 0x0
+ IL_10357: stloc V_12
+ IL_1035b: ldloc V_12
+ IL_1035f: ldc.i8 0x1
+ IL_10368: add
+ IL_10369: stloc V_12
+ IL_1036d: ldloc V_12
+ IL_10371: ldc.i8 0x2
+ IL_1037a: blt IL_1035b
+
+ IL_1037f: ldloc V_27
+ IL_10383: ldloc V_22
+ IL_10387: add
+ IL_10388: stloc V_27
+ IL_1038c: ldloc V_11
+ IL_10390: ldc.i8 0x1
+ IL_10399: add
+ IL_1039a: stloc V_11
+ IL_1039e: ldloc V_11
+ IL_103a2: ldc.i8 0x2
+ IL_103ab: blt IL_10349
+
+ IL_103b0: ldloc V_25
+ IL_103b4: ldloc V_37
+ IL_103b8: add
+ IL_103b9: ldc.i8 0x6
+ IL_103c2: add
+ IL_103c3: stloc V_25
+ IL_103c7: ldloc V_10
+ IL_103cb: ldc.i8 0x1
+ IL_103d4: add
+ IL_103d5: stloc V_10
+ IL_103d9: ldloc V_10
+ IL_103dd: ldc.i8 0x2
+ IL_103e6: blt IL_102ef
+
+ IL_103eb: ldc.i8 0x0
+ IL_103f4: stloc V_10
+ IL_103f8: ldloc V_42
+ IL_103fc: ldloc V_0
+ IL_10400: add
+ IL_10401: stloc V_42
+ IL_10405: ldloc V_10
+ IL_10409: ldc.i8 0x1
+ IL_10412: add
+ IL_10413: stloc V_10
+ IL_10417: ldloc V_10
+ IL_1041b: ldc.i8 0x2
+ IL_10424: blt IL_103f8
+
+ IL_10429: nop
+ IL_1042a: ldc.i8 0x0
+ IL_10433: stloc V_9
+ IL_10437: ldc.i8 0x0
+ IL_10440: stloc V_10
+ IL_10444: ldc.i8 0x0
+ IL_1044d: stloc V_11
+ IL_10451: ldc.i8 0x0
+ IL_1045a: stloc V_12
+ IL_1045e: ldloc V_12
+ IL_10462: ldc.i8 0x1
+ IL_1046b: add
+ IL_1046c: stloc V_12
+ IL_10470: ldloc V_12
+ IL_10474: ldc.i8 0x0
+ IL_1047d: blt IL_1045e
+
+ IL_10482: ldc.i8 0x0
+ IL_1048b: stloc V_12
+ IL_1048f: ldloc V_12
+ IL_10493: ldc.i8 0x1
+ IL_1049c: add
+ IL_1049d: stloc V_12
+ IL_104a1: ldloc V_12
+ IL_104a5: ldc.i8 0x0
+ IL_104ae: blt IL_1048f
+
+ IL_104b3: ldloc V_39
+ IL_104b7: ldloc V_0
+ IL_104bb: add
+ IL_104bc: stloc V_39
+ IL_104c0: ldloc V_11
+ IL_104c4: ldc.i8 0x1
+ IL_104cd: add
+ IL_104ce: stloc V_11
+ IL_104d2: ldloc V_11
+ IL_104d6: ldc.i8 0x0
+ IL_104df: blt IL_10451
+
+ IL_104e4: ldloc V_4
+ IL_104e8: ldc.i8 0x9
+ IL_104f1: add
+ IL_104f2: stloc V_33
+ IL_104f6: ldloc V_10
+ IL_104fa: ldc.i8 0x1
+ IL_10503: add
+ IL_10504: stloc V_10
+ IL_10508: ldloc V_10
+ IL_1050c: ldc.i8 0x0
+ IL_10515: blt IL_10444
+
+ IL_1051a: ldc.i8 0x0
+ IL_10523: stloc V_10
+ IL_10527: ldc.i8 0x0
+ IL_10530: stloc V_11
+ IL_10534: br IL_10539
+
+ IL_10539: ldc.i8 0x0
+ IL_10542: stloc V_12
+ IL_10546: ldloc V_12
+ IL_1054a: ldc.i8 0x1
+ IL_10553: add
+ IL_10554: stloc V_12
+ IL_10558: ldloc V_12
+ IL_1055c: ldc.i8 0x1
+ IL_10565: blt IL_10546
+
+ IL_1056a: ldc.i8 0x0
+ IL_10573: stloc V_12
+ IL_10577: ldloc V_12
+ IL_1057b: ldc.i8 0x1
+ IL_10584: add
+ IL_10585: stloc V_12
+ IL_10589: ldloc V_12
+ IL_1058d: ldc.i8 0x0
+ IL_10596: blt IL_10577
+
+ IL_1059b: ldc.i8 0x0
+ IL_105a4: stloc V_12
+ IL_105a8: ldloc V_12
+ IL_105ac: ldc.i8 0x1
+ IL_105b5: add
+ IL_105b6: stloc V_12
+ IL_105ba: ldloc V_12
+ IL_105be: ldc.i8 0x1
+ IL_105c7: blt IL_105a8
+
+ IL_105cc: ldloc V_47
+ IL_105d0: ldloc V_16
+ IL_105d4: add
+ IL_105d5: stloc V_20
+ IL_105d9: ldloc V_11
+ IL_105dd: ldc.i8 0x1
+ IL_105e6: add
+ IL_105e7: stloc V_11
+ IL_105eb: ldloc V_11
+ IL_105ef: ldc.i8 0x0
+ IL_105f8: blt IL_10534
+
+ IL_105fd: ldc.i8 0x0
+ IL_10606: stloc V_11
+ IL_1060a: br IL_1060f
+
+ IL_1060f: br IL_10614
+
+ IL_10614: ldc.i8 0x0
+ IL_1061d: stloc V_12
+ IL_10621: ldloc V_12
+ IL_10625: ldc.i8 0x1
+ IL_1062e: add
+ IL_1062f: stloc V_12
+ IL_10633: ldloc V_12
+ IL_10637: ldc.i8 0x1
+ IL_10640: blt IL_10621
+
+ IL_10645: ldc.i8 0x0
+ IL_1064e: stloc V_16
+ IL_10652: ldloc V_11
+ IL_10656: ldc.i8 0x1
+ IL_1065f: add
+ IL_10660: stloc V_11
+ IL_10664: ldloc V_11
+ IL_10668: ldc.i8 0x2
+ IL_10671: blt IL_1060a
+
+ IL_10676: ldc.i8 0x0
+ IL_1067f: stloc V_11
+ IL_10683: ldc.i8 0x0
+ IL_1068c: stloc V_12
+ IL_10690: ldloc V_12
+ IL_10694: ldc.i8 0x1
+ IL_1069d: add
+ IL_1069e: stloc V_12
+ IL_106a2: ldloc V_12
+ IL_106a6: ldc.i8 0x0
+ IL_106af: blt IL_10690
+
+ IL_106b4: ldc.i8 0x0
+ IL_106bd: stloc V_12
+ IL_106c1: ldloc V_12
+ IL_106c5: ldc.i8 0x1
+ IL_106ce: add
+ IL_106cf: stloc V_12
+ IL_106d3: ldloc V_12
+ IL_106d7: ldc.i8 0x2
+ IL_106e0: blt IL_106c1
+
+ IL_106e5: ldc.i8 0x0
+ IL_106ee: stloc V_12
+ IL_106f2: ldloc V_12
+ IL_106f6: ldc.i8 0x1
+ IL_106ff: add
+ IL_10700: stloc V_12
+ IL_10704: ldloc V_12
+ IL_10708: ldc.i8 0x0
+ IL_10711: blt IL_106f2
+
+ IL_10716: ldc.i8 0x0
+ IL_1071f: stloc V_12
+ IL_10723: ldloc V_12
+ IL_10727: ldc.i8 0x1
+ IL_10730: add
+ IL_10731: stloc V_12
+ IL_10735: ldloc V_12
+ IL_10739: ldc.i8 0x1
+ IL_10742: blt IL_10723
+
+ IL_10747: ldc.i8 0x5
+ IL_10750: stloc V_16
+ IL_10754: ldloc V_11
+ IL_10758: ldc.i8 0x1
+ IL_10761: add
+ IL_10762: stloc V_11
+ IL_10766: ldloc V_11
+ IL_1076a: ldc.i8 0x0
+ IL_10773: blt IL_10683
+
+ IL_10778: ldc.i8 0x0
+ IL_10781: stloc V_11
+ IL_10785: ldloc V_44
+ IL_10789: ldc.i8 0x2
+ IL_10792: add
+ IL_10793: stloc V_20
+ IL_10797: ldloc V_11
+ IL_1079b: ldc.i8 0x1
+ IL_107a4: add
+ IL_107a5: stloc V_11
+ IL_107a9: ldloc V_11
+ IL_107ad: ldc.i8 0x1
+ IL_107b6: blt IL_10785
+
+ IL_107bb: nop
+ IL_107bc: ldloc V_10
+ IL_107c0: ldc.i8 0x1
+ IL_107c9: add
+ IL_107ca: stloc V_10
+ IL_107ce: ldloc V_10
+ IL_107d2: ldc.i8 0x1
+ IL_107db: blt IL_10527
+
+ IL_107e0: ldloc V_45
+ IL_107e4: ldc.i8 0x7
+ IL_107ed: add
+ IL_107ee: stloc V_22
+ IL_107f2: ldloc V_9
+ IL_107f6: ldc.i8 0x1
+ IL_107ff: add
+ IL_10800: stloc V_9
+ IL_10804: ldloc V_9
+ IL_10808: ldc.i8 0x1
+ IL_10811: blt IL_10437
+
+ IL_10816: ldc.i8 0x0
+ IL_1081f: stloc V_9
+ IL_10823: br IL_10a62
+
+ IL_10828: br IL_1086b
+
+ IL_1082d: ldc.i8 0x0
+ IL_10836: stloc V_12
+ IL_1083a: ldloc V_12
+ IL_1083e: ldc.i8 0x1
+ IL_10847: add
+ IL_10848: stloc V_12
+ IL_1084c: ldloc V_12
+ IL_10850: ldc.i8 0x0
+ IL_10859: blt IL_1083a
+
+ IL_1085e: ldloc V_44
+ IL_10862: ldloc V_41
+ IL_10866: add
+ IL_10867: stloc V_44
+ IL_1086b: ldc.i8 0x0
+ IL_10874: stloc V_11
+ IL_10878: ldc.i8 0x0
+ IL_10881: stloc V_12
+ IL_10885: ldloc V_12
+ IL_10889: ldc.i8 0x1
+ IL_10892: add
+ IL_10893: stloc V_12
+ IL_10897: ldloc V_12
+ IL_1089b: ldc.i8 0x1
+ IL_108a4: blt IL_10885
+
+ IL_108a9: ldloc V_5
+ IL_108ad: stloc V_21
+ IL_108b1: ldloc V_11
+ IL_108b5: ldc.i8 0x1
+ IL_108be: add
+ IL_108bf: stloc V_11
+ IL_108c3: ldloc V_11
+ IL_108c7: ldc.i8 0x1
+ IL_108d0: blt IL_10878
+
+ IL_108d5: ldc.i8 0x0
+ IL_108de: stloc V_11
+ IL_108e2: ldc.i8 0x0
+ IL_108eb: stloc V_12
+ IL_108ef: ldloc V_12
+ IL_108f3: ldc.i8 0x1
+ IL_108fc: add
+ IL_108fd: stloc V_12
+ IL_10901: ldloc V_12
+ IL_10905: ldc.i8 0x0
+ IL_1090e: blt IL_108ef
+
+ IL_10913: ldc.i8 0x0
+ IL_1091c: stloc V_12
+ IL_10920: ldloc V_12
+ IL_10924: ldc.i8 0x1
+ IL_1092d: add
+ IL_1092e: stloc V_12
+ IL_10932: ldloc V_12
+ IL_10936: ldc.i8 0x2
+ IL_1093f: blt IL_10920
+
+ IL_10944: ldc.i8 0x0
+ IL_1094d: stloc V_12
+ IL_10951: ldloc V_12
+ IL_10955: ldc.i8 0x1
+ IL_1095e: add
+ IL_1095f: stloc V_12
+ IL_10963: ldloc V_12
+ IL_10967: ldc.i8 0x2
+ IL_10970: blt IL_10951
+
+ IL_10975: ldloc V_36
+ IL_10979: ldc.i8 0x2
+ IL_10982: add
+ IL_10983: stloc V_43
+ IL_10987: ldloc V_11
+ IL_1098b: ldc.i8 0x1
+ IL_10994: add
+ IL_10995: stloc V_11
+ IL_10999: ldloc V_11
+ IL_1099d: ldc.i8 0x2
+ IL_109a6: blt IL_108e2
+
+ IL_109ab: br IL_10a55
+
+ IL_109b0: ldc.i8 0x0
+ IL_109b9: stloc V_12
+ IL_109bd: ldloc V_12
+ IL_109c1: ldc.i8 0x1
+ IL_109ca: add
+ IL_109cb: stloc V_12
+ IL_109cf: ldloc V_12
+ IL_109d3: ldc.i8 0x2
+ IL_109dc: blt IL_109bd
+
+ IL_109e1: ldc.i8 0x0
+ IL_109ea: stloc V_12
+ IL_109ee: ldloc V_12
+ IL_109f2: ldc.i8 0x1
+ IL_109fb: add
+ IL_109fc: stloc V_12
+ IL_10a00: ldloc V_12
+ IL_10a04: ldc.i8 0x2
+ IL_10a0d: blt IL_109ee
+
+ IL_10a12: br IL_10a17
+
+ IL_10a17: ldc.i8 0x0
+ IL_10a20: stloc V_12
+ IL_10a24: ldloc V_12
+ IL_10a28: ldc.i8 0x1
+ IL_10a31: add
+ IL_10a32: stloc V_12
+ IL_10a36: ldloc V_12
+ IL_10a3a: ldc.i8 0x1
+ IL_10a43: blt IL_10a24
+
+ IL_10a48: ldloc V_46
+ IL_10a4c: ldloc V_14
+ IL_10a50: add
+ IL_10a51: stloc V_28
+ IL_10a55: ldc.i8 0x2
+ IL_10a5e: stloc V_22
+ IL_10a62: br IL_10b71
+
+ IL_10a67: br IL_10aaf
+
+ IL_10a6c: ldc.i8 0x0
+ IL_10a75: stloc V_12
+ IL_10a79: ldloc V_12
+ IL_10a7d: ldc.i8 0x1
+ IL_10a86: add
+ IL_10a87: stloc V_12
+ IL_10a8b: ldloc V_12
+ IL_10a8f: ldc.i8 0x1
+ IL_10a98: blt IL_10a79
+
+ IL_10a9d: br IL_10aa2
+
+ IL_10aa2: ldloc V_14
+ IL_10aa6: ldloc V_20
+ IL_10aaa: add
+ IL_10aab: stloc V_30
+ IL_10aaf: ldc.i8 0x0
+ IL_10ab8: stloc V_11
+ IL_10abc: ldc.i8 0x0
+ IL_10ac5: stloc V_12
+ IL_10ac9: ldloc V_12
+ IL_10acd: ldc.i8 0x1
+ IL_10ad6: add
+ IL_10ad7: stloc V_12
+ IL_10adb: ldloc V_12
+ IL_10adf: ldc.i8 0x1
+ IL_10ae8: blt IL_10ac9
+
+ IL_10aed: ldloc V_18
+ IL_10af1: ldloc V_24
+ IL_10af5: add
+ IL_10af6: stloc V_18
+ IL_10afa: ldloc V_11
+ IL_10afe: ldc.i8 0x1
+ IL_10b07: add
+ IL_10b08: stloc V_11
+ IL_10b0c: ldloc V_11
+ IL_10b10: ldc.i8 0x1
+ IL_10b19: blt IL_10abc
+
+ IL_10b1e: br IL_10b70
+
+ IL_10b23: br IL_10b28
+
+ IL_10b28: ldc.i8 0x0
+ IL_10b31: stloc V_12
+ IL_10b35: ldloc V_12
+ IL_10b39: ldc.i8 0x1
+ IL_10b42: add
+ IL_10b43: stloc V_12
+ IL_10b47: ldloc V_12
+ IL_10b4b: ldc.i8 0x0
+ IL_10b54: blt IL_10b35
+
+ IL_10b59: br IL_10b5e
+
+ IL_10b5e: br IL_10b63
+
+ IL_10b63: ldloc V_42
+ IL_10b67: ldloc V_45
+ IL_10b6b: add
+ IL_10b6c: stloc V_42
+ IL_10b70: nop
+ IL_10b71: ldc.i8 0x0
+ IL_10b7a: stloc V_10
+ IL_10b7e: ldc.i8 0x0
+ IL_10b87: stloc V_11
+ IL_10b8b: br IL_10b90
+
+ IL_10b90: ldc.i8 0x9
+ IL_10b99: stloc V_35
+ IL_10b9d: ldloc V_11
+ IL_10ba1: ldc.i8 0x1
+ IL_10baa: add
+ IL_10bab: stloc V_11
+ IL_10baf: ldloc V_11
+ IL_10bb3: ldc.i8 0x1
+ IL_10bbc: blt IL_10b8b
+
+ IL_10bc1: ldloc V_15
+ IL_10bc5: stloc V_29
+ IL_10bc9: ldloc V_10
+ IL_10bcd: ldc.i8 0x1
+ IL_10bd6: add
+ IL_10bd7: stloc V_10
+ IL_10bdb: ldloc V_10
+ IL_10bdf: ldc.i8 0x0
+ IL_10be8: blt IL_10b7e
+
+ IL_10bed: ldloc V_14
+ IL_10bf1: stloc V_36
+ IL_10bf5: ldloc V_9
+ IL_10bf9: ldc.i8 0x1
+ IL_10c02: add
+ IL_10c03: stloc V_9
+ IL_10c07: ldloc V_9
+ IL_10c0b: ldc.i8 0x1
+ IL_10c14: blt IL_10823
+
+ IL_10c19: ldloc V_40
+ IL_10c1d: ldloc V_21
+ IL_10c21: add
+ IL_10c22: stloc V_42
+ IL_10c26: ldloc V_39
+ IL_10c2a: stloc V_20
+ IL_10c2e: ldloc V_7
+ IL_10c32: ldc.i8 0x1
+ IL_10c3b: add
+ IL_10c3c: stloc V_7
+ IL_10c40: ldloc V_7
+ IL_10c44: ldc.i8 0x1
+ IL_10c4d: blt IL_fe79
+
+ IL_10c52: ldc.i8 0x0
+ IL_10c5b: stloc V_7
+ IL_10c5f: ldc.i8 0x0
+ IL_10c68: stloc V_8
+ IL_10c6c: br IL_110b8
+
+ IL_10c71: ldc.i8 0x0
+ IL_10c7a: stloc V_10
+ IL_10c7e: ldc.i8 0x0
+ IL_10c87: stloc V_11
+ IL_10c8b: ldc.i8 0x0
+ IL_10c94: stloc V_12
+ IL_10c98: ldloc V_12
+ IL_10c9c: ldc.i8 0x1
+ IL_10ca5: add
+ IL_10ca6: stloc V_12
+ IL_10caa: ldloc V_12
+ IL_10cae: ldc.i8 0x2
+ IL_10cb7: blt IL_10c98
+
+ IL_10cbc: ldc.i8 0x0
+ IL_10cc5: stloc V_12
+ IL_10cc9: ldloc V_12
+ IL_10ccd: ldc.i8 0x1
+ IL_10cd6: add
+ IL_10cd7: stloc V_12
+ IL_10cdb: ldloc V_12
+ IL_10cdf: ldc.i8 0x0
+ IL_10ce8: blt IL_10cc9
+
+ IL_10ced: ldloc V_27
+ IL_10cf1: ldloc V_23
+ IL_10cf5: add
+ IL_10cf6: stloc V_27
+ IL_10cfa: ldloc V_11
+ IL_10cfe: ldc.i8 0x1
+ IL_10d07: add
+ IL_10d08: stloc V_11
+ IL_10d0c: ldloc V_11
+ IL_10d10: ldc.i8 0x2
+ IL_10d19: blt IL_10c8b
+
+ IL_10d1e: ldloc V_44
+ IL_10d22: ldloc V_42
+ IL_10d26: add
+ IL_10d27: stloc V_44
+ IL_10d2b: ldloc V_10
+ IL_10d2f: ldc.i8 0x1
+ IL_10d38: add
+ IL_10d39: stloc V_10
+ IL_10d3d: ldloc V_10
+ IL_10d41: ldc.i8 0x1
+ IL_10d4a: blt IL_10c7e
+
+ IL_10d4f: ldc.i8 0x0
+ IL_10d58: stloc V_10
+ IL_10d5c: br IL_10d6e
+
+ IL_10d61: ldloc V_14
+ IL_10d65: ldloc V_33
+ IL_10d69: add
+ IL_10d6a: stloc V_14
+ IL_10d6e: ldc.i8 0x0
+ IL_10d77: stloc V_11
+ IL_10d7b: ldc.i8 0x0
+ IL_10d84: stloc V_12
+ IL_10d88: ldloc V_12
+ IL_10d8c: ldc.i8 0x1
+ IL_10d95: add
+ IL_10d96: stloc V_12
+ IL_10d9a: ldloc V_12
+ IL_10d9e: ldc.i8 0x0
+ IL_10da7: blt IL_10d88
+
+ IL_10dac: ldc.i8 0x0
+ IL_10db5: stloc V_12
+ IL_10db9: ldloc V_12
+ IL_10dbd: ldc.i8 0x1
+ IL_10dc6: add
+ IL_10dc7: stloc V_12
+ IL_10dcb: ldloc V_12
+ IL_10dcf: ldc.i8 0x0
+ IL_10dd8: blt IL_10db9
+
+ IL_10ddd: nop
+ IL_10dde: ldloc V_11
+ IL_10de2: ldc.i8 0x1
+ IL_10deb: add
+ IL_10dec: stloc V_11
+ IL_10df0: ldloc V_11
+ IL_10df4: ldc.i8 0x1
+ IL_10dfd: blt IL_10d7b
+
+ IL_10e02: ldc.i8 0x0
+ IL_10e0b: stloc V_11
+ IL_10e0f: ldc.i8 0x0
+ IL_10e18: stloc V_12
+ IL_10e1c: ldloc V_12
+ IL_10e20: ldc.i8 0x1
+ IL_10e29: add
+ IL_10e2a: stloc V_12
+ IL_10e2e: ldloc V_12
+ IL_10e32: ldc.i8 0x0
+ IL_10e3b: blt IL_10e1c
+
+ IL_10e40: ldc.i8 0x0
+ IL_10e49: stloc V_12
+ IL_10e4d: ldloc V_12
+ IL_10e51: ldc.i8 0x1
+ IL_10e5a: add
+ IL_10e5b: stloc V_12
+ IL_10e5f: ldloc V_12
+ IL_10e63: ldc.i8 0x0
+ IL_10e6c: blt IL_10e4d
+
+ IL_10e71: br IL_10e76
+
+ IL_10e76: ldloc V_25
+ IL_10e7a: ldloc V_46
+ IL_10e7e: add
+ IL_10e7f: stloc V_28
+ IL_10e83: ldloc V_11
+ IL_10e87: ldc.i8 0x1
+ IL_10e90: add
+ IL_10e91: stloc V_11
+ IL_10e95: ldloc V_11
+ IL_10e99: ldc.i8 0x0
+ IL_10ea2: blt IL_10e0f
+
+ IL_10ea7: ldc.i8 0x0
+ IL_10eb0: stloc V_11
+ IL_10eb4: ldc.i8 0x0
+ IL_10ebd: stloc V_12
+ IL_10ec1: ldloc V_12
+ IL_10ec5: ldc.i8 0x1
+ IL_10ece: add
+ IL_10ecf: stloc V_12
+ IL_10ed3: ldloc V_12
+ IL_10ed7: ldc.i8 0x2
+ IL_10ee0: blt IL_10ec1
+
+ IL_10ee5: ldc.i8 0x0
+ IL_10eee: stloc V_12
+ IL_10ef2: ldloc V_12
+ IL_10ef6: ldc.i8 0x1
+ IL_10eff: add
+ IL_10f00: stloc V_12
+ IL_10f04: ldloc V_12
+ IL_10f08: ldc.i8 0x1
+ IL_10f11: blt IL_10ef2
+
+ IL_10f16: nop
+ IL_10f17: ldloc V_11
+ IL_10f1b: ldc.i8 0x1
+ IL_10f24: add
+ IL_10f25: stloc V_11
+ IL_10f29: ldloc V_11
+ IL_10f2d: ldc.i8 0x2
+ IL_10f36: blt IL_10eb4
+
+ IL_10f3b: ldloc V_33
+ IL_10f3f: ldloc V_22
+ IL_10f43: add
+ IL_10f44: ldc.i8 0x8
+ IL_10f4d: add
+ IL_10f4e: stloc V_33
+ IL_10f52: ldloc V_10
+ IL_10f56: ldc.i8 0x1
+ IL_10f5f: add
+ IL_10f60: stloc V_10
+ IL_10f64: ldloc V_10
+ IL_10f68: ldc.i8 0x2
+ IL_10f71: blt IL_10d5c
+
+ IL_10f76: ldc.i8 0x0
+ IL_10f7f: stloc V_10
+ IL_10f83: ldc.i8 0x0
+ IL_10f8c: stloc V_11
+ IL_10f90: ldc.i8 0x0
+ IL_10f99: stloc V_12
+ IL_10f9d: ldloc V_12
+ IL_10fa1: ldc.i8 0x1
+ IL_10faa: add
+ IL_10fab: stloc V_12
+ IL_10faf: ldloc V_12
+ IL_10fb3: ldc.i8 0x2
+ IL_10fbc: blt IL_10f9d
+
+ IL_10fc1: ldc.i8 0x0
+ IL_10fca: stloc V_12
+ IL_10fce: ldloc V_12
+ IL_10fd2: ldc.i8 0x1
+ IL_10fdb: add
+ IL_10fdc: stloc V_12
+ IL_10fe0: ldloc V_12
+ IL_10fe4: ldc.i8 0x2
+ IL_10fed: blt IL_10fce
+
+ IL_10ff2: ldc.i8 0x0
+ IL_10ffb: stloc V_12
+ IL_10fff: ldloc V_12
+ IL_11003: ldc.i8 0x1
+ IL_1100c: add
+ IL_1100d: stloc V_12
+ IL_11011: ldloc V_12
+ IL_11015: ldc.i8 0x1
+ IL_1101e: blt IL_10fff
+
+ IL_11023: ldc.i8 0x8
+ IL_1102c: stloc V_34
+ IL_11030: ldloc V_11
+ IL_11034: ldc.i8 0x1
+ IL_1103d: add
+ IL_1103e: stloc V_11
+ IL_11042: ldloc V_11
+ IL_11046: ldc.i8 0x1
+ IL_1104f: blt IL_10f90
+
+ IL_11054: nop
+ IL_11055: ldloc V_10
+ IL_11059: ldc.i8 0x1
+ IL_11062: add
+ IL_11063: stloc V_10
+ IL_11067: ldloc V_10
+ IL_1106b: ldc.i8 0x0
+ IL_11074: blt IL_10f83
+
+ IL_11079: ldc.i8 0x0
+ IL_11082: stloc V_10
+ IL_11086: ldc.i8 0x5
+ IL_1108f: stloc V_38
+ IL_11093: ldloc V_10
+ IL_11097: ldc.i8 0x1
+ IL_110a0: add
+ IL_110a1: stloc V_10
+ IL_110a5: ldloc V_10
+ IL_110a9: ldc.i8 0x2
+ IL_110b2: blt IL_11086
+
+ IL_110b7: nop
+ IL_110b8: ldc.i8 0x0
+ IL_110c1: stloc V_9
+ IL_110c5: ldc.i8 0x0
+ IL_110ce: stloc V_10
+ IL_110d2: ldc.i8 0x0
+ IL_110db: stloc V_11
+ IL_110df: br IL_110e4
+
+ IL_110e4: ldc.i8 0x0
+ IL_110ed: stloc V_12
+ IL_110f1: ldloc V_12
+ IL_110f5: ldc.i8 0x1
+ IL_110fe: add
+ IL_110ff: stloc V_12
+ IL_11103: ldloc V_12
+ IL_11107: ldc.i8 0x0
+ IL_11110: blt IL_110f1
+
+ IL_11115: ldc.i8 0x0
+ IL_1111e: stloc V_12
+ IL_11122: ldloc V_12
+ IL_11126: ldc.i8 0x1
+ IL_1112f: add
+ IL_11130: stloc V_12
+ IL_11134: ldloc V_12
+ IL_11138: ldc.i8 0x2
+ IL_11141: blt IL_11122
+
+ IL_11146: ldc.i8 0x0
+ IL_1114f: stloc V_12
+ IL_11153: ldloc V_12
+ IL_11157: ldc.i8 0x1
+ IL_11160: add
+ IL_11161: stloc V_12
+ IL_11165: ldloc V_12
+ IL_11169: ldc.i8 0x2
+ IL_11172: blt IL_11153
+
+ IL_11177: nop
+ IL_11178: ldloc V_11
+ IL_1117c: ldc.i8 0x1
+ IL_11185: add
+ IL_11186: stloc V_11
+ IL_1118a: ldloc V_11
+ IL_1118e: ldc.i8 0x1
+ IL_11197: blt IL_110df
+
+ IL_1119c: br IL_11250
+
+ IL_111a1: ldc.i8 0x0
+ IL_111aa: stloc V_12
+ IL_111ae: ldloc V_12
+ IL_111b2: ldc.i8 0x1
+ IL_111bb: add
+ IL_111bc: stloc V_12
+ IL_111c0: ldloc V_12
+ IL_111c4: ldc.i8 0x0
+ IL_111cd: blt IL_111ae
+
+ IL_111d2: ldc.i8 0x0
+ IL_111db: stloc V_12
+ IL_111df: ldloc V_12
+ IL_111e3: ldc.i8 0x1
+ IL_111ec: add
+ IL_111ed: stloc V_12
+ IL_111f1: ldloc V_12
+ IL_111f5: ldc.i8 0x1
+ IL_111fe: blt IL_111df
+
+ IL_11203: br IL_11208
+
+ IL_11208: ldc.i8 0x0
+ IL_11211: stloc V_12
+ IL_11215: ldloc V_12
+ IL_11219: ldc.i8 0x1
+ IL_11222: add
+ IL_11223: stloc V_12
+ IL_11227: ldloc V_12
+ IL_1122b: ldc.i8 0x2
+ IL_11234: blt IL_11215
+
+ IL_11239: ldloc V_21
+ IL_1123d: ldloc V_5
+ IL_11241: add
+ IL_11242: ldc.i8 0x0
+ IL_1124b: add
+ IL_1124c: stloc V_21
+ IL_11250: ldloc V_22
+ IL_11254: ldloc V_22
+ IL_11258: add
+ IL_11259: stloc V_46
+ IL_1125d: ldloc V_10
+ IL_11261: ldc.i8 0x1
+ IL_1126a: add
+ IL_1126b: stloc V_10
+ IL_1126f: ldloc V_10
+ IL_11273: ldc.i8 0x2
+ IL_1127c: blt IL_110d2
+
+ IL_11281: ldc.i8 0x0
+ IL_1128a: stloc V_10
+ IL_1128e: ldc.i8 0x0
+ IL_11297: stloc V_11
+ IL_1129b: ldloc V_41
+ IL_1129f: ldc.i8 0x2
+ IL_112a8: add
+ IL_112a9: stloc V_37
+ IL_112ad: ldloc V_11
+ IL_112b1: ldc.i8 0x1
+ IL_112ba: add
+ IL_112bb: stloc V_11
+ IL_112bf: ldloc V_11
+ IL_112c3: ldc.i8 0x2
+ IL_112cc: blt IL_1129b
+
+ IL_112d1: ldc.i8 0x2
+ IL_112da: stloc V_11
+ IL_112de: ldloc V_10
+ IL_112e2: ldc.i8 0x1
+ IL_112eb: add
+ IL_112ec: stloc V_10
+ IL_112f0: ldloc V_10
+ IL_112f4: ldc.i8 0x1
+ IL_112fd: blt IL_1128e
+
+ IL_11302: ldloc V_43
+ IL_11306: ldc.i8 0x8
+ IL_1130f: add
+ IL_11310: stloc V_35
+ IL_11314: ldloc V_9
+ IL_11318: ldc.i8 0x1
+ IL_11321: add
+ IL_11322: stloc V_9
+ IL_11326: ldloc V_9
+ IL_1132a: ldc.i8 0x0
+ IL_11333: blt IL_110c5
+
+ IL_11338: br IL_113ae
+
+ IL_1133d: br IL_113a1
+
+ IL_11342: ldc.i8 0x0
+ IL_1134b: stloc V_11
+ IL_1134f: br IL_11354
+
+ IL_11354: br IL_11359
+
+ IL_11359: br IL_1135e
+
+ IL_1135e: br IL_11363
+
+ IL_11363: ldloc V_16
+ IL_11367: ldloc V_45
+ IL_1136b: add
+ IL_1136c: stloc V_14
+ IL_11370: ldloc V_11
+ IL_11374: ldc.i8 0x1
+ IL_1137d: add
+ IL_1137e: stloc V_11
+ IL_11382: ldloc V_11
+ IL_11386: ldc.i8 0x2
+ IL_1138f: blt IL_1134f
+
+ IL_11394: ldloc V_40
+ IL_11398: ldloc V_32
+ IL_1139c: add
+ IL_1139d: stloc V_42
+ IL_113a1: ldc.i8 0x2
+ IL_113aa: stloc V_45
+ IL_113ae: ldc.i8 0x0
+ IL_113b7: stloc V_9
+ IL_113bb: ldc.i8 0x0
+ IL_113c4: stloc V_10
+ IL_113c8: ldc.i8 0x0
+ IL_113d1: stloc V_11
+ IL_113d5: ldc.i8 0x0
+ IL_113de: stloc V_12
+ IL_113e2: ldloc V_12
+ IL_113e6: ldc.i8 0x1
+ IL_113ef: add
+ IL_113f0: stloc V_12
+ IL_113f4: ldloc V_12
+ IL_113f8: ldc.i8 0x1
+ IL_11401: blt IL_113e2
+
+ IL_11406: nop
+ IL_11407: ldloc V_11
+ IL_1140b: ldc.i8 0x1
+ IL_11414: add
+ IL_11415: stloc V_11
+ IL_11419: ldloc V_11
+ IL_1141d: ldc.i8 0x0
+ IL_11426: blt IL_113d5
+
+ IL_1142b: ldc.i8 0x0
+ IL_11434: stloc V_11
+ IL_11438: ldloc V_26
+ IL_1143c: ldc.i8 0x0
+ IL_11445: add
+ IL_11446: stloc V_37
+ IL_1144a: ldloc V_11
+ IL_1144e: ldc.i8 0x1
+ IL_11457: add
+ IL_11458: stloc V_11
+ IL_1145c: ldloc V_11
+ IL_11460: ldc.i8 0x1
+ IL_11469: blt IL_11438
+
+ IL_1146e: ldc.i8 0x0
+ IL_11477: stloc V_11
+ IL_1147b: br IL_11480
+
+ IL_11480: ldloc V_3
+ IL_11484: ldc.i8 0x6
+ IL_1148d: add
+ IL_1148e: stloc V_39
+ IL_11492: ldloc V_11
+ IL_11496: ldc.i8 0x1
+ IL_1149f: add
+ IL_114a0: stloc V_11
+ IL_114a4: ldloc V_11
+ IL_114a8: ldc.i8 0x2
+ IL_114b1: blt IL_1147b
+
+ IL_114b6: ldloc V_32
+ IL_114ba: ldc.i8 0x9
+ IL_114c3: add
+ IL_114c4: stloc V_35
+ IL_114c8: ldloc V_10
+ IL_114cc: ldc.i8 0x1
+ IL_114d5: add
+ IL_114d6: stloc V_10
+ IL_114da: ldloc V_10
+ IL_114de: ldc.i8 0x2
+ IL_114e7: blt IL_113c8
+
+ IL_114ec: br IL_11653
+
+ IL_114f1: ldc.i8 0x0
+ IL_114fa: stloc V_11
+ IL_114fe: ldc.i8 0x0
+ IL_11507: stloc V_12
+ IL_1150b: ldloc V_12
+ IL_1150f: ldc.i8 0x1
+ IL_11518: add
+ IL_11519: stloc V_12
+ IL_1151d: ldloc V_12
+ IL_11521: ldc.i8 0x0
+ IL_1152a: blt IL_1150b
+
+ IL_1152f: nop
+ IL_11530: ldloc V_11
+ IL_11534: ldc.i8 0x1
+ IL_1153d: add
+ IL_1153e: stloc V_11
+ IL_11542: ldloc V_11
+ IL_11546: ldc.i8 0x1
+ IL_1154f: blt IL_114fe
+
+ IL_11554: ldc.i8 0x0
+ IL_1155d: stloc V_11
+ IL_11561: ldc.i8 0x0
+ IL_1156a: stloc V_12
+ IL_1156e: ldloc V_12
+ IL_11572: ldc.i8 0x1
+ IL_1157b: add
+ IL_1157c: stloc V_12
+ IL_11580: ldloc V_12
+ IL_11584: ldc.i8 0x0
+ IL_1158d: blt IL_1156e
+
+ IL_11592: ldc.i8 0x0
+ IL_1159b: stloc V_12
+ IL_1159f: ldloc V_12
+ IL_115a3: ldc.i8 0x1
+ IL_115ac: add
+ IL_115ad: stloc V_12
+ IL_115b1: ldloc V_12
+ IL_115b5: ldc.i8 0x0
+ IL_115be: blt IL_1159f
+
+ IL_115c3: ldloc V_4
+ IL_115c7: ldc.i8 0x2
+ IL_115d0: add
+ IL_115d1: stloc V_17
+ IL_115d5: ldloc V_11
+ IL_115d9: ldc.i8 0x1
+ IL_115e2: add
+ IL_115e3: stloc V_11
+ IL_115e7: ldloc V_11
+ IL_115eb: ldc.i8 0x1
+ IL_115f4: blt IL_11561
+
+ IL_115f9: br IL_11641
+
+ IL_115fe: ldc.i8 0x0
+ IL_11607: stloc V_12
+ IL_1160b: ldloc V_12
+ IL_1160f: ldc.i8 0x1
+ IL_11618: add
+ IL_11619: stloc V_12
+ IL_1161d: ldloc V_12
+ IL_11621: ldc.i8 0x2
+ IL_1162a: blt IL_1160b
+
+ IL_1162f: ldloc V_11
+ IL_11633: ldc.i8 0x1
+ IL_1163c: add
+ IL_1163d: stloc V_12
+ IL_11641: ldloc V_49
+ IL_11645: ldc.i8 0x9
+ IL_1164e: add
+ IL_1164f: stloc V_31
+ IL_11653: ldc.i8 0x0
+ IL_1165c: stloc V_10
+ IL_11660: ldc.i8 0x0
+ IL_11669: stloc V_11
+ IL_1166d: ldc.i8 0x0
+ IL_11676: stloc V_12
+ IL_1167a: ldloc V_12
+ IL_1167e: ldc.i8 0x1
+ IL_11687: add
+ IL_11688: stloc V_12
+ IL_1168c: ldloc V_12
+ IL_11690: ldc.i8 0x0
+ IL_11699: blt IL_1167a
+
+ IL_1169e: br IL_116a3
+
+ IL_116a3: ldc.i8 0x7
+ IL_116ac: stloc V_34
+ IL_116b0: ldloc V_11
+ IL_116b4: ldc.i8 0x1
+ IL_116bd: add
+ IL_116be: stloc V_11
+ IL_116c2: ldloc V_11
+ IL_116c6: ldc.i8 0x1
+ IL_116cf: blt IL_1166d
+
+ IL_116d4: ldloc V_32
+ IL_116d8: stloc V_12
+ IL_116dc: ldloc V_10
+ IL_116e0: ldc.i8 0x1
+ IL_116e9: add
+ IL_116ea: stloc V_10
+ IL_116ee: ldloc V_10
+ IL_116f2: ldc.i8 0x1
+ IL_116fb: blt IL_11660
+
+ IL_11700: br IL_1174b
+
+ IL_11705: ldc.i8 0x0
+ IL_1170e: stloc V_11
+ IL_11712: ldloc V_20
+ IL_11716: stloc V_29
+ IL_1171a: ldloc V_11
+ IL_1171e: ldc.i8 0x1
+ IL_11727: add
+ IL_11728: stloc V_11
+ IL_1172c: ldloc V_11
+ IL_11730: ldc.i8 0x0
+ IL_11739: blt IL_11712
+
+ IL_1173e: ldloc V_18
+ IL_11742: ldloc V_20
+ IL_11746: add
+ IL_11747: stloc V_18
+ IL_1174b: nop
+ IL_1174c: ldloc V_9
+ IL_11750: ldc.i8 0x1
+ IL_11759: add
+ IL_1175a: stloc V_9
+ IL_1175e: ldloc V_9
+ IL_11762: ldc.i8 0x1
+ IL_1176b: blt IL_113bb
+
+ IL_11770: ldloc V_19
+ IL_11774: ldloc V_18
+ IL_11778: add
+ IL_11779: stloc V_19
+ IL_1177d: ldloc V_8
+ IL_11781: ldc.i8 0x1
+ IL_1178a: add
+ IL_1178b: stloc V_8
+ IL_1178f: ldloc V_8
+ IL_11793: ldc.i8 0x2
+ IL_1179c: blt IL_10c6c
+
+ IL_117a1: ldc.i8 0x0
+ IL_117aa: stloc V_46
+ IL_117ae: ldloc V_7
+ IL_117b2: ldc.i8 0x1
+ IL_117bb: add
+ IL_117bc: stloc V_7
+ IL_117c0: ldloc V_7
+ IL_117c4: ldc.i8 0x0
+ IL_117cd: blt IL_10c5f
+
+ IL_117d2: ldc.i8 0x0
+ IL_117db: stloc V_7
+ IL_117df: br IL_11a37
+
+ IL_117e4: ldc.i8 0x0
+ IL_117ed: stloc V_9
+ IL_117f1: br IL_1188b
+
+ IL_117f6: ldc.i8 0x0
+ IL_117ff: stloc V_11
+ IL_11803: br IL_11808
+
+ IL_11808: ldc.i8 0x0
+ IL_11811: stloc V_12
+ IL_11815: ldloc V_12
+ IL_11819: ldc.i8 0x1
+ IL_11822: add
+ IL_11823: stloc V_12
+ IL_11827: ldloc V_12
+ IL_1182b: ldc.i8 0x0
+ IL_11834: blt IL_11815
+
+ IL_11839: br IL_1183e
+
+ IL_1183e: ldloc V_2
+ IL_11842: ldc.i8 0x9
+ IL_1184b: add
+ IL_1184c: stloc V_30
+ IL_11850: ldloc V_11
+ IL_11854: ldc.i8 0x1
+ IL_1185d: add
+ IL_1185e: stloc V_11
+ IL_11862: ldloc V_11
+ IL_11866: ldc.i8 0x2
+ IL_1186f: blt IL_11803
+
+ IL_11874: ldloc V_46
+ IL_11878: ldloc V_32
+ IL_1187c: add
+ IL_1187d: ldc.i8 0x8
+ IL_11886: add
+ IL_11887: stloc V_46
+ IL_1188b: ldc.i8 0x0
+ IL_11894: stloc V_10
+ IL_11898: ldc.i8 0x0
+ IL_118a1: stloc V_11
+ IL_118a5: br IL_118aa
+
+ IL_118aa: br IL_118af
+
+ IL_118af: ldc.i8 0x2
+ IL_118b8: stloc V_19
+ IL_118bc: ldloc V_11
+ IL_118c0: ldc.i8 0x1
+ IL_118c9: add
+ IL_118ca: stloc V_11
+ IL_118ce: ldloc V_11
+ IL_118d2: ldc.i8 0x1
+ IL_118db: blt IL_118a5
+
+ IL_118e0: nop
+ IL_118e1: ldloc V_10
+ IL_118e5: ldc.i8 0x1
+ IL_118ee: add
+ IL_118ef: stloc V_10
+ IL_118f3: ldloc V_10
+ IL_118f7: ldc.i8 0x0
+ IL_11900: blt IL_11898
+
+ IL_11905: ldc.i8 0x5
+ IL_1190e: stloc V_23
+ IL_11912: ldloc V_9
+ IL_11916: ldc.i8 0x1
+ IL_1191f: add
+ IL_11920: stloc V_9
+ IL_11924: ldloc V_9
+ IL_11928: ldc.i8 0x0
+ IL_11931: blt IL_117f1
+
+ IL_11936: br IL_11a20
+
+ IL_1193b: ldc.i8 0x0
+ IL_11944: stloc V_10
+ IL_11948: nop
+ IL_11949: ldloc V_10
+ IL_1194d: ldc.i8 0x1
+ IL_11956: add
+ IL_11957: stloc V_10
+ IL_1195b: ldloc V_10
+ IL_1195f: ldc.i8 0x2
+ IL_11968: blt IL_11948
+
+ IL_1196d: br IL_11a13
+
+ IL_11972: br IL_11a12
+
+ IL_11977: ldc.i8 0x0
+ IL_11980: stloc V_12
+ IL_11984: ldloc V_12
+ IL_11988: ldc.i8 0x1
+ IL_11991: add
+ IL_11992: stloc V_12
+ IL_11996: ldloc V_12
+ IL_1199a: ldc.i8 0x2
+ IL_119a3: blt IL_11984
+
+ IL_119a8: ldc.i8 0x0
+ IL_119b1: stloc V_12
+ IL_119b5: ldloc V_12
+ IL_119b9: ldc.i8 0x1
+ IL_119c2: add
+ IL_119c3: stloc V_12
+ IL_119c7: ldloc V_12
+ IL_119cb: ldc.i8 0x2
+ IL_119d4: blt IL_119b5
+
+ IL_119d9: ldc.i8 0x0
+ IL_119e2: stloc V_12
+ IL_119e6: ldloc V_12
+ IL_119ea: ldc.i8 0x1
+ IL_119f3: add
+ IL_119f4: stloc V_12
+ IL_119f8: ldloc V_12
+ IL_119fc: ldc.i8 0x2
+ IL_11a05: blt IL_119e6
+
+ IL_11a0a: ldloc V_5
+ IL_11a0e: stloc V_45
+ IL_11a12: nop
+ IL_11a13: ldloc V_49
+ IL_11a17: ldloc V_32
+ IL_11a1b: add
+ IL_11a1c: stloc V_49
+ IL_11a20: ldloc V_21
+ IL_11a24: ldloc V_32
+ IL_11a28: add
+ IL_11a29: ldc.i8 0x7
+ IL_11a32: add
+ IL_11a33: stloc V_21
+ IL_11a37: br IL_12481
+
+ IL_11a3c: br IL_11d71
+
+ IL_11a41: ldc.i8 0x0
+ IL_11a4a: stloc V_10
+ IL_11a4e: ldloc V_36
+ IL_11a52: ldloc V_4
+ IL_11a56: add
+ IL_11a57: stloc V_36
+ IL_11a5b: ldloc V_10
+ IL_11a5f: ldc.i8 0x1
+ IL_11a68: add
+ IL_11a69: stloc V_10
+ IL_11a6d: ldloc V_10
+ IL_11a71: ldc.i8 0x2
+ IL_11a7a: blt IL_11a4e
+
+ IL_11a7f: ldc.i8 0x0
+ IL_11a88: stloc V_10
+ IL_11a8c: ldc.i8 0x0
+ IL_11a95: stloc V_11
+ IL_11a99: br IL_11a9e
+
+ IL_11a9e: ldloc V_14
+ IL_11aa2: ldloc V_19
+ IL_11aa6: add
+ IL_11aa7: stloc V_14
+ IL_11aab: ldloc V_11
+ IL_11aaf: ldc.i8 0x1
+ IL_11ab8: add
+ IL_11ab9: stloc V_11
+ IL_11abd: ldloc V_11
+ IL_11ac1: ldc.i8 0x1
+ IL_11aca: blt IL_11a99
+
+ IL_11acf: ldc.i8 0x0
+ IL_11ad8: stloc V_11
+ IL_11adc: ldc.i8 0x0
+ IL_11ae5: stloc V_12
+ IL_11ae9: ldloc V_12
+ IL_11aed: ldc.i8 0x1
+ IL_11af6: add
+ IL_11af7: stloc V_12
+ IL_11afb: ldloc V_12
+ IL_11aff: ldc.i8 0x1
+ IL_11b08: blt IL_11ae9
+
+ IL_11b0d: ldc.i8 0x0
+ IL_11b16: stloc V_12
+ IL_11b1a: ldloc V_12
+ IL_11b1e: ldc.i8 0x1
+ IL_11b27: add
+ IL_11b28: stloc V_12
+ IL_11b2c: ldloc V_12
+ IL_11b30: ldc.i8 0x0
+ IL_11b39: blt IL_11b1a
+
+ IL_11b3e: nop
+ IL_11b3f: ldloc V_11
+ IL_11b43: ldc.i8 0x1
+ IL_11b4c: add
+ IL_11b4d: stloc V_11
+ IL_11b51: ldloc V_11
+ IL_11b55: ldc.i8 0x2
+ IL_11b5e: blt IL_11adc
+
+ IL_11b63: br IL_11c0d
+
+ IL_11b68: ldc.i8 0x0
+ IL_11b71: stloc V_12
+ IL_11b75: ldloc V_12
+ IL_11b79: ldc.i8 0x1
+ IL_11b82: add
+ IL_11b83: stloc V_12
+ IL_11b87: ldloc V_12
+ IL_11b8b: ldc.i8 0x1
+ IL_11b94: blt IL_11b75
+
+ IL_11b99: ldc.i8 0x0
+ IL_11ba2: stloc V_12
+ IL_11ba6: ldloc V_12
+ IL_11baa: ldc.i8 0x1
+ IL_11bb3: add
+ IL_11bb4: stloc V_12
+ IL_11bb8: ldloc V_12
+ IL_11bbc: ldc.i8 0x2
+ IL_11bc5: blt IL_11ba6
+
+ IL_11bca: br IL_11bcf
+
+ IL_11bcf: ldc.i8 0x0
+ IL_11bd8: stloc V_12
+ IL_11bdc: ldloc V_12
+ IL_11be0: ldc.i8 0x1
+ IL_11be9: add
+ IL_11bea: stloc V_12
+ IL_11bee: ldloc V_12
+ IL_11bf2: ldc.i8 0x1
+ IL_11bfb: blt IL_11bdc
+
+ IL_11c00: ldc.i8 0x1
+ IL_11c09: stloc V_38
+ IL_11c0d: ldc.i8 0x0
+ IL_11c16: stloc V_11
+ IL_11c1a: ldloc V_12
+ IL_11c1e: ldc.i8 0x7
+ IL_11c27: add
+ IL_11c28: stloc V_20
+ IL_11c2c: ldloc V_11
+ IL_11c30: ldc.i8 0x1
+ IL_11c39: add
+ IL_11c3a: stloc V_11
+ IL_11c3e: ldloc V_11
+ IL_11c42: ldc.i8 0x2
+ IL_11c4b: blt IL_11c1a
+
+ IL_11c50: ldloc V_9
+ IL_11c54: ldloc V_21
+ IL_11c58: add
+ IL_11c59: stloc V_29
+ IL_11c5d: ldloc V_10
+ IL_11c61: ldc.i8 0x1
+ IL_11c6a: add
+ IL_11c6b: stloc V_10
+ IL_11c6f: ldloc V_10
+ IL_11c73: ldc.i8 0x2
+ IL_11c7c: blt IL_11a8c
+
+ IL_11c81: ldc.i8 0x0
+ IL_11c8a: stloc V_10
+ IL_11c8e: br IL_11d3d
+
+ IL_11c93: ldc.i8 0x0
+ IL_11c9c: stloc V_12
+ IL_11ca0: ldloc V_12
+ IL_11ca4: ldc.i8 0x1
+ IL_11cad: add
+ IL_11cae: stloc V_12
+ IL_11cb2: ldloc V_12
+ IL_11cb6: ldc.i8 0x1
+ IL_11cbf: blt IL_11ca0
+
+ IL_11cc4: ldc.i8 0x0
+ IL_11ccd: stloc V_12
+ IL_11cd1: ldloc V_12
+ IL_11cd5: ldc.i8 0x1
+ IL_11cde: add
+ IL_11cdf: stloc V_12
+ IL_11ce3: ldloc V_12
+ IL_11ce7: ldc.i8 0x0
+ IL_11cf0: blt IL_11cd1
+
+ IL_11cf5: ldc.i8 0x0
+ IL_11cfe: stloc V_12
+ IL_11d02: ldloc V_12
+ IL_11d06: ldc.i8 0x1
+ IL_11d0f: add
+ IL_11d10: stloc V_12
+ IL_11d14: ldloc V_12
+ IL_11d18: ldc.i8 0x2
+ IL_11d21: blt IL_11d02
+
+ IL_11d26: br IL_11d2b
+
+ IL_11d2b: ldloc V_49
+ IL_11d2f: ldc.i8 0x7
+ IL_11d38: add
+ IL_11d39: stloc V_33
+ IL_11d3d: ldloc V_44
+ IL_11d41: stloc V_47
+ IL_11d45: ldloc V_10
+ IL_11d49: ldc.i8 0x1
+ IL_11d52: add
+ IL_11d53: stloc V_10
+ IL_11d57: ldloc V_10
+ IL_11d5b: ldc.i8 0x2
+ IL_11d64: blt IL_11c8e
+
+ IL_11d69: ldloc V_42
+ IL_11d6d: stloc V_12
+ IL_11d71: ldc.i8 0x0
+ IL_11d7a: stloc V_9
+ IL_11d7e: ldc.i8 0x0
+ IL_11d87: stloc V_10
+ IL_11d8b: ldc.i8 0x0
+ IL_11d94: stloc V_11
+ IL_11d98: br IL_11d9d
+
+ IL_11d9d: ldc.i8 0x0
+ IL_11da6: stloc V_12
+ IL_11daa: ldloc V_12
+ IL_11dae: ldc.i8 0x1
+ IL_11db7: add
+ IL_11db8: stloc V_12
+ IL_11dbc: ldloc V_12
+ IL_11dc0: ldc.i8 0x2
+ IL_11dc9: blt IL_11daa
+
+ IL_11dce: ldc.i8 0x0
+ IL_11dd7: stloc V_12
+ IL_11ddb: ldloc V_12
+ IL_11ddf: ldc.i8 0x1
+ IL_11de8: add
+ IL_11de9: stloc V_12
+ IL_11ded: ldloc V_12
+ IL_11df1: ldc.i8 0x1
+ IL_11dfa: blt IL_11ddb
+
+ IL_11dff: ldc.i8 0x0
+ IL_11e08: stloc V_12
+ IL_11e0c: ldloc V_12
+ IL_11e10: ldc.i8 0x1
+ IL_11e19: add
+ IL_11e1a: stloc V_12
+ IL_11e1e: ldloc V_12
+ IL_11e22: ldc.i8 0x0
+ IL_11e2b: blt IL_11e0c
+
+ IL_11e30: ldc.i8 0x7
+ IL_11e39: stloc V_49
+ IL_11e3d: ldloc V_11
+ IL_11e41: ldc.i8 0x1
+ IL_11e4a: add
+ IL_11e4b: stloc V_11
+ IL_11e4f: ldloc V_11
+ IL_11e53: ldc.i8 0x0
+ IL_11e5c: blt IL_11d98
+
+ IL_11e61: ldc.i8 0x0
+ IL_11e6a: stloc V_11
+ IL_11e6e: br IL_11e73
+
+ IL_11e73: ldc.i8 0x0
+ IL_11e7c: stloc V_12
+ IL_11e80: ldloc V_12
+ IL_11e84: ldc.i8 0x1
+ IL_11e8d: add
+ IL_11e8e: stloc V_12
+ IL_11e92: ldloc V_12
+ IL_11e96: ldc.i8 0x0
+ IL_11e9f: blt IL_11e80
+
+ IL_11ea4: ldc.i8 0x0
+ IL_11ead: stloc V_12
+ IL_11eb1: ldloc V_12
+ IL_11eb5: ldc.i8 0x1
+ IL_11ebe: add
+ IL_11ebf: stloc V_12
+ IL_11ec3: ldloc V_12
+ IL_11ec7: ldc.i8 0x0
+ IL_11ed0: blt IL_11eb1
+
+ IL_11ed5: ldc.i8 0x0
+ IL_11ede: stloc V_12
+ IL_11ee2: ldloc V_12
+ IL_11ee6: ldc.i8 0x1
+ IL_11eef: add
+ IL_11ef0: stloc V_12
+ IL_11ef4: ldloc V_12
+ IL_11ef8: ldc.i8 0x0
+ IL_11f01: blt IL_11ee2
+
+ IL_11f06: ldloc V_47
+ IL_11f0a: ldloc V_23
+ IL_11f0e: add
+ IL_11f0f: stloc V_23
+ IL_11f13: ldloc V_11
+ IL_11f17: ldc.i8 0x1
+ IL_11f20: add
+ IL_11f21: stloc V_11
+ IL_11f25: ldloc V_11
+ IL_11f29: ldc.i8 0x1
+ IL_11f32: blt IL_11e6e
+
+ IL_11f37: nop
+ IL_11f38: ldloc V_10
+ IL_11f3c: ldc.i8 0x1
+ IL_11f45: add
+ IL_11f46: stloc V_10
+ IL_11f4a: ldloc V_10
+ IL_11f4e: ldc.i8 0x0
+ IL_11f57: blt IL_11d8b
+
+ IL_11f5c: ldc.i8 0x0
+ IL_11f65: stloc V_10
+ IL_11f69: br IL_11f85
+
+ IL_11f6e: ldloc V_49
+ IL_11f72: ldloc V_27
+ IL_11f76: add
+ IL_11f77: ldc.i8 0x7
+ IL_11f80: add
+ IL_11f81: stloc V_49
+ IL_11f85: ldloc V_36
+ IL_11f89: ldloc V_11
+ IL_11f8d: add
+ IL_11f8e: stloc V_36
+ IL_11f92: ldloc V_10
+ IL_11f96: ldc.i8 0x1
+ IL_11f9f: add
+ IL_11fa0: stloc V_10
+ IL_11fa4: ldloc V_10
+ IL_11fa8: ldc.i8 0x2
+ IL_11fb1: blt IL_11f69
+
+ IL_11fb6: ldloc V_35
+ IL_11fba: stloc V_30
+ IL_11fbe: ldloc V_9
+ IL_11fc2: ldc.i8 0x1
+ IL_11fcb: add
+ IL_11fcc: stloc V_9
+ IL_11fd0: ldloc V_9
+ IL_11fd4: ldc.i8 0x1
+ IL_11fdd: blt IL_11d7e
+
+ IL_11fe2: ldc.i8 0x0
+ IL_11feb: stloc V_9
+ IL_11fef: ldc.i8 0x0
+ IL_11ff8: stloc V_10
+ IL_11ffc: ldc.i8 0x0
+ IL_12005: stloc V_11
+ IL_12009: ldc.i8 0x0
+ IL_12012: stloc V_12
+ IL_12016: ldloc V_12
+ IL_1201a: ldc.i8 0x1
+ IL_12023: add
+ IL_12024: stloc V_12
+ IL_12028: ldloc V_12
+ IL_1202c: ldc.i8 0x2
+ IL_12035: blt IL_12016
+
+ IL_1203a: br IL_1203f
+
+ IL_1203f: ldloc V_0
+ IL_12043: stloc V_16
+ IL_12047: ldloc V_11
+ IL_1204b: ldc.i8 0x1
+ IL_12054: add
+ IL_12055: stloc V_11
+ IL_12059: ldloc V_11
+ IL_1205d: ldc.i8 0x1
+ IL_12066: blt IL_12009
+
+ IL_1206b: ldc.i8 0x0
+ IL_12074: stloc V_11
+ IL_12078: ldc.i8 0x0
+ IL_12081: stloc V_12
+ IL_12085: ldloc V_12
+ IL_12089: ldc.i8 0x1
+ IL_12092: add
+ IL_12093: stloc V_12
+ IL_12097: ldloc V_12
+ IL_1209b: ldc.i8 0x1
+ IL_120a4: blt IL_12085
+
+ IL_120a9: ldloc V_26
+ IL_120ad: ldc.i8 0x2
+ IL_120b6: add
+ IL_120b7: stloc V_14
+ IL_120bb: ldloc V_11
+ IL_120bf: ldc.i8 0x1
+ IL_120c8: add
+ IL_120c9: stloc V_11
+ IL_120cd: ldloc V_11
+ IL_120d1: ldc.i8 0x2
+ IL_120da: blt IL_12078
+
+ IL_120df: ldc.i8 0x0
+ IL_120e8: stloc V_11
+ IL_120ec: ldc.i8 0x0
+ IL_120f5: stloc V_12
+ IL_120f9: ldloc V_12
+ IL_120fd: ldc.i8 0x1
+ IL_12106: add
+ IL_12107: stloc V_12
+ IL_1210b: ldloc V_12
+ IL_1210f: ldc.i8 0x0
+ IL_12118: blt IL_120f9
+
+ IL_1211d: ldc.i8 0x0
+ IL_12126: stloc V_12
+ IL_1212a: ldloc V_12
+ IL_1212e: ldc.i8 0x1
+ IL_12137: add
+ IL_12138: stloc V_12
+ IL_1213c: ldloc V_12
+ IL_12140: ldc.i8 0x1
+ IL_12149: blt IL_1212a
+
+ IL_1214e: ldloc V_32
+ IL_12152: ldloc V_13
+ IL_12156: add
+ IL_12157: ldc.i8 0x1
+ IL_12160: add
+ IL_12161: stloc V_32
+ IL_12165: ldloc V_11
+ IL_12169: ldc.i8 0x1
+ IL_12172: add
+ IL_12173: stloc V_11
+ IL_12177: ldloc V_11
+ IL_1217b: ldc.i8 0x0
+ IL_12184: blt IL_120ec
+
+ IL_12189: ldloc V_45
+ IL_1218d: ldloc V_47
+ IL_12191: add
+ IL_12192: stloc V_39
+ IL_12196: ldloc V_10
+ IL_1219a: ldc.i8 0x1
+ IL_121a3: add
+ IL_121a4: stloc V_10
+ IL_121a8: ldloc V_10
+ IL_121ac: ldc.i8 0x0
+ IL_121b5: blt IL_11ffc
+
+ IL_121ba: br IL_121de
+
+ IL_121bf: br IL_121d1
+
+ IL_121c4: ldc.i8 0x4
+ IL_121cd: stloc V_37
+ IL_121d1: ldloc V_41
+ IL_121d5: ldloc V_49
+ IL_121d9: add
+ IL_121da: stloc V_41
+ IL_121de: ldc.i8 0x0
+ IL_121e7: stloc V_10
+ IL_121eb: br IL_12207
+
+ IL_121f0: br IL_121f5
+
+ IL_121f5: ldloc V_43
+ IL_121f9: ldc.i8 0x0
+ IL_12202: add
+ IL_12203: stloc V_27
+ IL_12207: ldc.i8 0x0
+ IL_12210: stloc V_11
+ IL_12214: ldc.i8 0x0
+ IL_1221d: stloc V_12
+ IL_12221: ldloc V_12
+ IL_12225: ldc.i8 0x1
+ IL_1222e: add
+ IL_1222f: stloc V_12
+ IL_12233: ldloc V_12
+ IL_12237: ldc.i8 0x1
+ IL_12240: blt IL_12221
+
+ IL_12245: br IL_1224a
+
+ IL_1224a: br IL_1224f
+
+ IL_1224f: nop
+ IL_12250: ldloc V_11
+ IL_12254: ldc.i8 0x1
+ IL_1225d: add
+ IL_1225e: stloc V_11
+ IL_12262: ldloc V_11
+ IL_12266: ldc.i8 0x0
+ IL_1226f: blt IL_12214
+
+ IL_12274: ldc.i8 0x0
+ IL_1227d: stloc V_11
+ IL_12281: ldc.i8 0x0
+ IL_1228a: stloc V_12
+ IL_1228e: ldloc V_12
+ IL_12292: ldc.i8 0x1
+ IL_1229b: add
+ IL_1229c: stloc V_12
+ IL_122a0: ldloc V_12
+ IL_122a4: ldc.i8 0x0
+ IL_122ad: blt IL_1228e
+
+ IL_122b2: ldc.i8 0x0
+ IL_122bb: stloc V_12
+ IL_122bf: ldloc V_12
+ IL_122c3: ldc.i8 0x1
+ IL_122cc: add
+ IL_122cd: stloc V_12
+ IL_122d1: ldloc V_12
+ IL_122d5: ldc.i8 0x1
+ IL_122de: blt IL_122bf
+
+ IL_122e3: ldc.i8 0x0
+ IL_122ec: stloc V_12
+ IL_122f0: ldloc V_12
+ IL_122f4: ldc.i8 0x1
+ IL_122fd: add
+ IL_122fe: stloc V_12
+ IL_12302: ldloc V_12
+ IL_12306: ldc.i8 0x0
+ IL_1230f: blt IL_122f0
+
+ IL_12314: ldc.i8 0x0
+ IL_1231d: stloc V_12
+ IL_12321: ldloc V_12
+ IL_12325: ldc.i8 0x1
+ IL_1232e: add
+ IL_1232f: stloc V_12
+ IL_12333: ldloc V_12
+ IL_12337: ldc.i8 0x1
+ IL_12340: blt IL_12321
+
+ IL_12345: ldloc V_46
+ IL_12349: stloc V_29
+ IL_1234d: ldloc V_11
+ IL_12351: ldc.i8 0x1
+ IL_1235a: add
+ IL_1235b: stloc V_11
+ IL_1235f: ldloc V_11
+ IL_12363: ldc.i8 0x1
+ IL_1236c: blt IL_12281
+
+ IL_12371: ldc.i8 0x0
+ IL_1237a: stloc V_11
+ IL_1237e: ldc.i8 0x0
+ IL_12387: stloc V_12
+ IL_1238b: ldloc V_12
+ IL_1238f: ldc.i8 0x1
+ IL_12398: add
+ IL_12399: stloc V_12
+ IL_1239d: ldloc V_12
+ IL_123a1: ldc.i8 0x1
+ IL_123aa: blt IL_1238b
+
+ IL_123af: ldloc V_31
+ IL_123b3: ldc.i8 0x0
+ IL_123bc: add
+ IL_123bd: stloc V_35
+ IL_123c1: ldloc V_11
+ IL_123c5: ldc.i8 0x1
+ IL_123ce: add
+ IL_123cf: stloc V_11
+ IL_123d3: ldloc V_11
+ IL_123d7: ldc.i8 0x0
+ IL_123e0: blt IL_1237e
+
+ IL_123e5: ldc.i8 0x3
+ IL_123ee: stloc V_13
+ IL_123f2: ldloc V_10
+ IL_123f6: ldc.i8 0x1
+ IL_123ff: add
+ IL_12400: stloc V_10
+ IL_12404: ldloc V_10
+ IL_12408: ldc.i8 0x0
+ IL_12411: blt IL_121eb
+
+ IL_12416: ldloc V_37
+ IL_1241a: ldloc V_36
+ IL_1241e: add
+ IL_1241f: stloc V_37
+ IL_12423: ldloc V_9
+ IL_12427: ldc.i8 0x1
+ IL_12430: add
+ IL_12431: stloc V_9
+ IL_12435: ldloc V_9
+ IL_12439: ldc.i8 0x1
+ IL_12442: blt IL_11fef
+
+ IL_12447: ldc.i8 0x0
+ IL_12450: stloc V_9
+ IL_12454: ldloc V_2
+ IL_12458: stloc V_36
+ IL_1245c: ldloc V_9
+ IL_12460: ldc.i8 0x1
+ IL_12469: add
+ IL_1246a: stloc V_9
+ IL_1246e: ldloc V_9
+ IL_12472: ldc.i8 0x1
+ IL_1247b: blt IL_12454
+
+ IL_12480: nop
+ IL_12481: ldc.i8 0x0
+ IL_1248a: stloc V_8
+ IL_1248e: ldc.i8 0x0
+ IL_12497: stloc V_9
+ IL_1249b: br IL_12580
+
+ IL_124a0: br IL_124ed
+
+ IL_124a5: br IL_124aa
+
+ IL_124aa: ldc.i8 0x0
+ IL_124b3: stloc V_12
+ IL_124b7: ldloc V_12
+ IL_124bb: ldc.i8 0x1
+ IL_124c4: add
+ IL_124c5: stloc V_12
+ IL_124c9: ldloc V_12
+ IL_124cd: ldc.i8 0x0
+ IL_124d6: blt IL_124b7
+
+ IL_124db: br IL_124e0
+
+ IL_124e0: ldloc V_27
+ IL_124e4: ldloc V_9
+ IL_124e8: add
+ IL_124e9: stloc V_27
+ IL_124ed: ldc.i8 0x0
+ IL_124f6: stloc V_11
+ IL_124fa: ldloc V_38
+ IL_124fe: stloc V_14
+ IL_12502: ldloc V_11
+ IL_12506: ldc.i8 0x1
+ IL_1250f: add
+ IL_12510: stloc V_11
+ IL_12514: ldloc V_11
+ IL_12518: ldc.i8 0x0
+ IL_12521: blt IL_124fa
+
+ IL_12526: ldc.i8 0x0
+ IL_1252f: stloc V_11
+ IL_12533: br IL_12538
+
+ IL_12538: br IL_1253d
+
+ IL_1253d: ldloc V_8
+ IL_12541: ldc.i8 0x7
+ IL_1254a: add
+ IL_1254b: stloc V_21
+ IL_1254f: ldloc V_11
+ IL_12553: ldc.i8 0x1
+ IL_1255c: add
+ IL_1255d: stloc V_11
+ IL_12561: ldloc V_11
+ IL_12565: ldc.i8 0x2
+ IL_1256e: blt IL_12533
+
+ IL_12573: ldloc V_31
+ IL_12577: ldloc V_9
+ IL_1257b: add
+ IL_1257c: stloc V_31
+ IL_12580: ldc.i8 0x0
+ IL_12589: stloc V_10
+ IL_1258d: ldc.i8 0x0
+ IL_12596: stloc V_11
+ IL_1259a: br IL_1259f
+
+ IL_1259f: br IL_125a4
+
+ IL_125a4: ldc.i8 0x0
+ IL_125ad: stloc V_12
+ IL_125b1: ldloc V_12
+ IL_125b5: ldc.i8 0x1
+ IL_125be: add
+ IL_125bf: stloc V_12
+ IL_125c3: ldloc V_12
+ IL_125c7: ldc.i8 0x1
+ IL_125d0: blt IL_125b1
+
+ IL_125d5: ldloc V_43
+ IL_125d9: stloc V_40
+ IL_125dd: ldloc V_11
+ IL_125e1: ldc.i8 0x1
+ IL_125ea: add
+ IL_125eb: stloc V_11
+ IL_125ef: ldloc V_11
+ IL_125f3: ldc.i8 0x1
+ IL_125fc: blt IL_1259a
+
+ IL_12601: br IL_126b0
+
+ IL_12606: ldc.i8 0x0
+ IL_1260f: stloc V_12
+ IL_12613: ldloc V_12
+ IL_12617: ldc.i8 0x1
+ IL_12620: add
+ IL_12621: stloc V_12
+ IL_12625: ldloc V_12
+ IL_12629: ldc.i8 0x1
+ IL_12632: blt IL_12613
+
+ IL_12637: ldc.i8 0x0
+ IL_12640: stloc V_12
+ IL_12644: ldloc V_12
+ IL_12648: ldc.i8 0x1
+ IL_12651: add
+ IL_12652: stloc V_12
+ IL_12656: ldloc V_12
+ IL_1265a: ldc.i8 0x2
+ IL_12663: blt IL_12644
+
+ IL_12668: ldc.i8 0x0
+ IL_12671: stloc V_12
+ IL_12675: ldloc V_12
+ IL_12679: ldc.i8 0x1
+ IL_12682: add
+ IL_12683: stloc V_12
+ IL_12687: ldloc V_12
+ IL_1268b: ldc.i8 0x0
+ IL_12694: blt IL_12675
+
+ IL_12699: ldloc V_37
+ IL_1269d: ldloc V_0
+ IL_126a1: add
+ IL_126a2: ldc.i8 0x5
+ IL_126ab: add
+ IL_126ac: stloc V_37
+ IL_126b0: br IL_126cc
+
+ IL_126b5: ldloc V_33
+ IL_126b9: ldloc V_18
+ IL_126bd: add
+ IL_126be: ldc.i8 0x3
+ IL_126c7: add
+ IL_126c8: stloc V_33
+ IL_126cc: nop
+ IL_126cd: ldloc V_10
+ IL_126d1: ldc.i8 0x1
+ IL_126da: add
+ IL_126db: stloc V_10
+ IL_126df: ldloc V_10
+ IL_126e3: ldc.i8 0x2
+ IL_126ec: blt IL_1258d
+
+ IL_126f1: ldc.i8 0x0
+ IL_126fa: stloc V_10
+ IL_126fe: ldc.i8 0x0
+ IL_12707: stloc V_11
+ IL_1270b: br IL_12710
+
+ IL_12710: br IL_12715
+
+ IL_12715: ldc.i8 0x0
+ IL_1271e: stloc V_12
+ IL_12722: ldloc V_12
+ IL_12726: ldc.i8 0x1
+ IL_1272f: add
+ IL_12730: stloc V_12
+ IL_12734: ldloc V_12
+ IL_12738: ldc.i8 0x1
+ IL_12741: blt IL_12722
+
+ IL_12746: ldc.i8 0x4
+ IL_1274f: stloc V_15
+ IL_12753: ldloc V_11
+ IL_12757: ldc.i8 0x1
+ IL_12760: add
+ IL_12761: stloc V_11
+ IL_12765: ldloc V_11
+ IL_12769: ldc.i8 0x1
+ IL_12772: blt IL_1270b
+
+ IL_12777: ldloc V_9
+ IL_1277b: stloc V_37
+ IL_1277f: ldloc V_10
+ IL_12783: ldc.i8 0x1
+ IL_1278c: add
+ IL_1278d: stloc V_10
+ IL_12791: ldloc V_10
+ IL_12795: ldc.i8 0x2
+ IL_1279e: blt IL_126fe
+
+ IL_127a3: ldc.i8 0x9
+ IL_127ac: stloc V_18
+ IL_127b0: ldloc V_9
+ IL_127b4: ldc.i8 0x1
+ IL_127bd: add
+ IL_127be: stloc V_9
+ IL_127c2: ldloc V_9
+ IL_127c6: ldc.i8 0x0
+ IL_127cf: blt IL_1249b
+
+ IL_127d4: ldc.i8 0x0
+ IL_127dd: stloc V_9
+ IL_127e1: ldc.i8 0x0
+ IL_127ea: stloc V_10
+ IL_127ee: br IL_127f9
+
+ IL_127f3: br IL_127f8
+
+ IL_127f8: nop
+ IL_127f9: ldc.i8 0x0
+ IL_12802: stloc V_11
+ IL_12806: ldc.i8 0x0
+ IL_1280f: stloc V_12
+ IL_12813: ldloc V_12
+ IL_12817: ldc.i8 0x1
+ IL_12820: add
+ IL_12821: stloc V_12
+ IL_12825: ldloc V_12
+ IL_12829: ldc.i8 0x2
+ IL_12832: blt IL_12813
+
+ IL_12837: ldc.i8 0x0
+ IL_12840: stloc V_12
+ IL_12844: ldloc V_12
+ IL_12848: ldc.i8 0x1
+ IL_12851: add
+ IL_12852: stloc V_12
+ IL_12856: ldloc V_12
+ IL_1285a: ldc.i8 0x2
+ IL_12863: blt IL_12844
+
+ IL_12868: ldloc V_33
+ IL_1286c: ldloc V_18
+ IL_12870: add
+ IL_12871: stloc V_33
+ IL_12875: ldloc V_11
+ IL_12879: ldc.i8 0x1
+ IL_12882: add
+ IL_12883: stloc V_11
+ IL_12887: ldloc V_11
+ IL_1288b: ldc.i8 0x0
+ IL_12894: blt IL_12806
+
+ IL_12899: br IL_128b0
+
+ IL_1289e: ldloc V_10
+ IL_128a2: ldc.i8 0x5
+ IL_128ab: add
+ IL_128ac: stloc V_42
+ IL_128b0: br IL_128fd
+
+ IL_128b5: br IL_128ba
+
+ IL_128ba: ldc.i8 0x0
+ IL_128c3: stloc V_12
+ IL_128c7: ldloc V_12
+ IL_128cb: ldc.i8 0x1
+ IL_128d4: add
+ IL_128d5: stloc V_12
+ IL_128d9: ldloc V_12
+ IL_128dd: ldc.i8 0x0
+ IL_128e6: blt IL_128c7
+
+ IL_128eb: br IL_128f0
+
+ IL_128f0: ldloc V_27
+ IL_128f4: ldloc V_29
+ IL_128f8: add
+ IL_128f9: stloc V_30
+ IL_128fd: ldloc V_23
+ IL_12901: ldloc V_36
+ IL_12905: add
+ IL_12906: stloc V_21
+ IL_1290a: ldloc V_10
+ IL_1290e: ldc.i8 0x1
+ IL_12917: add
+ IL_12918: stloc V_10
+ IL_1291c: ldloc V_10
+ IL_12920: ldc.i8 0x1
+ IL_12929: blt IL_127ee
+
+ IL_1292e: br IL_129d4
+
+ IL_12933: ldc.i8 0x0
+ IL_1293c: stloc V_11
+ IL_12940: ldc.i8 0x0
+ IL_12949: stloc V_12
+ IL_1294d: ldloc V_12
+ IL_12951: ldc.i8 0x1
+ IL_1295a: add
+ IL_1295b: stloc V_12
+ IL_1295f: ldloc V_12
+ IL_12963: ldc.i8 0x1
+ IL_1296c: blt IL_1294d
+
+ IL_12971: ldc.i8 0x0
+ IL_1297a: stloc V_12
+ IL_1297e: ldloc V_12
+ IL_12982: ldc.i8 0x1
+ IL_1298b: add
+ IL_1298c: stloc V_12
+ IL_12990: ldloc V_12
+ IL_12994: ldc.i8 0x1
+ IL_1299d: blt IL_1297e
+
+ IL_129a2: br IL_129a7
+
+ IL_129a7: ldloc V_32
+ IL_129ab: stloc V_44
+ IL_129af: ldloc V_11
+ IL_129b3: ldc.i8 0x1
+ IL_129bc: add
+ IL_129bd: stloc V_11
+ IL_129c1: ldloc V_11
+ IL_129c5: ldc.i8 0x0
+ IL_129ce: blt IL_12940
+
+ IL_129d3: nop
+ IL_129d4: ldc.i8 0x0
+ IL_129dd: stloc V_10
+ IL_129e1: ldc.i8 0x0
+ IL_129ea: stloc V_11
+ IL_129ee: ldc.i8 0x0
+ IL_129f7: stloc V_12
+ IL_129fb: ldloc V_12
+ IL_129ff: ldc.i8 0x1
+ IL_12a08: add
+ IL_12a09: stloc V_12
+ IL_12a0d: ldloc V_12
+ IL_12a11: ldc.i8 0x0
+ IL_12a1a: blt IL_129fb
+
+ IL_12a1f: br IL_12a24
+
+ IL_12a24: ldc.i8 0x0
+ IL_12a2d: stloc V_12
+ IL_12a31: ldloc V_12
+ IL_12a35: ldc.i8 0x1
+ IL_12a3e: add
+ IL_12a3f: stloc V_12
+ IL_12a43: ldloc V_12
+ IL_12a47: ldc.i8 0x1
+ IL_12a50: blt IL_12a31
+
+ IL_12a55: ldc.i8 0x0
+ IL_12a5e: stloc V_12
+ IL_12a62: ldloc V_12
+ IL_12a66: ldc.i8 0x1
+ IL_12a6f: add
+ IL_12a70: stloc V_12
+ IL_12a74: ldloc V_12
+ IL_12a78: ldc.i8 0x2
+ IL_12a81: blt IL_12a62
+
+ IL_12a86: nop
+ IL_12a87: ldloc V_11
+ IL_12a8b: ldc.i8 0x1
+ IL_12a94: add
+ IL_12a95: stloc V_11
+ IL_12a99: ldloc V_11
+ IL_12a9d: ldc.i8 0x1
+ IL_12aa6: blt IL_129ee
+
+ IL_12aab: br IL_12b07
+
+ IL_12ab0: br IL_12ab5
+
+ IL_12ab5: br IL_12aba
+
+ IL_12aba: ldc.i8 0x0
+ IL_12ac3: stloc V_12
+ IL_12ac7: ldloc V_12
+ IL_12acb: ldc.i8 0x1
+ IL_12ad4: add
+ IL_12ad5: stloc V_12
+ IL_12ad9: ldloc V_12
+ IL_12add: ldc.i8 0x2
+ IL_12ae6: blt IL_12ac7
+
+ IL_12aeb: br IL_12af0
+
+ IL_12af0: ldloc V_39
+ IL_12af4: ldloc V_38
+ IL_12af8: add
+ IL_12af9: ldc.i8 0x2
+ IL_12b02: add
+ IL_12b03: stloc V_39
+ IL_12b07: ldc.i8 0x0
+ IL_12b10: stloc V_11
+ IL_12b14: ldc.i8 0x0
+ IL_12b1d: stloc V_12
+ IL_12b21: ldloc V_12
+ IL_12b25: ldc.i8 0x1
+ IL_12b2e: add
+ IL_12b2f: stloc V_12
+ IL_12b33: ldloc V_12
+ IL_12b37: ldc.i8 0x1
+ IL_12b40: blt IL_12b21
+
+ IL_12b45: ldc.i8 0x0
+ IL_12b4e: stloc V_12
+ IL_12b52: ldloc V_12
+ IL_12b56: ldc.i8 0x1
+ IL_12b5f: add
+ IL_12b60: stloc V_12
+ IL_12b64: ldloc V_12
+ IL_12b68: ldc.i8 0x0
+ IL_12b71: blt IL_12b52
+
+ IL_12b76: br IL_12b7b
+
+ IL_12b7b: ldloc V_22
+ IL_12b7f: stloc V_36
+ IL_12b83: ldloc V_11
+ IL_12b87: ldc.i8 0x1
+ IL_12b90: add
+ IL_12b91: stloc V_11
+ IL_12b95: ldloc V_11
+ IL_12b99: ldc.i8 0x0
+ IL_12ba2: blt IL_12b14
+
+ IL_12ba7: ldc.i8 0x0
+ IL_12bb0: stloc V_11
+ IL_12bb4: ldc.i8 0x0
+ IL_12bbd: stloc V_12
+ IL_12bc1: ldloc V_12
+ IL_12bc5: ldc.i8 0x1
+ IL_12bce: add
+ IL_12bcf: stloc V_12
+ IL_12bd3: ldloc V_12
+ IL_12bd7: ldc.i8 0x0
+ IL_12be0: blt IL_12bc1
+
+ IL_12be5: ldc.i8 0x0
+ IL_12bee: stloc V_12
+ IL_12bf2: ldloc V_12
+ IL_12bf6: ldc.i8 0x1
+ IL_12bff: add
+ IL_12c00: stloc V_12
+ IL_12c04: ldloc V_12
+ IL_12c08: ldc.i8 0x2
+ IL_12c11: blt IL_12bf2
+
+ IL_12c16: ldloc V_46
+ IL_12c1a: ldloc V_40
+ IL_12c1e: add
+ IL_12c1f: stloc V_46
+ IL_12c23: ldloc V_11
+ IL_12c27: ldc.i8 0x1
+ IL_12c30: add
+ IL_12c31: stloc V_11
+ IL_12c35: ldloc V_11
+ IL_12c39: ldc.i8 0x1
+ IL_12c42: blt IL_12bb4
+
+ IL_12c47: ldloc V_11
+ IL_12c4b: ldloc V_49
+ IL_12c4f: add
+ IL_12c50: stloc V_27
+ IL_12c54: ldloc V_10
+ IL_12c58: ldc.i8 0x1
+ IL_12c61: add
+ IL_12c62: stloc V_10
+ IL_12c66: ldloc V_10
+ IL_12c6a: ldc.i8 0x0
+ IL_12c73: blt IL_129e1
+
+ IL_12c78: ldc.i8 0x0
+ IL_12c81: stloc V_10
+ IL_12c85: ldc.i8 0x0
+ IL_12c8e: stloc V_11
+ IL_12c92: ldc.i8 0x0
+ IL_12c9b: stloc V_12
+ IL_12c9f: ldloc V_12
+ IL_12ca3: ldc.i8 0x1
+ IL_12cac: add
+ IL_12cad: stloc V_12
+ IL_12cb1: ldloc V_12
+ IL_12cb5: ldc.i8 0x1
+ IL_12cbe: blt IL_12c9f
+
+ IL_12cc3: ldc.i8 0x0
+ IL_12ccc: stloc V_12
+ IL_12cd0: ldloc V_12
+ IL_12cd4: ldc.i8 0x1
+ IL_12cdd: add
+ IL_12cde: stloc V_12
+ IL_12ce2: ldloc V_12
+ IL_12ce6: ldc.i8 0x2
+ IL_12cef: blt IL_12cd0
+
+ IL_12cf4: ldloc V_26
+ IL_12cf8: ldloc V_4
+ IL_12cfc: add
+ IL_12cfd: stloc V_26
+ IL_12d01: ldloc V_11
+ IL_12d05: ldc.i8 0x1
+ IL_12d0e: add
+ IL_12d0f: stloc V_11
+ IL_12d13: ldloc V_11
+ IL_12d17: ldc.i8 0x0
+ IL_12d20: blt IL_12c92
+
+ IL_12d25: ldloc V_9
+ IL_12d29: stloc V_36
+ IL_12d2d: ldloc V_10
+ IL_12d31: ldc.i8 0x1
+ IL_12d3a: add
+ IL_12d3b: stloc V_10
+ IL_12d3f: ldloc V_10
+ IL_12d43: ldc.i8 0x1
+ IL_12d4c: blt IL_12c85
+
+ IL_12d51: ldloc V_17
+ IL_12d55: ldloc V_9
+ IL_12d59: add
+ IL_12d5a: ldc.i8 0x6
+ IL_12d63: add
+ IL_12d64: stloc V_17
+ IL_12d68: ldloc V_9
+ IL_12d6c: ldc.i8 0x1
+ IL_12d75: add
+ IL_12d76: stloc V_9
+ IL_12d7a: ldloc V_9
+ IL_12d7e: ldc.i8 0x1
+ IL_12d87: blt IL_127e1
+
+ IL_12d8c: ldloc V_20
+ IL_12d90: ldloc V_31
+ IL_12d94: add
+ IL_12d95: stloc V_39
+ IL_12d99: ldloc V_8
+ IL_12d9d: ldc.i8 0x1
+ IL_12da6: add
+ IL_12da7: stloc V_8
+ IL_12dab: ldloc V_8
+ IL_12daf: ldc.i8 0x1
+ IL_12db8: blt IL_1248e
+
+ IL_12dbd: ldloc V_30
+ IL_12dc1: stloc V_16
+ IL_12dc5: ldloc V_7
+ IL_12dc9: ldc.i8 0x1
+ IL_12dd2: add
+ IL_12dd3: stloc V_7
+ IL_12dd7: ldloc V_7
+ IL_12ddb: ldc.i8 0x2
+ IL_12de4: blt IL_117df
+
+ IL_12de9: ldloc V_26
+ IL_12ded: ldloc V_37
+ IL_12df1: add
+ IL_12df2: ldc.i8 0x7
+ IL_12dfb: add
+ IL_12dfc: stloc V_26
+ IL_12e00: ldloc V_6
+ IL_12e04: ldc.i8 0x1
+ IL_12e0d: add
+ IL_12e0e: stloc V_6
+ IL_12e12: ldloc V_6
+ IL_12e16: ldc.i8 0x2
+ IL_12e1f: blt IL_fe55
+
+ IL_12e24: ldloc V_41
+ IL_12e28: ldc.i8 0x9
+ IL_12e31: add
+ IL_12e32: stloc V_10
+ IL_12e36: ldloc V_5
+ IL_12e3a: ldc.i8 0x1
+ IL_12e43: add
+ IL_12e44: stloc V_5
+ IL_12e48: ldloc V_5
+ IL_12e4c: ldc.i8 0x1
+ IL_12e55: blt IL_b471
+
+ IL_12e5a: ldloc V_14
+ IL_12e5e: ldloc V_29
+ IL_12e62: add
+ IL_12e63: ldc.i8 0x2
+ IL_12e6c: add
+ IL_12e6d: stloc V_14
+ IL_12e71: ldloc V_4
+ IL_12e75: ldc.i8 0x1
+ IL_12e7e: add
+ IL_12e7f: stloc V_4
+ IL_12e83: ldloc V_4
+ IL_12e87: ldc.i8 0x2
+ IL_12e90: blt IL_b464
+
+ IL_12e95: ldloc V_6
+ IL_12e99: stloc V_42
+ IL_12e9d: ldloc V_3
+ IL_12ea1: ldc.i8 0x1
+ IL_12eaa: add
+ IL_12eab: stloc V_3
+ IL_12eaf: ldloc V_3
+ IL_12eb3: ldc.i8 0x2
+ IL_12ebc: blt IL_0046
+
+ IL_12ec1: br IL_12edd
+
+ IL_12ec6: ldloc V_44
+ IL_12eca: ldloc V_30
+ IL_12ece: add
+ IL_12ecf: ldc.i8 0x1
+ IL_12ed8: add
+ IL_12ed9: stloc V_44
+ IL_12edd: br IL_287e4
+
+ IL_12ee2: ldc.i8 0x0
+ IL_12eeb: stloc V_4
+ IL_12eef: ldc.i8 0x0
+ IL_12ef8: stloc V_5
+ IL_12efc: br IL_1721b
+
+ IL_12f01: br IL_146a8
+
+ IL_12f06: br IL_13223
+
+ IL_12f0b: ldc.i8 0x0
+ IL_12f14: stloc V_9
+ IL_12f18: ldc.i8 0x0
+ IL_12f21: stloc V_10
+ IL_12f25: ldc.i8 0x0
+ IL_12f2e: stloc V_11
+ IL_12f32: ldc.i8 0x4
+ IL_12f3b: stloc V_26
+ IL_12f3f: ldloc V_11
+ IL_12f43: ldc.i8 0x1
+ IL_12f4c: add
+ IL_12f4d: stloc V_11
+ IL_12f51: ldloc V_11
+ IL_12f55: ldc.i8 0x0
+ IL_12f5e: blt IL_12f32
+
+ IL_12f63: br IL_12fa1
+
+ IL_12f68: ldc.i8 0x0
+ IL_12f71: stloc V_12
+ IL_12f75: ldloc V_12
+ IL_12f79: ldc.i8 0x1
+ IL_12f82: add
+ IL_12f83: stloc V_12
+ IL_12f87: ldloc V_12
+ IL_12f8b: ldc.i8 0x0
+ IL_12f94: blt IL_12f75
+
+ IL_12f99: ldloc V_36
+ IL_12f9d: stloc V_49
+ IL_12fa1: ldc.i8 0x0
+ IL_12faa: stloc V_11
+ IL_12fae: ldloc V_49
+ IL_12fb2: ldloc V_30
+ IL_12fb6: add
+ IL_12fb7: stloc V_45
+ IL_12fbb: ldloc V_11
+ IL_12fbf: ldc.i8 0x1
+ IL_12fc8: add
+ IL_12fc9: stloc V_11
+ IL_12fcd: ldloc V_11
+ IL_12fd1: ldc.i8 0x1
+ IL_12fda: blt IL_12fae
+
+ IL_12fdf: ldloc V_19
+ IL_12fe3: ldloc V_37
+ IL_12fe7: add
+ IL_12fe8: stloc V_19
+ IL_12fec: ldloc V_10
+ IL_12ff0: ldc.i8 0x1
+ IL_12ff9: add
+ IL_12ffa: stloc V_10
+ IL_12ffe: ldloc V_10
+ IL_13002: ldc.i8 0x1
+ IL_1300b: blt IL_12f25
+
+ IL_13010: ldc.i8 0x0
+ IL_13019: stloc V_10
+ IL_1301d: ldc.i8 0x2
+ IL_13026: stloc V_30
+ IL_1302a: ldloc V_10
+ IL_1302e: ldc.i8 0x1
+ IL_13037: add
+ IL_13038: stloc V_10
+ IL_1303c: ldloc V_10
+ IL_13040: ldc.i8 0x0
+ IL_13049: blt IL_1301d
+
+ IL_1304e: br IL_130ad
+
+ IL_13053: ldc.i8 0x0
+ IL_1305c: stloc V_11
+ IL_13060: br IL_13065
+
+ IL_13065: ldloc V_44
+ IL_13069: ldloc V_13
+ IL_1306d: add
+ IL_1306e: stloc V_24
+ IL_13072: ldloc V_11
+ IL_13076: ldc.i8 0x1
+ IL_1307f: add
+ IL_13080: stloc V_11
+ IL_13084: ldloc V_11
+ IL_13088: ldc.i8 0x0
+ IL_13091: blt IL_13060
+
+ IL_13096: ldloc V_11
+ IL_1309a: ldloc V_38
+ IL_1309e: add
+ IL_1309f: ldc.i8 0x7
+ IL_130a8: add
+ IL_130a9: stloc V_11
+ IL_130ad: ldloc V_13
+ IL_130b1: ldloc V_37
+ IL_130b5: add
+ IL_130b6: ldc.i8 0x6
+ IL_130bf: add
+ IL_130c0: stloc V_13
+ IL_130c4: ldloc V_9
+ IL_130c8: ldc.i8 0x1
+ IL_130d1: add
+ IL_130d2: stloc V_9
+ IL_130d6: ldloc V_9
+ IL_130da: ldc.i8 0x0
+ IL_130e3: blt IL_12f18
+
+ IL_130e8: ldc.i8 0x0
+ IL_130f1: stloc V_9
+ IL_130f5: br IL_131a7
+
+ IL_130fa: ldc.i8 0x0
+ IL_13103: stloc V_11
+ IL_13107: ldc.i8 0x0
+ IL_13110: stloc V_12
+ IL_13114: ldloc V_12
+ IL_13118: ldc.i8 0x1
+ IL_13121: add
+ IL_13122: stloc V_12
+ IL_13126: ldloc V_12
+ IL_1312a: ldc.i8 0x1
+ IL_13133: blt IL_13114
+
+ IL_13138: ldc.i8 0x0
+ IL_13141: stloc V_12
+ IL_13145: ldloc V_12
+ IL_13149: ldc.i8 0x1
+ IL_13152: add
+ IL_13153: stloc V_12
+ IL_13157: ldloc V_12
+ IL_1315b: ldc.i8 0x1
+ IL_13164: blt IL_13145
+
+ IL_13169: ldloc V_5
+ IL_1316d: ldloc V_49
+ IL_13171: add
+ IL_13172: stloc V_33
+ IL_13176: ldloc V_11
+ IL_1317a: ldc.i8 0x1
+ IL_13183: add
+ IL_13184: stloc V_11
+ IL_13188: ldloc V_11
+ IL_1318c: ldc.i8 0x2
+ IL_13195: blt IL_13107
+
+ IL_1319a: ldloc V_38
+ IL_1319e: ldloc V_27
+ IL_131a2: add
+ IL_131a3: stloc V_28
+ IL_131a7: ldc.i8 0x0
+ IL_131b0: stloc V_10
+ IL_131b4: ldloc V_27
+ IL_131b8: stloc V_29
+ IL_131bc: ldloc V_10
+ IL_131c0: ldc.i8 0x1
+ IL_131c9: add
+ IL_131ca: stloc V_10
+ IL_131ce: ldloc V_10
+ IL_131d2: ldc.i8 0x2
+ IL_131db: blt IL_131b4
+
+ IL_131e0: ldloc V_16
+ IL_131e4: ldloc V_18
+ IL_131e8: add
+ IL_131e9: stloc V_16
+ IL_131ed: ldloc V_9
+ IL_131f1: ldc.i8 0x1
+ IL_131fa: add
+ IL_131fb: stloc V_9
+ IL_131ff: ldloc V_9
+ IL_13203: ldc.i8 0x0
+ IL_1320c: blt IL_130f5
+
+ IL_13211: ldloc V_22
+ IL_13215: ldc.i8 0x9
+ IL_1321e: add
+ IL_1321f: stloc V_36
+ IL_13223: br IL_138c0
+
+ IL_13228: br IL_136fd
+
+ IL_1322d: br IL_133e6
+
+ IL_13232: br IL_132a6
+
+ IL_13237: ldc.i8 0x0
+ IL_13240: stloc V_12
+ IL_13244: ldloc V_12
+ IL_13248: ldc.i8 0x1
+ IL_13251: add
+ IL_13252: stloc V_12
+ IL_13256: ldloc V_12
+ IL_1325a: ldc.i8 0x2
+ IL_13263: blt IL_13244
+
+ IL_13268: ldc.i8 0x0
+ IL_13271: stloc V_12
+ IL_13275: ldloc V_12
+ IL_13279: ldc.i8 0x1
+ IL_13282: add
+ IL_13283: stloc V_12
+ IL_13287: ldloc V_12
+ IL_1328b: ldc.i8 0x1
+ IL_13294: blt IL_13275
+
+ IL_13299: ldc.i8 0x5
+ IL_132a2: stloc V_12
+ IL_132a6: ldc.i8 0x0
+ IL_132af: stloc V_11
+ IL_132b3: ldc.i8 0x0
+ IL_132bc: stloc V_12
+ IL_132c0: ldloc V_12
+ IL_132c4: ldc.i8 0x1
+ IL_132cd: add
+ IL_132ce: stloc V_12
+ IL_132d2: ldloc V_12
+ IL_132d6: ldc.i8 0x0
+ IL_132df: blt IL_132c0
+
+ IL_132e4: br IL_132e9
+
+ IL_132e9: br IL_132ee
+
+ IL_132ee: ldc.i8 0x0
+ IL_132f7: stloc V_12
+ IL_132fb: ldloc V_12
+ IL_132ff: ldc.i8 0x1
+ IL_13308: add
+ IL_13309: stloc V_12
+ IL_1330d: ldloc V_12
+ IL_13311: ldc.i8 0x1
+ IL_1331a: blt IL_132fb
+
+ IL_1331f: nop
+ IL_13320: ldloc V_11
+ IL_13324: ldc.i8 0x1
+ IL_1332d: add
+ IL_1332e: stloc V_11
+ IL_13332: ldloc V_11
+ IL_13336: ldc.i8 0x1
+ IL_1333f: blt IL_132b3
+
+ IL_13344: br IL_13391
+
+ IL_13349: ldc.i8 0x0
+ IL_13352: stloc V_12
+ IL_13356: ldloc V_12
+ IL_1335a: ldc.i8 0x1
+ IL_13363: add
+ IL_13364: stloc V_12
+ IL_13368: ldloc V_12
+ IL_1336c: ldc.i8 0x0
+ IL_13375: blt IL_13356
+
+ IL_1337a: br IL_1337f
+
+ IL_1337f: ldloc V_9
+ IL_13383: ldc.i8 0x0
+ IL_1338c: add
+ IL_1338d: stloc V_12
+ IL_13391: ldc.i8 0x0
+ IL_1339a: stloc V_11
+ IL_1339e: ldloc V_45
+ IL_133a2: ldloc V_27
+ IL_133a6: add
+ IL_133a7: ldc.i8 0x6
+ IL_133b0: add
+ IL_133b1: stloc V_45
+ IL_133b5: ldloc V_11
+ IL_133b9: ldc.i8 0x1
+ IL_133c2: add
+ IL_133c3: stloc V_11
+ IL_133c7: ldloc V_11
+ IL_133cb: ldc.i8 0x2
+ IL_133d4: blt IL_1339e
+
+ IL_133d9: ldc.i8 0x0
+ IL_133e2: stloc V_17
+ IL_133e6: ldc.i8 0x0
+ IL_133ef: stloc V_10
+ IL_133f3: nop
+ IL_133f4: ldloc V_10
+ IL_133f8: ldc.i8 0x1
+ IL_13401: add
+ IL_13402: stloc V_10
+ IL_13406: ldloc V_10
+ IL_1340a: ldc.i8 0x1
+ IL_13413: blt IL_133f3
+
+ IL_13418: br IL_1361a
+
+ IL_1341d: ldc.i8 0x0
+ IL_13426: stloc V_11
+ IL_1342a: br IL_1342f
+
+ IL_1342f: ldc.i8 0x0
+ IL_13438: stloc V_12
+ IL_1343c: ldloc V_12
+ IL_13440: ldc.i8 0x1
+ IL_13449: add
+ IL_1344a: stloc V_12
+ IL_1344e: ldloc V_12
+ IL_13452: ldc.i8 0x0
+ IL_1345b: blt IL_1343c
+
+ IL_13460: ldc.i8 0x0
+ IL_13469: stloc V_12
+ IL_1346d: ldloc V_12
+ IL_13471: ldc.i8 0x1
+ IL_1347a: add
+ IL_1347b: stloc V_12
+ IL_1347f: ldloc V_12
+ IL_13483: ldc.i8 0x1
+ IL_1348c: blt IL_1346d
+
+ IL_13491: br IL_13496
+
+ IL_13496: ldloc V_48
+ IL_1349a: stloc V_15
+ IL_1349e: ldloc V_11
+ IL_134a2: ldc.i8 0x1
+ IL_134ab: add
+ IL_134ac: stloc V_11
+ IL_134b0: ldloc V_11
+ IL_134b4: ldc.i8 0x2
+ IL_134bd: blt IL_1342a
+
+ IL_134c2: ldc.i8 0x0
+ IL_134cb: stloc V_11
+ IL_134cf: ldc.i8 0x0
+ IL_134d8: stloc V_12
+ IL_134dc: ldloc V_12
+ IL_134e0: ldc.i8 0x1
+ IL_134e9: add
+ IL_134ea: stloc V_12
+ IL_134ee: ldloc V_12
+ IL_134f2: ldc.i8 0x0
+ IL_134fb: blt IL_134dc
+
+ IL_13500: nop
+ IL_13501: ldloc V_11
+ IL_13505: ldc.i8 0x1
+ IL_1350e: add
+ IL_1350f: stloc V_11
+ IL_13513: ldloc V_11
+ IL_13517: ldc.i8 0x2
+ IL_13520: blt IL_134cf
+
+ IL_13525: ldc.i8 0x0
+ IL_1352e: stloc V_11
+ IL_13532: ldc.i8 0x0
+ IL_1353b: stloc V_12
+ IL_1353f: ldloc V_12
+ IL_13543: ldc.i8 0x1
+ IL_1354c: add
+ IL_1354d: stloc V_12
+ IL_13551: ldloc V_12
+ IL_13555: ldc.i8 0x1
+ IL_1355e: blt IL_1353f
+
+ IL_13563: ldc.i8 0x0
+ IL_1356c: stloc V_12
+ IL_13570: ldloc V_12
+ IL_13574: ldc.i8 0x1
+ IL_1357d: add
+ IL_1357e: stloc V_12
+ IL_13582: ldloc V_12
+ IL_13586: ldc.i8 0x0
+ IL_1358f: blt IL_13570
+
+ IL_13594: ldc.i8 0x4
+ IL_1359d: stloc V_20
+ IL_135a1: ldloc V_11
+ IL_135a5: ldc.i8 0x1
+ IL_135ae: add
+ IL_135af: stloc V_11
+ IL_135b3: ldloc V_11
+ IL_135b7: ldc.i8 0x1
+ IL_135c0: blt IL_13532
+
+ IL_135c5: ldc.i8 0x0
+ IL_135ce: stloc V_11
+ IL_135d2: br IL_135d7
+
+ IL_135d7: ldloc V_40
+ IL_135db: ldc.i8 0x1
+ IL_135e4: add
+ IL_135e5: stloc V_12
+ IL_135e9: ldloc V_11
+ IL_135ed: ldc.i8 0x1
+ IL_135f6: add
+ IL_135f7: stloc V_11
+ IL_135fb: ldloc V_11
+ IL_135ff: ldc.i8 0x2
+ IL_13608: blt IL_135d2
+
+ IL_1360d: ldc.i8 0x6
+ IL_13616: stloc V_39
+ IL_1361a: br IL_136e6
+
+ IL_1361f: ldc.i8 0x0
+ IL_13628: stloc V_11
+ IL_1362c: br IL_13631
+
+ IL_13631: br IL_13636
+
+ IL_13636: ldloc V_33
+ IL_1363a: ldc.i8 0x0
+ IL_13643: add
+ IL_13644: stloc V_39
+ IL_13648: ldloc V_11
+ IL_1364c: ldc.i8 0x1
+ IL_13655: add
+ IL_13656: stloc V_11
+ IL_1365a: ldloc V_11
+ IL_1365e: ldc.i8 0x2
+ IL_13667: blt IL_1362c
+
+ IL_1366c: br IL_136e5
+
+ IL_13671: ldc.i8 0x0
+ IL_1367a: stloc V_12
+ IL_1367e: ldloc V_12
+ IL_13682: ldc.i8 0x1
+ IL_1368b: add
+ IL_1368c: stloc V_12
+ IL_13690: ldloc V_12
+ IL_13694: ldc.i8 0x0
+ IL_1369d: blt IL_1367e
+
+ IL_136a2: ldc.i8 0x0
+ IL_136ab: stloc V_12
+ IL_136af: ldloc V_12
+ IL_136b3: ldc.i8 0x1
+ IL_136bc: add
+ IL_136bd: stloc V_12
+ IL_136c1: ldloc V_12
+ IL_136c5: ldc.i8 0x2
+ IL_136ce: blt IL_136af
+
+ IL_136d3: ldloc V_12
+ IL_136d7: ldc.i8 0x9
+ IL_136e0: add
+ IL_136e1: stloc V_47
+ IL_136e5: nop
+ IL_136e6: ldloc V_13
+ IL_136ea: ldloc V_8
+ IL_136ee: add
+ IL_136ef: ldc.i8 0x2
+ IL_136f8: add
+ IL_136f9: stloc V_13
+ IL_136fd: br IL_13719
+
+ IL_13702: ldloc V_24
+ IL_13706: ldloc V_9
+ IL_1370a: add
+ IL_1370b: ldc.i8 0x6
+ IL_13714: add
+ IL_13715: stloc V_24
+ IL_13719: ldc.i8 0x0
+ IL_13722: stloc V_9
+ IL_13726: ldc.i8 0x0
+ IL_1372f: stloc V_10
+ IL_13733: ldc.i8 0x0
+ IL_1373c: stloc V_11
+ IL_13740: ldc.i8 0x0
+ IL_13749: stloc V_12
+ IL_1374d: ldloc V_12
+ IL_13751: ldc.i8 0x1
+ IL_1375a: add
+ IL_1375b: stloc V_12
+ IL_1375f: ldloc V_12
+ IL_13763: ldc.i8 0x1
+ IL_1376c: blt IL_1374d
+
+ IL_13771: ldloc V_25
+ IL_13775: ldloc V_13
+ IL_13779: add
+ IL_1377a: stloc V_25
+ IL_1377e: ldloc V_11
+ IL_13782: ldc.i8 0x1
+ IL_1378b: add
+ IL_1378c: stloc V_11
+ IL_13790: ldloc V_11
+ IL_13794: ldc.i8 0x2
+ IL_1379d: blt IL_13740
+
+ IL_137a2: ldc.i8 0x0
+ IL_137ab: stloc V_11
+ IL_137af: ldc.i8 0x0
+ IL_137b8: stloc V_12
+ IL_137bc: ldloc V_12
+ IL_137c0: ldc.i8 0x1
+ IL_137c9: add
+ IL_137ca: stloc V_12
+ IL_137ce: ldloc V_12
+ IL_137d2: ldc.i8 0x1
+ IL_137db: blt IL_137bc
+
+ IL_137e0: ldc.i8 0x0
+ IL_137e9: stloc V_12
+ IL_137ed: ldloc V_12
+ IL_137f1: ldc.i8 0x1
+ IL_137fa: add
+ IL_137fb: stloc V_12
+ IL_137ff: ldloc V_12
+ IL_13803: ldc.i8 0x0
+ IL_1380c: blt IL_137ed
+
+ IL_13811: br IL_13816
+
+ IL_13816: ldloc V_15
+ IL_1381a: ldloc V_2
+ IL_1381e: add
+ IL_1381f: stloc V_15
+ IL_13823: ldloc V_11
+ IL_13827: ldc.i8 0x1
+ IL_13830: add
+ IL_13831: stloc V_11
+ IL_13835: ldloc V_11
+ IL_13839: ldc.i8 0x2
+ IL_13842: blt IL_137af
+
+ IL_13847: ldloc V_29
+ IL_1384b: ldloc V_41
+ IL_1384f: add
+ IL_13850: stloc V_40
+ IL_13854: ldloc V_10
+ IL_13858: ldc.i8 0x1
+ IL_13861: add
+ IL_13862: stloc V_10
+ IL_13866: ldloc V_10
+ IL_1386a: ldc.i8 0x0
+ IL_13873: blt IL_13733
+
+ IL_13878: ldloc V_44
+ IL_1387c: ldloc V_17
+ IL_13880: add
+ IL_13881: stloc V_17
+ IL_13885: ldloc V_9
+ IL_13889: ldc.i8 0x1
+ IL_13892: add
+ IL_13893: stloc V_9
+ IL_13897: ldloc V_9
+ IL_1389b: ldc.i8 0x2
+ IL_138a4: blt IL_13726
+
+ IL_138a9: ldloc V_43
+ IL_138ad: ldloc V_2
+ IL_138b1: add
+ IL_138b2: ldc.i8 0x3
+ IL_138bb: add
+ IL_138bc: stloc V_43
+ IL_138c0: ldc.i8 0x0
+ IL_138c9: stloc V_8
+ IL_138cd: ldc.i8 0x0
+ IL_138d6: stloc V_9
+ IL_138da: ldc.i8 0x0
+ IL_138e3: stloc V_10
+ IL_138e7: ldc.i8 0x0
+ IL_138f0: stloc V_11
+ IL_138f4: br IL_138f9
+
+ IL_138f9: br IL_138fe
+
+ IL_138fe: br IL_13903
+
+ IL_13903: ldloc V_34
+ IL_13907: ldloc V_34
+ IL_1390b: add
+ IL_1390c: stloc V_34
+ IL_13910: ldloc V_11
+ IL_13914: ldc.i8 0x1
+ IL_1391d: add
+ IL_1391e: stloc V_11
+ IL_13922: ldloc V_11
+ IL_13926: ldc.i8 0x0
+ IL_1392f: blt IL_138f4
+
+ IL_13934: br IL_139ad
+
+ IL_13939: ldc.i8 0x0
+ IL_13942: stloc V_12
+ IL_13946: ldloc V_12
+ IL_1394a: ldc.i8 0x1
+ IL_13953: add
+ IL_13954: stloc V_12
+ IL_13958: ldloc V_12
+ IL_1395c: ldc.i8 0x2
+ IL_13965: blt IL_13946
+
+ IL_1396a: br IL_1396f
+
+ IL_1396f: ldc.i8 0x0
+ IL_13978: stloc V_12
+ IL_1397c: ldloc V_12
+ IL_13980: ldc.i8 0x1
+ IL_13989: add
+ IL_1398a: stloc V_12
+ IL_1398e: ldloc V_12
+ IL_13992: ldc.i8 0x2
+ IL_1399b: blt IL_1397c
+
+ IL_139a0: ldloc V_11
+ IL_139a4: ldloc V_48
+ IL_139a8: add
+ IL_139a9: stloc V_37
+ IL_139ad: ldc.i8 0x0
+ IL_139b6: stloc V_11
+ IL_139ba: br IL_139bf
+
+ IL_139bf: br IL_139c4
+
+ IL_139c4: ldc.i8 0x0
+ IL_139cd: stloc V_12
+ IL_139d1: ldloc V_12
+ IL_139d5: ldc.i8 0x1
+ IL_139de: add
+ IL_139df: stloc V_12
+ IL_139e3: ldloc V_12
+ IL_139e7: ldc.i8 0x0
+ IL_139f0: blt IL_139d1
+
+ IL_139f5: ldc.i8 0x0
+ IL_139fe: stloc V_12
+ IL_13a02: ldloc V_12
+ IL_13a06: ldc.i8 0x1
+ IL_13a0f: add
+ IL_13a10: stloc V_12
+ IL_13a14: ldloc V_12
+ IL_13a18: ldc.i8 0x1
+ IL_13a21: blt IL_13a02
+
+ IL_13a26: ldloc V_29
+ IL_13a2a: ldloc V_46
+ IL_13a2e: add
+ IL_13a2f: ldc.i8 0x6
+ IL_13a38: add
+ IL_13a39: stloc V_29
+ IL_13a3d: ldloc V_11
+ IL_13a41: ldc.i8 0x1
+ IL_13a4a: add
+ IL_13a4b: stloc V_11
+ IL_13a4f: ldloc V_11
+ IL_13a53: ldc.i8 0x0
+ IL_13a5c: blt IL_139ba
+
+ IL_13a61: ldc.i8 0x0
+ IL_13a6a: stloc V_11
+ IL_13a6e: br IL_13a73
+
+ IL_13a73: ldc.i8 0x0
+ IL_13a7c: stloc V_12
+ IL_13a80: ldloc V_12
+ IL_13a84: ldc.i8 0x1
+ IL_13a8d: add
+ IL_13a8e: stloc V_12
+ IL_13a92: ldloc V_12
+ IL_13a96: ldc.i8 0x1
+ IL_13a9f: blt IL_13a80
+
+ IL_13aa4: ldc.i8 0x7
+ IL_13aad: stloc V_42
+ IL_13ab1: ldloc V_11
+ IL_13ab5: ldc.i8 0x1
+ IL_13abe: add
+ IL_13abf: stloc V_11
+ IL_13ac3: ldloc V_11
+ IL_13ac7: ldc.i8 0x2
+ IL_13ad0: blt IL_13a6e
+
+ IL_13ad5: ldc.i8 0x5
+ IL_13ade: stloc V_33
+ IL_13ae2: ldloc V_10
+ IL_13ae6: ldc.i8 0x1
+ IL_13aef: add
+ IL_13af0: stloc V_10
+ IL_13af4: ldloc V_10
+ IL_13af8: ldc.i8 0x2
+ IL_13b01: blt IL_138e7
+
+ IL_13b06: br IL_13bee
+
+ IL_13b0b: ldc.i8 0x0
+ IL_13b14: stloc V_11
+ IL_13b18: ldc.i8 0x0
+ IL_13b21: stloc V_12
+ IL_13b25: ldloc V_12
+ IL_13b29: ldc.i8 0x1
+ IL_13b32: add
+ IL_13b33: stloc V_12
+ IL_13b37: ldloc V_12
+ IL_13b3b: ldc.i8 0x2
+ IL_13b44: blt IL_13b25
+
+ IL_13b49: ldc.i8 0x0
+ IL_13b52: stloc V_12
+ IL_13b56: ldloc V_12
+ IL_13b5a: ldc.i8 0x1
+ IL_13b63: add
+ IL_13b64: stloc V_12
+ IL_13b68: ldloc V_12
+ IL_13b6c: ldc.i8 0x1
+ IL_13b75: blt IL_13b56
+
+ IL_13b7a: br IL_13b7f
+
+ IL_13b7f: ldc.i8 0x0
+ IL_13b88: stloc V_12
+ IL_13b8c: ldloc V_12
+ IL_13b90: ldc.i8 0x1
+ IL_13b99: add
+ IL_13b9a: stloc V_12
+ IL_13b9e: ldloc V_12
+ IL_13ba2: ldc.i8 0x2
+ IL_13bab: blt IL_13b8c
+
+ IL_13bb0: ldc.i8 0x6
+ IL_13bb9: stloc V_41
+ IL_13bbd: ldloc V_11
+ IL_13bc1: ldc.i8 0x1
+ IL_13bca: add
+ IL_13bcb: stloc V_11
+ IL_13bcf: ldloc V_11
+ IL_13bd3: ldc.i8 0x1
+ IL_13bdc: blt IL_13b18
+
+ IL_13be1: ldloc V_19
+ IL_13be5: ldloc V_30
+ IL_13be9: add
+ IL_13bea: stloc V_19
+ IL_13bee: br IL_13ebb
+
+ IL_13bf3: ldc.i8 0x0
+ IL_13bfc: stloc V_11
+ IL_13c00: ldc.i8 0x0
+ IL_13c09: stloc V_12
+ IL_13c0d: ldloc V_12
+ IL_13c11: ldc.i8 0x1
+ IL_13c1a: add
+ IL_13c1b: stloc V_12
+ IL_13c1f: ldloc V_12
+ IL_13c23: ldc.i8 0x0
+ IL_13c2c: blt IL_13c0d
+
+ IL_13c31: br IL_13c36
+
+ IL_13c36: ldc.i8 0x0
+ IL_13c3f: stloc V_12
+ IL_13c43: ldloc V_12
+ IL_13c47: ldc.i8 0x1
+ IL_13c50: add
+ IL_13c51: stloc V_12
+ IL_13c55: ldloc V_12
+ IL_13c59: ldc.i8 0x2
+ IL_13c62: blt IL_13c43
+
+ IL_13c67: ldloc V_25
+ IL_13c6b: ldloc V_48
+ IL_13c6f: add
+ IL_13c70: ldc.i8 0x3
+ IL_13c79: add
+ IL_13c7a: stloc V_25
+ IL_13c7e: ldloc V_11
+ IL_13c82: ldc.i8 0x1
+ IL_13c8b: add
+ IL_13c8c: stloc V_11
+ IL_13c90: ldloc V_11
+ IL_13c94: ldc.i8 0x0
+ IL_13c9d: blt IL_13c00
+
+ IL_13ca2: ldc.i8 0x0
+ IL_13cab: stloc V_11
+ IL_13caf: ldc.i8 0x0
+ IL_13cb8: stloc V_12
+ IL_13cbc: ldloc V_12
+ IL_13cc0: ldc.i8 0x1
+ IL_13cc9: add
+ IL_13cca: stloc V_12
+ IL_13cce: ldloc V_12
+ IL_13cd2: ldc.i8 0x2
+ IL_13cdb: blt IL_13cbc
+
+ IL_13ce0: ldloc V_37
+ IL_13ce4: stloc V_38
+ IL_13ce8: ldloc V_11
+ IL_13cec: ldc.i8 0x1
+ IL_13cf5: add
+ IL_13cf6: stloc V_11
+ IL_13cfa: ldloc V_11
+ IL_13cfe: ldc.i8 0x0
+ IL_13d07: blt IL_13caf
+
+ IL_13d0c: br IL_13db1
+
+ IL_13d11: br IL_13d16
+
+ IL_13d16: ldc.i8 0x0
+ IL_13d1f: stloc V_12
+ IL_13d23: ldloc V_12
+ IL_13d27: ldc.i8 0x1
+ IL_13d30: add
+ IL_13d31: stloc V_12
+ IL_13d35: ldloc V_12
+ IL_13d39: ldc.i8 0x0
+ IL_13d42: blt IL_13d23
+
+ IL_13d47: ldc.i8 0x0
+ IL_13d50: stloc V_12
+ IL_13d54: ldloc V_12
+ IL_13d58: ldc.i8 0x1
+ IL_13d61: add
+ IL_13d62: stloc V_12
+ IL_13d66: ldloc V_12
+ IL_13d6a: ldc.i8 0x1
+ IL_13d73: blt IL_13d54
+
+ IL_13d78: ldc.i8 0x0
+ IL_13d81: stloc V_12
+ IL_13d85: ldloc V_12
+ IL_13d89: ldc.i8 0x1
+ IL_13d92: add
+ IL_13d93: stloc V_12
+ IL_13d97: ldloc V_12
+ IL_13d9b: ldc.i8 0x2
+ IL_13da4: blt IL_13d85
+
+ IL_13da9: ldloc V_27
+ IL_13dad: stloc V_41
+ IL_13db1: ldc.i8 0x0
+ IL_13dba: stloc V_11
+ IL_13dbe: ldc.i8 0x0
+ IL_13dc7: stloc V_12
+ IL_13dcb: ldloc V_12
+ IL_13dcf: ldc.i8 0x1
+ IL_13dd8: add
+ IL_13dd9: stloc V_12
+ IL_13ddd: ldloc V_12
+ IL_13de1: ldc.i8 0x1
+ IL_13dea: blt IL_13dcb
+
+ IL_13def: ldc.i8 0x0
+ IL_13df8: stloc V_12
+ IL_13dfc: ldloc V_12
+ IL_13e00: ldc.i8 0x1
+ IL_13e09: add
+ IL_13e0a: stloc V_12
+ IL_13e0e: ldloc V_12
+ IL_13e12: ldc.i8 0x1
+ IL_13e1b: blt IL_13dfc
+
+ IL_13e20: ldc.i8 0x0
+ IL_13e29: stloc V_12
+ IL_13e2d: ldloc V_12
+ IL_13e31: ldc.i8 0x1
+ IL_13e3a: add
+ IL_13e3b: stloc V_12
+ IL_13e3f: ldloc V_12
+ IL_13e43: ldc.i8 0x2
+ IL_13e4c: blt IL_13e2d
+
+ IL_13e51: ldc.i8 0x0
+ IL_13e5a: stloc V_12
+ IL_13e5e: ldloc V_12
+ IL_13e62: ldc.i8 0x1
+ IL_13e6b: add
+ IL_13e6c: stloc V_12
+ IL_13e70: ldloc V_12
+ IL_13e74: ldc.i8 0x2
+ IL_13e7d: blt IL_13e5e
+
+ IL_13e82: ldloc V_48
+ IL_13e86: ldloc V_43
+ IL_13e8a: add
+ IL_13e8b: stloc V_25
+ IL_13e8f: ldloc V_11
+ IL_13e93: ldc.i8 0x1
+ IL_13e9c: add
+ IL_13e9d: stloc V_11
+ IL_13ea1: ldloc V_11
+ IL_13ea5: ldc.i8 0x1
+ IL_13eae: blt IL_13dbe
+
+ IL_13eb3: ldloc V_7
+ IL_13eb7: stloc V_40
+ IL_13ebb: ldc.i8 0x0
+ IL_13ec4: stloc V_10
+ IL_13ec8: ldc.i8 0x0
+ IL_13ed1: stloc V_11
+ IL_13ed5: ldc.i8 0x0
+ IL_13ede: stloc V_12
+ IL_13ee2: ldloc V_12
+ IL_13ee6: ldc.i8 0x1
+ IL_13eef: add
+ IL_13ef0: stloc V_12
+ IL_13ef4: ldloc V_12
+ IL_13ef8: ldc.i8 0x2
+ IL_13f01: blt IL_13ee2
+
+ IL_13f06: br IL_13f0b
+
+ IL_13f0b: br IL_13f10
+
+ IL_13f10: br IL_13f15
+
+ IL_13f15: ldloc V_5
+ IL_13f19: ldc.i8 0x7
+ IL_13f22: add
+ IL_13f23: stloc V_23
+ IL_13f27: ldloc V_11
+ IL_13f2b: ldc.i8 0x1
+ IL_13f34: add
+ IL_13f35: stloc V_11
+ IL_13f39: ldloc V_11
+ IL_13f3d: ldc.i8 0x1
+ IL_13f46: blt IL_13ed5
+
+ IL_13f4b: ldloc V_34
+ IL_13f4f: stloc V_30
+ IL_13f53: ldloc V_10
+ IL_13f57: ldc.i8 0x1
+ IL_13f60: add
+ IL_13f61: stloc V_10
+ IL_13f65: ldloc V_10
+ IL_13f69: ldc.i8 0x0
+ IL_13f72: blt IL_13ec8
+
+ IL_13f77: ldloc V_45
+ IL_13f7b: stloc V_11
+ IL_13f7f: ldloc V_9
+ IL_13f83: ldc.i8 0x1
+ IL_13f8c: add
+ IL_13f8d: stloc V_9
+ IL_13f91: ldloc V_9
+ IL_13f95: ldc.i8 0x0
+ IL_13f9e: blt IL_138da
+
+ IL_13fa3: ldc.i8 0x0
+ IL_13fac: stloc V_9
+ IL_13fb0: ldc.i8 0x0
+ IL_13fb9: stloc V_10
+ IL_13fbd: ldloc V_34
+ IL_13fc1: ldloc V_29
+ IL_13fc5: add
+ IL_13fc6: stloc V_34
+ IL_13fca: ldloc V_10
+ IL_13fce: ldc.i8 0x1
+ IL_13fd7: add
+ IL_13fd8: stloc V_10
+ IL_13fdc: ldloc V_10
+ IL_13fe0: ldc.i8 0x2
+ IL_13fe9: blt IL_13fbd
+
+ IL_13fee: ldc.i8 0x0
+ IL_13ff7: stloc V_10
+ IL_13ffb: br IL_140a0
+
+ IL_14000: ldc.i8 0x0
+ IL_14009: stloc V_12
+ IL_1400d: ldloc V_12
+ IL_14011: ldc.i8 0x1
+ IL_1401a: add
+ IL_1401b: stloc V_12
+ IL_1401f: ldloc V_12
+ IL_14023: ldc.i8 0x0
+ IL_1402c: blt IL_1400d
+
+ IL_14031: ldc.i8 0x0
+ IL_1403a: stloc V_12
+ IL_1403e: ldloc V_12
+ IL_14042: ldc.i8 0x1
+ IL_1404b: add
+ IL_1404c: stloc V_12
+ IL_14050: ldloc V_12
+ IL_14054: ldc.i8 0x2
+ IL_1405d: blt IL_1403e
+
+ IL_14062: ldc.i8 0x0
+ IL_1406b: stloc V_12
+ IL_1406f: ldloc V_12
+ IL_14073: ldc.i8 0x1
+ IL_1407c: add
+ IL_1407d: stloc V_12
+ IL_14081: ldloc V_12
+ IL_14085: ldc.i8 0x1
+ IL_1408e: blt IL_1406f
+
+ IL_14093: ldloc V_41
+ IL_14097: ldloc V_6
+ IL_1409b: add
+ IL_1409c: stloc V_41
+ IL_140a0: br IL_140ed
+
+ IL_140a5: br IL_140aa
+
+ IL_140aa: br IL_140af
+
+ IL_140af: br IL_140b4
+
+ IL_140b4: ldc.i8 0x0
+ IL_140bd: stloc V_12
+ IL_140c1: ldloc V_12
+ IL_140c5: ldc.i8 0x1
+ IL_140ce: add
+ IL_140cf: stloc V_12
+ IL_140d3: ldloc V_12
+ IL_140d7: ldc.i8 0x2
+ IL_140e0: blt IL_140c1
+
+ IL_140e5: ldloc V_1
+ IL_140e9: stloc V_39
+ IL_140ed: ldc.i8 0x1
+ IL_140f6: stloc V_18
+ IL_140fa: ldloc V_10
+ IL_140fe: ldc.i8 0x1
+ IL_14107: add
+ IL_14108: stloc V_10
+ IL_1410c: ldloc V_10
+ IL_14110: ldc.i8 0x1
+ IL_14119: blt IL_13ffb
+
+ IL_1411e: ldloc V_34
+ IL_14122: ldloc V_37
+ IL_14126: add
+ IL_14127: stloc V_34
+ IL_1412b: ldloc V_9
+ IL_1412f: ldc.i8 0x1
+ IL_14138: add
+ IL_14139: stloc V_9
+ IL_1413d: ldloc V_9
+ IL_14141: ldc.i8 0x2
+ IL_1414a: blt IL_13fb0
+
+ IL_1414f: br IL_1466c
+
+ IL_14154: br IL_1416b
+
+ IL_14159: ldloc V_49
+ IL_1415d: ldc.i8 0x4
+ IL_14166: add
+ IL_14167: stloc V_14
+ IL_1416b: ldc.i8 0x0
+ IL_14174: stloc V_10
+ IL_14178: ldc.i8 0x0
+ IL_14181: stloc V_11
+ IL_14185: ldc.i8 0x0
+ IL_1418e: stloc V_12
+ IL_14192: ldloc V_12
+ IL_14196: ldc.i8 0x1
+ IL_1419f: add
+ IL_141a0: stloc V_12
+ IL_141a4: ldloc V_12
+ IL_141a8: ldc.i8 0x0
+ IL_141b1: blt IL_14192
+
+ IL_141b6: ldc.i8 0x0
+ IL_141bf: stloc V_12
+ IL_141c3: ldloc V_12
+ IL_141c7: ldc.i8 0x1
+ IL_141d0: add
+ IL_141d1: stloc V_12
+ IL_141d5: ldloc V_12
+ IL_141d9: ldc.i8 0x2
+ IL_141e2: blt IL_141c3
+
+ IL_141e7: br IL_141ec
+
+ IL_141ec: ldloc V_45
+ IL_141f0: stloc V_31
+ IL_141f4: ldloc V_11
+ IL_141f8: ldc.i8 0x1
+ IL_14201: add
+ IL_14202: stloc V_11
+ IL_14206: ldloc V_11
+ IL_1420a: ldc.i8 0x2
+ IL_14213: blt IL_14185
+
+ IL_14218: ldloc V_25
+ IL_1421c: ldloc V_22
+ IL_14220: add
+ IL_14221: stloc V_25
+ IL_14225: ldloc V_10
+ IL_14229: ldc.i8 0x1
+ IL_14232: add
+ IL_14233: stloc V_10
+ IL_14237: ldloc V_10
+ IL_1423b: ldc.i8 0x0
+ IL_14244: blt IL_14178
+
+ IL_14249: ldc.i8 0x0
+ IL_14252: stloc V_10
+ IL_14256: ldc.i8 0x0
+ IL_1425f: stloc V_11
+ IL_14263: ldc.i8 0x0
+ IL_1426c: stloc V_12
+ IL_14270: ldloc V_12
+ IL_14274: ldc.i8 0x1
+ IL_1427d: add
+ IL_1427e: stloc V_12
+ IL_14282: ldloc V_12
+ IL_14286: ldc.i8 0x1
+ IL_1428f: blt IL_14270
+
+ IL_14294: ldc.i8 0x0
+ IL_1429d: stloc V_12
+ IL_142a1: ldloc V_12
+ IL_142a5: ldc.i8 0x1
+ IL_142ae: add
+ IL_142af: stloc V_12
+ IL_142b3: ldloc V_12
+ IL_142b7: ldc.i8 0x0
+ IL_142c0: blt IL_142a1
+
+ IL_142c5: ldc.i8 0x0
+ IL_142ce: stloc V_12
+ IL_142d2: ldloc V_12
+ IL_142d6: ldc.i8 0x1
+ IL_142df: add
+ IL_142e0: stloc V_12
+ IL_142e4: ldloc V_12
+ IL_142e8: ldc.i8 0x1
+ IL_142f1: blt IL_142d2
+
+ IL_142f6: ldloc V_13
+ IL_142fa: stloc V_16
+ IL_142fe: ldloc V_11
+ IL_14302: ldc.i8 0x1
+ IL_1430b: add
+ IL_1430c: stloc V_11
+ IL_14310: ldloc V_11
+ IL_14314: ldc.i8 0x1
+ IL_1431d: blt IL_14263
+
+ IL_14322: br IL_1436a
+
+ IL_14327: br IL_1432c
+
+ IL_1432c: ldc.i8 0x0
+ IL_14335: stloc V_12
+ IL_14339: ldloc V_12
+ IL_1433d: ldc.i8 0x1
+ IL_14346: add
+ IL_14347: stloc V_12
+ IL_1434b: ldloc V_12
+ IL_1434f: ldc.i8 0x0
+ IL_14358: blt IL_14339
+
+ IL_1435d: ldloc V_30
+ IL_14361: ldloc V_41
+ IL_14365: add
+ IL_14366: stloc V_40
+ IL_1436a: nop
+ IL_1436b: ldloc V_10
+ IL_1436f: ldc.i8 0x1
+ IL_14378: add
+ IL_14379: stloc V_10
+ IL_1437d: ldloc V_10
+ IL_14381: ldc.i8 0x2
+ IL_1438a: blt IL_14256
+
+ IL_1438f: br IL_1466b
+
+ IL_14394: ldc.i8 0x0
+ IL_1439d: stloc V_11
+ IL_143a1: ldc.i8 0x0
+ IL_143aa: stloc V_12
+ IL_143ae: ldloc V_12
+ IL_143b2: ldc.i8 0x1
+ IL_143bb: add
+ IL_143bc: stloc V_12
+ IL_143c0: ldloc V_12
+ IL_143c4: ldc.i8 0x2
+ IL_143cd: blt IL_143ae
+
+ IL_143d2: ldc.i8 0x0
+ IL_143db: stloc V_12
+ IL_143df: ldloc V_12
+ IL_143e3: ldc.i8 0x1
+ IL_143ec: add
+ IL_143ed: stloc V_12
+ IL_143f1: ldloc V_12
+ IL_143f5: ldc.i8 0x0
+ IL_143fe: blt IL_143df
+
+ IL_14403: ldc.i8 0x0
+ IL_1440c: stloc V_12
+ IL_14410: ldloc V_12
+ IL_14414: ldc.i8 0x1
+ IL_1441d: add
+ IL_1441e: stloc V_12
+ IL_14422: ldloc V_12
+ IL_14426: ldc.i8 0x1
+ IL_1442f: blt IL_14410
+
+ IL_14434: ldloc V_38
+ IL_14438: ldloc V_16
+ IL_1443c: add
+ IL_1443d: stloc V_38
+ IL_14441: ldloc V_11
+ IL_14445: ldc.i8 0x1
+ IL_1444e: add
+ IL_1444f: stloc V_11
+ IL_14453: ldloc V_11
+ IL_14457: ldc.i8 0x1
+ IL_14460: blt IL_143a1
+
+ IL_14465: ldc.i8 0x0
+ IL_1446e: stloc V_11
+ IL_14472: br IL_14477
+
+ IL_14477: ldc.i8 0x0
+ IL_14480: stloc V_12
+ IL_14484: ldloc V_12
+ IL_14488: ldc.i8 0x1
+ IL_14491: add
+ IL_14492: stloc V_12
+ IL_14496: ldloc V_12
+ IL_1449a: ldc.i8 0x1
+ IL_144a3: blt IL_14484
+
+ IL_144a8: ldc.i8 0x0
+ IL_144b1: stloc V_12
+ IL_144b5: ldloc V_12
+ IL_144b9: ldc.i8 0x1
+ IL_144c2: add
+ IL_144c3: stloc V_12
+ IL_144c7: ldloc V_12
+ IL_144cb: ldc.i8 0x1
+ IL_144d4: blt IL_144b5
+
+ IL_144d9: br IL_144de
+
+ IL_144de: ldloc V_18
+ IL_144e2: ldloc V_31
+ IL_144e6: add
+ IL_144e7: stloc V_18
+ IL_144eb: ldloc V_11
+ IL_144ef: ldc.i8 0x1
+ IL_144f8: add
+ IL_144f9: stloc V_11
+ IL_144fd: ldloc V_11
+ IL_14501: ldc.i8 0x2
+ IL_1450a: blt IL_14472
+
+ IL_1450f: ldc.i8 0x0
+ IL_14518: stloc V_11
+ IL_1451c: br IL_14521
+
+ IL_14521: ldc.i8 0x0
+ IL_1452a: stloc V_12
+ IL_1452e: ldloc V_12
+ IL_14532: ldc.i8 0x1
+ IL_1453b: add
+ IL_1453c: stloc V_12
+ IL_14540: ldloc V_12
+ IL_14544: ldc.i8 0x2
+ IL_1454d: blt IL_1452e
+
+ IL_14552: ldc.i8 0x5
+ IL_1455b: stloc V_46
+ IL_1455f: ldloc V_11
+ IL_14563: ldc.i8 0x1
+ IL_1456c: add
+ IL_1456d: stloc V_11
+ IL_14571: ldloc V_11
+ IL_14575: ldc.i8 0x2
+ IL_1457e: blt IL_1451c
+
+ IL_14583: ldc.i8 0x0
+ IL_1458c: stloc V_11
+ IL_14590: ldc.i8 0x0
+ IL_14599: stloc V_12
+ IL_1459d: ldloc V_12
+ IL_145a1: ldc.i8 0x1
+ IL_145aa: add
+ IL_145ab: stloc V_12
+ IL_145af: ldloc V_12
+ IL_145b3: ldc.i8 0x0
+ IL_145bc: blt IL_1459d
+
+ IL_145c1: ldc.i8 0x0
+ IL_145ca: stloc V_12
+ IL_145ce: ldloc V_12
+ IL_145d2: ldc.i8 0x1
+ IL_145db: add
+ IL_145dc: stloc V_12
+ IL_145e0: ldloc V_12
+ IL_145e4: ldc.i8 0x2
+ IL_145ed: blt IL_145ce
+
+ IL_145f2: ldc.i8 0x0
+ IL_145fb: stloc V_12
+ IL_145ff: ldloc V_12
+ IL_14603: ldc.i8 0x1
+ IL_1460c: add
+ IL_1460d: stloc V_12
+ IL_14611: ldloc V_12
+ IL_14615: ldc.i8 0x0
+ IL_1461e: blt IL_145ff
+
+ IL_14623: br IL_14628
+
+ IL_14628: ldloc V_18
+ IL_1462c: ldloc V_13
+ IL_14630: add
+ IL_14631: stloc V_18
+ IL_14635: ldloc V_11
+ IL_14639: ldc.i8 0x1
+ IL_14642: add
+ IL_14643: stloc V_11
+ IL_14647: ldloc V_11
+ IL_1464b: ldc.i8 0x0
+ IL_14654: blt IL_14590
+
+ IL_14659: ldloc V_15
+ IL_1465d: ldc.i8 0x4
+ IL_14666: add
+ IL_14667: stloc V_29
+ IL_1466b: nop
+ IL_1466c: ldloc V_23
+ IL_14670: ldloc V_29
+ IL_14674: add
+ IL_14675: ldc.i8 0x5
+ IL_1467e: add
+ IL_1467f: stloc V_23
+ IL_14683: ldloc V_8
+ IL_14687: ldc.i8 0x1
+ IL_14690: add
+ IL_14691: stloc V_8
+ IL_14695: ldloc V_8
+ IL_14699: ldc.i8 0x2
+ IL_146a2: blt IL_138cd
+
+ IL_146a7: nop
+ IL_146a8: br IL_1623b
+
+ IL_146ad: ldc.i8 0x0
+ IL_146b6: stloc V_8
+ IL_146ba: ldc.i8 0x0
+ IL_146c3: stloc V_9
+ IL_146c7: ldc.i8 0x0
+ IL_146d0: stloc V_10
+ IL_146d4: br IL_1474d
+
+ IL_146d9: ldc.i8 0x0
+ IL_146e2: stloc V_12
+ IL_146e6: ldloc V_12
+ IL_146ea: ldc.i8 0x1
+ IL_146f3: add
+ IL_146f4: stloc V_12
+ IL_146f8: ldloc V_12
+ IL_146fc: ldc.i8 0x2
+ IL_14705: blt IL_146e6
+
+ IL_1470a: br IL_1470f
+
+ IL_1470f: ldc.i8 0x0
+ IL_14718: stloc V_12
+ IL_1471c: ldloc V_12
+ IL_14720: ldc.i8 0x1
+ IL_14729: add
+ IL_1472a: stloc V_12
+ IL_1472e: ldloc V_12
+ IL_14732: ldc.i8 0x2
+ IL_1473b: blt IL_1471c
+
+ IL_14740: ldloc V_22
+ IL_14744: ldloc V_49
+ IL_14748: add
+ IL_14749: stloc V_22
+ IL_1474d: ldloc V_12
+ IL_14751: ldloc V_9
+ IL_14755: add
+ IL_14756: ldc.i8 0x4
+ IL_1475f: add
+ IL_14760: stloc V_12
+ IL_14764: ldloc V_10
+ IL_14768: ldc.i8 0x1
+ IL_14771: add
+ IL_14772: stloc V_10
+ IL_14776: ldloc V_10
+ IL_1477a: ldc.i8 0x1
+ IL_14783: blt IL_146d4
+
+ IL_14788: ldc.i8 0x0
+ IL_14791: stloc V_10
+ IL_14795: ldc.i8 0x0
+ IL_1479e: stloc V_11
+ IL_147a2: ldc.i8 0x0
+ IL_147ab: stloc V_12
+ IL_147af: ldloc V_12
+ IL_147b3: ldc.i8 0x1
+ IL_147bc: add
+ IL_147bd: stloc V_12
+ IL_147c1: ldloc V_12
+ IL_147c5: ldc.i8 0x0
+ IL_147ce: blt IL_147af
+
+ IL_147d3: ldc.i8 0x0
+ IL_147dc: stloc V_12
+ IL_147e0: ldloc V_12
+ IL_147e4: ldc.i8 0x1
+ IL_147ed: add
+ IL_147ee: stloc V_12
+ IL_147f2: ldloc V_12
+ IL_147f6: ldc.i8 0x1
+ IL_147ff: blt IL_147e0
+
+ IL_14804: ldc.i8 0x0
+ IL_1480d: stloc V_12
+ IL_14811: ldloc V_12
+ IL_14815: ldc.i8 0x1
+ IL_1481e: add
+ IL_1481f: stloc V_12
+ IL_14823: ldloc V_12
+ IL_14827: ldc.i8 0x1
+ IL_14830: blt IL_14811
+
+ IL_14835: ldc.i8 0x0
+ IL_1483e: stloc V_12
+ IL_14842: ldloc V_12
+ IL_14846: ldc.i8 0x1
+ IL_1484f: add
+ IL_14850: stloc V_12
+ IL_14854: ldloc V_12
+ IL_14858: ldc.i8 0x2
+ IL_14861: blt IL_14842
+
+ IL_14866: ldloc V_46
+ IL_1486a: stloc V_20
+ IL_1486e: ldloc V_11
+ IL_14872: ldc.i8 0x1
+ IL_1487b: add
+ IL_1487c: stloc V_11
+ IL_14880: ldloc V_11
+ IL_14884: ldc.i8 0x1
+ IL_1488d: blt IL_147a2
+
+ IL_14892: ldloc V_29
+ IL_14896: ldloc V_21
+ IL_1489a: add
+ IL_1489b: stloc V_12
+ IL_1489f: ldloc V_10
+ IL_148a3: ldc.i8 0x1
+ IL_148ac: add
+ IL_148ad: stloc V_10
+ IL_148b1: ldloc V_10
+ IL_148b5: ldc.i8 0x1
+ IL_148be: blt IL_14795
+
+ IL_148c3: ldc.i8 0x0
+ IL_148cc: stloc V_10
+ IL_148d0: ldc.i8 0x0
+ IL_148d9: stloc V_11
+ IL_148dd: ldloc V_33
+ IL_148e1: ldloc V_19
+ IL_148e5: add
+ IL_148e6: stloc V_33
+ IL_148ea: ldloc V_11
+ IL_148ee: ldc.i8 0x1
+ IL_148f7: add
+ IL_148f8: stloc V_11
+ IL_148fc: ldloc V_11
+ IL_14900: ldc.i8 0x0
+ IL_14909: blt IL_148dd
+
+ IL_1490e: ldc.i8 0x3
+ IL_14917: stloc V_30
+ IL_1491b: ldloc V_10
+ IL_1491f: ldc.i8 0x1
+ IL_14928: add
+ IL_14929: stloc V_10
+ IL_1492d: ldloc V_10
+ IL_14931: ldc.i8 0x2
+ IL_1493a: blt IL_148d0
+
+ IL_1493f: ldc.i8 0x0
+ IL_14948: stloc V_10
+ IL_1494c: ldloc V_24
+ IL_14950: ldloc V_8
+ IL_14954: add
+ IL_14955: ldc.i8 0x6
+ IL_1495e: add
+ IL_1495f: stloc V_24
+ IL_14963: ldloc V_10
+ IL_14967: ldc.i8 0x1
+ IL_14970: add
+ IL_14971: stloc V_10
+ IL_14975: ldloc V_10
+ IL_14979: ldc.i8 0x1
+ IL_14982: blt IL_1494c
+
+ IL_14987: nop
+ IL_14988: ldloc V_9
+ IL_1498c: ldc.i8 0x1
+ IL_14995: add
+ IL_14996: stloc V_9
+ IL_1499a: ldloc V_9
+ IL_1499e: ldc.i8 0x0
+ IL_149a7: blt IL_146c7
+
+ IL_149ac: br IL_14bc3
+
+ IL_149b1: br IL_14bb6
+
+ IL_149b6: ldc.i8 0x0
+ IL_149bf: stloc V_11
+ IL_149c3: ldc.i8 0x0
+ IL_149cc: stloc V_12
+ IL_149d0: ldloc V_12
+ IL_149d4: ldc.i8 0x1
+ IL_149dd: add
+ IL_149de: stloc V_12
+ IL_149e2: ldloc V_12
+ IL_149e6: ldc.i8 0x0
+ IL_149ef: blt IL_149d0
+
+ IL_149f4: ldc.i8 0x0
+ IL_149fd: stloc V_12
+ IL_14a01: ldloc V_12
+ IL_14a05: ldc.i8 0x1
+ IL_14a0e: add
+ IL_14a0f: stloc V_12
+ IL_14a13: ldloc V_12
+ IL_14a17: ldc.i8 0x1
+ IL_14a20: blt IL_14a01
+
+ IL_14a25: ldloc V_14
+ IL_14a29: ldloc V_42
+ IL_14a2d: add
+ IL_14a2e: ldc.i8 0x3
+ IL_14a37: add
+ IL_14a38: stloc V_14
+ IL_14a3c: ldloc V_11
+ IL_14a40: ldc.i8 0x1
+ IL_14a49: add
+ IL_14a4a: stloc V_11
+ IL_14a4e: ldloc V_11
+ IL_14a52: ldc.i8 0x0
+ IL_14a5b: blt IL_149c3
+
+ IL_14a60: br IL_14a86
+
+ IL_14a65: br IL_14a6a
+
+ IL_14a6a: br IL_14a6f
+
+ IL_14a6f: br IL_14a74
+
+ IL_14a74: ldloc V_31
+ IL_14a78: ldc.i8 0x0
+ IL_14a81: add
+ IL_14a82: stloc V_23
+ IL_14a86: ldc.i8 0x0
+ IL_14a8f: stloc V_11
+ IL_14a93: ldc.i8 0x0
+ IL_14a9c: stloc V_12
+ IL_14aa0: ldloc V_12
+ IL_14aa4: ldc.i8 0x1
+ IL_14aad: add
+ IL_14aae: stloc V_12
+ IL_14ab2: ldloc V_12
+ IL_14ab6: ldc.i8 0x2
+ IL_14abf: blt IL_14aa0
+
+ IL_14ac4: ldloc V_46
+ IL_14ac8: ldloc V_6
+ IL_14acc: add
+ IL_14acd: stloc V_42
+ IL_14ad1: ldloc V_11
+ IL_14ad5: ldc.i8 0x1
+ IL_14ade: add
+ IL_14adf: stloc V_11
+ IL_14ae3: ldloc V_11
+ IL_14ae7: ldc.i8 0x1
+ IL_14af0: blt IL_14a93
+
+ IL_14af5: ldc.i8 0x0
+ IL_14afe: stloc V_11
+ IL_14b02: ldc.i8 0x0
+ IL_14b0b: stloc V_12
+ IL_14b0f: ldloc V_12
+ IL_14b13: ldc.i8 0x1
+ IL_14b1c: add
+ IL_14b1d: stloc V_12
+ IL_14b21: ldloc V_12
+ IL_14b25: ldc.i8 0x2
+ IL_14b2e: blt IL_14b0f
+
+ IL_14b33: br IL_14b38
+
+ IL_14b38: ldc.i8 0x0
+ IL_14b41: stloc V_12
+ IL_14b45: ldloc V_12
+ IL_14b49: ldc.i8 0x1
+ IL_14b52: add
+ IL_14b53: stloc V_12
+ IL_14b57: ldloc V_12
+ IL_14b5b: ldc.i8 0x0
+ IL_14b64: blt IL_14b45
+
+ IL_14b69: ldloc V_13
+ IL_14b6d: ldloc V_48
+ IL_14b71: add
+ IL_14b72: ldc.i8 0x7
+ IL_14b7b: add
+ IL_14b7c: stloc V_13
+ IL_14b80: ldloc V_11
+ IL_14b84: ldc.i8 0x1
+ IL_14b8d: add
+ IL_14b8e: stloc V_11
+ IL_14b92: ldloc V_11
+ IL_14b96: ldc.i8 0x1
+ IL_14b9f: blt IL_14b02
+
+ IL_14ba4: ldloc V_28
+ IL_14ba8: ldc.i8 0x7
+ IL_14bb1: add
+ IL_14bb2: stloc V_24
+ IL_14bb6: ldloc V_32
+ IL_14bba: ldloc V_15
+ IL_14bbe: add
+ IL_14bbf: stloc V_42
+ IL_14bc3: ldc.i8 0x0
+ IL_14bcc: stloc V_9
+ IL_14bd0: ldc.i8 0x0
+ IL_14bd9: stloc V_10
+ IL_14bdd: ldc.i8 0x0
+ IL_14be6: stloc V_11
+ IL_14bea: ldloc V_21
+ IL_14bee: ldloc V_9
+ IL_14bf2: add
+ IL_14bf3: stloc V_37
+ IL_14bf7: ldloc V_11
+ IL_14bfb: ldc.i8 0x1
+ IL_14c04: add
+ IL_14c05: stloc V_11
+ IL_14c09: ldloc V_11
+ IL_14c0d: ldc.i8 0x0
+ IL_14c16: blt IL_14bea
+
+ IL_14c1b: ldloc V_40
+ IL_14c1f: ldc.i8 0x5
+ IL_14c28: add
+ IL_14c29: stloc V_38
+ IL_14c2d: ldloc V_10
+ IL_14c31: ldc.i8 0x1
+ IL_14c3a: add
+ IL_14c3b: stloc V_10
+ IL_14c3f: ldloc V_10
+ IL_14c43: ldc.i8 0x1
+ IL_14c4c: blt IL_14bdd
+
+ IL_14c51: nop
+ IL_14c52: ldloc V_9
+ IL_14c56: ldc.i8 0x1
+ IL_14c5f: add
+ IL_14c60: stloc V_9
+ IL_14c64: ldloc V_9
+ IL_14c68: ldc.i8 0x2
+ IL_14c71: blt IL_14bd0
+
+ IL_14c76: br IL_14f5b
+
+ IL_14c7b: br IL_14d26
+
+ IL_14c80: br IL_14d1e
+
+ IL_14c85: br IL_14c8a
+
+ IL_14c8a: ldc.i8 0x0
+ IL_14c93: stloc V_12
+ IL_14c97: ldloc V_12
+ IL_14c9b: ldc.i8 0x1
+ IL_14ca4: add
+ IL_14ca5: stloc V_12
+ IL_14ca9: ldloc V_12
+ IL_14cad: ldc.i8 0x0
+ IL_14cb6: blt IL_14c97
+
+ IL_14cbb: ldc.i8 0x0
+ IL_14cc4: stloc V_12
+ IL_14cc8: ldloc V_12
+ IL_14ccc: ldc.i8 0x1
+ IL_14cd5: add
+ IL_14cd6: stloc V_12
+ IL_14cda: ldloc V_12
+ IL_14cde: ldc.i8 0x1
+ IL_14ce7: blt IL_14cc8
+
+ IL_14cec: ldc.i8 0x0
+ IL_14cf5: stloc V_12
+ IL_14cf9: ldloc V_12
+ IL_14cfd: ldc.i8 0x1
+ IL_14d06: add
+ IL_14d07: stloc V_12
+ IL_14d0b: ldloc V_12
+ IL_14d0f: ldc.i8 0x0
+ IL_14d18: blt IL_14cf9
+
+ IL_14d1d: nop
+ IL_14d1e: ldloc V_36
+ IL_14d22: stloc V_13
+ IL_14d26: br IL_14d71
+
+ IL_14d2b: ldc.i8 0x0
+ IL_14d34: stloc V_11
+ IL_14d38: ldc.i8 0x0
+ IL_14d41: stloc V_41
+ IL_14d45: ldloc V_11
+ IL_14d49: ldc.i8 0x1
+ IL_14d52: add
+ IL_14d53: stloc V_11
+ IL_14d57: ldloc V_11
+ IL_14d5b: ldc.i8 0x2
+ IL_14d64: blt IL_14d38
+
+ IL_14d69: ldloc V_11
+ IL_14d6d: stloc V_36
+ IL_14d71: ldc.i8 0x0
+ IL_14d7a: stloc V_10
+ IL_14d7e: br IL_14e1c
+
+ IL_14d83: ldc.i8 0x0
+ IL_14d8c: stloc V_12
+ IL_14d90: ldloc V_12
+ IL_14d94: ldc.i8 0x1
+ IL_14d9d: add
+ IL_14d9e: stloc V_12
+ IL_14da2: ldloc V_12
+ IL_14da6: ldc.i8 0x1
+ IL_14daf: blt IL_14d90
+
+ IL_14db4: ldc.i8 0x0
+ IL_14dbd: stloc V_12
+ IL_14dc1: ldloc V_12
+ IL_14dc5: ldc.i8 0x1
+ IL_14dce: add
+ IL_14dcf: stloc V_12
+ IL_14dd3: ldloc V_12
+ IL_14dd7: ldc.i8 0x0
+ IL_14de0: blt IL_14dc1
+
+ IL_14de5: br IL_14dea
+
+ IL_14dea: ldc.i8 0x0
+ IL_14df3: stloc V_12
+ IL_14df7: ldloc V_12
+ IL_14dfb: ldc.i8 0x1
+ IL_14e04: add
+ IL_14e05: stloc V_12
+ IL_14e09: ldloc V_12
+ IL_14e0d: ldc.i8 0x0
+ IL_14e16: blt IL_14df7
+
+ IL_14e1b: nop
+ IL_14e1c: ldc.i8 0x0
+ IL_14e25: stloc V_11
+ IL_14e29: ldc.i8 0x0
+ IL_14e32: stloc V_12
+ IL_14e36: ldloc V_12
+ IL_14e3a: ldc.i8 0x1
+ IL_14e43: add
+ IL_14e44: stloc V_12
+ IL_14e48: ldloc V_12
+ IL_14e4c: ldc.i8 0x1
+ IL_14e55: blt IL_14e36
+
+ IL_14e5a: ldc.i8 0x0
+ IL_14e63: stloc V_12
+ IL_14e67: ldloc V_12
+ IL_14e6b: ldc.i8 0x1
+ IL_14e74: add
+ IL_14e75: stloc V_12
+ IL_14e79: ldloc V_12
+ IL_14e7d: ldc.i8 0x2
+ IL_14e86: blt IL_14e67
+
+ IL_14e8b: ldc.i8 0x0
+ IL_14e94: stloc V_12
+ IL_14e98: ldloc V_12
+ IL_14e9c: ldc.i8 0x1
+ IL_14ea5: add
+ IL_14ea6: stloc V_12
+ IL_14eaa: ldloc V_12
+ IL_14eae: ldc.i8 0x0
+ IL_14eb7: blt IL_14e98
+
+ IL_14ebc: br IL_14ec1
+
+ IL_14ec1: ldloc V_20
+ IL_14ec5: stloc V_35
+ IL_14ec9: ldloc V_11
+ IL_14ecd: ldc.i8 0x1
+ IL_14ed6: add
+ IL_14ed7: stloc V_11
+ IL_14edb: ldloc V_11
+ IL_14edf: ldc.i8 0x1
+ IL_14ee8: blt IL_14e29
+
+ IL_14eed: nop
+ IL_14eee: ldloc V_10
+ IL_14ef2: ldc.i8 0x1
+ IL_14efb: add
+ IL_14efc: stloc V_10
+ IL_14f00: ldloc V_10
+ IL_14f04: ldc.i8 0x2
+ IL_14f0d: blt IL_14d7e
+
+ IL_14f12: ldc.i8 0x0
+ IL_14f1b: stloc V_10
+ IL_14f1f: nop
+ IL_14f20: ldloc V_10
+ IL_14f24: ldc.i8 0x1
+ IL_14f2d: add
+ IL_14f2e: stloc V_10
+ IL_14f32: ldloc V_10
+ IL_14f36: ldc.i8 0x1
+ IL_14f3f: blt IL_14f1f
+
+ IL_14f44: ldloc V_10
+ IL_14f48: ldloc V_40
+ IL_14f4c: add
+ IL_14f4d: ldc.i8 0x9
+ IL_14f56: add
+ IL_14f57: stloc V_10
+ IL_14f5b: ldloc V_17
+ IL_14f5f: ldloc V_35
+ IL_14f63: add
+ IL_14f64: stloc V_17
+ IL_14f68: ldloc V_8
+ IL_14f6c: ldc.i8 0x1
+ IL_14f75: add
+ IL_14f76: stloc V_8
+ IL_14f7a: ldloc V_8
+ IL_14f7e: ldc.i8 0x2
+ IL_14f87: blt IL_146ba
+
+ IL_14f8c: ldc.i8 0x0
+ IL_14f95: stloc V_8
+ IL_14f99: br IL_156d0
+
+ IL_14f9e: ldc.i8 0x0
+ IL_14fa7: stloc V_10
+ IL_14fab: br IL_1502e
+
+ IL_14fb0: ldc.i8 0x0
+ IL_14fb9: stloc V_12
+ IL_14fbd: ldloc V_12
+ IL_14fc1: ldc.i8 0x1
+ IL_14fca: add
+ IL_14fcb: stloc V_12
+ IL_14fcf: ldloc V_12
+ IL_14fd3: ldc.i8 0x2
+ IL_14fdc: blt IL_14fbd
+
+ IL_14fe1: br IL_14fe6
+
+ IL_14fe6: ldc.i8 0x0
+ IL_14fef: stloc V_12
+ IL_14ff3: ldloc V_12
+ IL_14ff7: ldc.i8 0x1
+ IL_15000: add
+ IL_15001: stloc V_12
+ IL_15005: ldloc V_12
+ IL_15009: ldc.i8 0x1
+ IL_15012: blt IL_14ff3
+
+ IL_15017: ldloc V_14
+ IL_1501b: ldloc V_36
+ IL_1501f: add
+ IL_15020: ldc.i8 0x2
+ IL_15029: add
+ IL_1502a: stloc V_14
+ IL_1502e: ldc.i8 0x0
+ IL_15037: stloc V_11
+ IL_1503b: nop
+ IL_1503c: ldloc V_11
+ IL_15040: ldc.i8 0x1
+ IL_15049: add
+ IL_1504a: stloc V_11
+ IL_1504e: ldloc V_11
+ IL_15052: ldc.i8 0x2
+ IL_1505b: blt IL_1503b
+
+ IL_15060: br IL_1510a
+
+ IL_15065: ldc.i8 0x0
+ IL_1506e: stloc V_12
+ IL_15072: ldloc V_12
+ IL_15076: ldc.i8 0x1
+ IL_1507f: add
+ IL_15080: stloc V_12
+ IL_15084: ldloc V_12
+ IL_15088: ldc.i8 0x0
+ IL_15091: blt IL_15072
+
+ IL_15096: br IL_1509b
+
+ IL_1509b: ldc.i8 0x0
+ IL_150a4: stloc V_12
+ IL_150a8: ldloc V_12
+ IL_150ac: ldc.i8 0x1
+ IL_150b5: add
+ IL_150b6: stloc V_12
+ IL_150ba: ldloc V_12
+ IL_150be: ldc.i8 0x1
+ IL_150c7: blt IL_150a8
+
+ IL_150cc: ldc.i8 0x0
+ IL_150d5: stloc V_12
+ IL_150d9: ldloc V_12
+ IL_150dd: ldc.i8 0x1
+ IL_150e6: add
+ IL_150e7: stloc V_12
+ IL_150eb: ldloc V_12
+ IL_150ef: ldc.i8 0x1
+ IL_150f8: blt IL_150d9
+
+ IL_150fd: ldloc V_33
+ IL_15101: ldloc V_26
+ IL_15105: add
+ IL_15106: stloc V_33
+ IL_1510a: ldloc V_35
+ IL_1510e: ldloc V_49
+ IL_15112: add
+ IL_15113: ldc.i8 0x6
+ IL_1511c: add
+ IL_1511d: stloc V_35
+ IL_15121: ldloc V_10
+ IL_15125: ldc.i8 0x1
+ IL_1512e: add
+ IL_1512f: stloc V_10
+ IL_15133: ldloc V_10
+ IL_15137: ldc.i8 0x0
+ IL_15140: blt IL_14fab
+
+ IL_15145: ldc.i8 0x0
+ IL_1514e: stloc V_10
+ IL_15152: ldc.i8 0x0
+ IL_1515b: stloc V_11
+ IL_1515f: br IL_15164
+
+ IL_15164: ldc.i8 0x0
+ IL_1516d: stloc V_12
+ IL_15171: ldloc V_12
+ IL_15175: ldc.i8 0x1
+ IL_1517e: add
+ IL_1517f: stloc V_12
+ IL_15183: ldloc V_12
+ IL_15187: ldc.i8 0x0
+ IL_15190: blt IL_15171
+
+ IL_15195: ldc.i8 0x0
+ IL_1519e: stloc V_12
+ IL_151a2: ldloc V_12
+ IL_151a6: ldc.i8 0x1
+ IL_151af: add
+ IL_151b0: stloc V_12
+ IL_151b4: ldloc V_12
+ IL_151b8: ldc.i8 0x1
+ IL_151c1: blt IL_151a2
+
+ IL_151c6: ldloc V_27
+ IL_151ca: ldloc V_12
+ IL_151ce: add
+ IL_151cf: stloc V_27
+ IL_151d3: ldloc V_11
+ IL_151d7: ldc.i8 0x1
+ IL_151e0: add
+ IL_151e1: stloc V_11
+ IL_151e5: ldloc V_11
+ IL_151e9: ldc.i8 0x0
+ IL_151f2: blt IL_1515f
+
+ IL_151f7: ldc.i8 0x0
+ IL_15200: stloc V_11
+ IL_15204: br IL_15209
+
+ IL_15209: ldc.i8 0x0
+ IL_15212: stloc V_12
+ IL_15216: ldloc V_12
+ IL_1521a: ldc.i8 0x1
+ IL_15223: add
+ IL_15224: stloc V_12
+ IL_15228: ldloc V_12
+ IL_1522c: ldc.i8 0x2
+ IL_15235: blt IL_15216
+
+ IL_1523a: ldc.i8 0x0
+ IL_15243: stloc V_12
+ IL_15247: ldloc V_12
+ IL_1524b: ldc.i8 0x1
+ IL_15254: add
+ IL_15255: stloc V_12
+ IL_15259: ldloc V_12
+ IL_1525d: ldc.i8 0x1
+ IL_15266: blt IL_15247
+
+ IL_1526b: ldc.i8 0x7
+ IL_15274: stloc V_40
+ IL_15278: ldloc V_11
+ IL_1527c: ldc.i8 0x1
+ IL_15285: add
+ IL_15286: stloc V_11
+ IL_1528a: ldloc V_11
+ IL_1528e: ldc.i8 0x1
+ IL_15297: blt IL_15204
+
+ IL_1529c: br IL_152e9
+
+ IL_152a1: br IL_152a6
+
+ IL_152a6: ldc.i8 0x0
+ IL_152af: stloc V_12
+ IL_152b3: ldloc V_12
+ IL_152b7: ldc.i8 0x1
+ IL_152c0: add
+ IL_152c1: stloc V_12
+ IL_152c5: ldloc V_12
+ IL_152c9: ldc.i8 0x1
+ IL_152d2: blt IL_152b3
+
+ IL_152d7: br IL_152dc
+
+ IL_152dc: ldc.i8 0x7
+ IL_152e5: stloc V_23
+ IL_152e9: ldc.i8 0x0
+ IL_152f2: stloc V_11
+ IL_152f6: ldc.i8 0x0
+ IL_152ff: stloc V_12
+ IL_15303: ldloc V_12
+ IL_15307: ldc.i8 0x1
+ IL_15310: add
+ IL_15311: stloc V_12
+ IL_15315: ldloc V_12
+ IL_15319: ldc.i8 0x2
+ IL_15322: blt IL_15303
+
+ IL_15327: ldc.i8 0x9
+ IL_15330: stloc V_47
+ IL_15334: ldloc V_11
+ IL_15338: ldc.i8 0x1
+ IL_15341: add
+ IL_15342: stloc V_11
+ IL_15346: ldloc V_11
+ IL_1534a: ldc.i8 0x0
+ IL_15353: blt IL_152f6
+
+ IL_15358: ldloc V_41
+ IL_1535c: ldloc V_47
+ IL_15360: add
+ IL_15361: stloc V_41
+ IL_15365: ldloc V_10
+ IL_15369: ldc.i8 0x1
+ IL_15372: add
+ IL_15373: stloc V_10
+ IL_15377: ldloc V_10
+ IL_1537b: ldc.i8 0x1
+ IL_15384: blt IL_15152
+
+ IL_15389: ldc.i8 0x0
+ IL_15392: stloc V_10
+ IL_15396: ldc.i8 0x0
+ IL_1539f: stloc V_11
+ IL_153a3: ldc.i8 0x0
+ IL_153ac: stloc V_12
+ IL_153b0: ldloc V_12
+ IL_153b4: ldc.i8 0x1
+ IL_153bd: add
+ IL_153be: stloc V_12
+ IL_153c2: ldloc V_12
+ IL_153c6: ldc.i8 0x1
+ IL_153cf: blt IL_153b0
+
+ IL_153d4: br IL_153d9
+
+ IL_153d9: nop
+ IL_153da: ldloc V_11
+ IL_153de: ldc.i8 0x1
+ IL_153e7: add
+ IL_153e8: stloc V_11
+ IL_153ec: ldloc V_11
+ IL_153f0: ldc.i8 0x0
+ IL_153f9: blt IL_153a3
+
+ IL_153fe: br IL_15446
+
+ IL_15403: br IL_15408
+
+ IL_15408: ldc.i8 0x0
+ IL_15411: stloc V_12
+ IL_15415: ldloc V_12
+ IL_15419: ldc.i8 0x1
+ IL_15422: add
+ IL_15423: stloc V_12
+ IL_15427: ldloc V_12
+ IL_1542b: ldc.i8 0x1
+ IL_15434: blt IL_15415
+
+ IL_15439: ldloc V_35
+ IL_1543d: ldloc V_1
+ IL_15441: add
+ IL_15442: stloc V_35
+ IL_15446: ldc.i8 0x0
+ IL_1544f: stloc V_11
+ IL_15453: br IL_15458
+
+ IL_15458: ldc.i8 0x0
+ IL_15461: stloc V_12
+ IL_15465: ldloc V_12
+ IL_15469: ldc.i8 0x1
+ IL_15472: add
+ IL_15473: stloc V_12
+ IL_15477: ldloc V_12
+ IL_1547b: ldc.i8 0x0
+ IL_15484: blt IL_15465
+
+ IL_15489: ldc.i8 0x0
+ IL_15492: stloc V_12
+ IL_15496: ldloc V_12
+ IL_1549a: ldc.i8 0x1
+ IL_154a3: add
+ IL_154a4: stloc V_12
+ IL_154a8: ldloc V_12
+ IL_154ac: ldc.i8 0x2
+ IL_154b5: blt IL_15496
+
+ IL_154ba: ldc.i8 0x0
+ IL_154c3: stloc V_12
+ IL_154c7: ldloc V_12
+ IL_154cb: ldc.i8 0x1
+ IL_154d4: add
+ IL_154d5: stloc V_12
+ IL_154d9: ldloc V_12
+ IL_154dd: ldc.i8 0x1
+ IL_154e6: blt IL_154c7
+
+ IL_154eb: ldloc V_38
+ IL_154ef: ldloc V_2
+ IL_154f3: add
+ IL_154f4: stloc V_38
+ IL_154f8: ldloc V_11
+ IL_154fc: ldc.i8 0x1
+ IL_15505: add
+ IL_15506: stloc V_11
+ IL_1550a: ldloc V_11
+ IL_1550e: ldc.i8 0x0
+ IL_15517: blt IL_15453
+
+ IL_1551c: nop
+ IL_1551d: ldloc V_10
+ IL_15521: ldc.i8 0x1
+ IL_1552a: add
+ IL_1552b: stloc V_10
+ IL_1552f: ldloc V_10
+ IL_15533: ldc.i8 0x1
+ IL_1553c: blt IL_15396
+
+ IL_15541: ldc.i8 0x0
+ IL_1554a: stloc V_10
+ IL_1554e: br IL_155cc
+
+ IL_15553: ldc.i8 0x0
+ IL_1555c: stloc V_12
+ IL_15560: ldloc V_12
+ IL_15564: ldc.i8 0x1
+ IL_1556d: add
+ IL_1556e: stloc V_12
+ IL_15572: ldloc V_12
+ IL_15576: ldc.i8 0x2
+ IL_1557f: blt IL_15560
+
+ IL_15584: br IL_15589
+
+ IL_15589: ldc.i8 0x0
+ IL_15592: stloc V_12
+ IL_15596: ldloc V_12
+ IL_1559a: ldc.i8 0x1
+ IL_155a3: add
+ IL_155a4: stloc V_12
+ IL_155a8: ldloc V_12
+ IL_155ac: ldc.i8 0x2
+ IL_155b5: blt IL_15596
+
+ IL_155ba: br IL_155bf
+
+ IL_155bf: ldloc V_42
+ IL_155c3: ldloc V_33
+ IL_155c7: add
+ IL_155c8: stloc V_44
+ IL_155cc: br IL_1564a
+
+ IL_155d1: br IL_155d6
+
+ IL_155d6: ldc.i8 0x0
+ IL_155df: stloc V_12
+ IL_155e3: ldloc V_12
+ IL_155e7: ldc.i8 0x1
+ IL_155f0: add
+ IL_155f1: stloc V_12
+ IL_155f5: ldloc V_12
+ IL_155f9: ldc.i8 0x1
+ IL_15602: blt IL_155e3
+
+ IL_15607: ldc.i8 0x0
+ IL_15610: stloc V_12
+ IL_15614: ldloc V_12
+ IL_15618: ldc.i8 0x1
+ IL_15621: add
+ IL_15622: stloc V_12
+ IL_15626: ldloc V_12
+ IL_1562a: ldc.i8 0x1
+ IL_15633: blt IL_15614
+
+ IL_15638: ldloc V_29
+ IL_1563c: ldc.i8 0x0
+ IL_15645: add
+ IL_15646: stloc V_35
+ IL_1564a: ldc.i8 0x0
+ IL_15653: stloc V_11
+ IL_15657: br IL_1565c
+
+ IL_1565c: ldloc V_36
+ IL_15660: stloc V_24
+ IL_15664: ldloc V_11
+ IL_15668: ldc.i8 0x1
+ IL_15671: add
+ IL_15672: stloc V_11
+ IL_15676: ldloc V_11
+ IL_1567a: ldc.i8 0x1
+ IL_15683: blt IL_15657
+
+ IL_15688: ldloc V_12
+ IL_1568c: ldloc V_41
+ IL_15690: add
+ IL_15691: ldc.i8 0x8
+ IL_1569a: add
+ IL_1569b: stloc V_12
+ IL_1569f: ldloc V_10
+ IL_156a3: ldc.i8 0x1
+ IL_156ac: add
+ IL_156ad: stloc V_10
+ IL_156b1: ldloc V_10
+ IL_156b5: ldc.i8 0x2
+ IL_156be: blt IL_1554e
+
+ IL_156c3: ldloc V_39
+ IL_156c7: ldloc V_28
+ IL_156cb: add
+ IL_156cc: stloc V_45
+ IL_156d0: ldc.i8 0x0
+ IL_156d9: stloc V_9
+ IL_156dd: ldc.i8 0x0
+ IL_156e6: stloc V_10
+ IL_156ea: br IL_1578f
+
+ IL_156ef: ldc.i8 0x0
+ IL_156f8: stloc V_12
+ IL_156fc: ldloc V_12
+ IL_15700: ldc.i8 0x1
+ IL_15709: add
+ IL_1570a: stloc V_12
+ IL_1570e: ldloc V_12
+ IL_15712: ldc.i8 0x0
+ IL_1571b: blt IL_156fc
+
+ IL_15720: ldc.i8 0x0
+ IL_15729: stloc V_12
+ IL_1572d: ldloc V_12
+ IL_15731: ldc.i8 0x1
+ IL_1573a: add
+ IL_1573b: stloc V_12
+ IL_1573f: ldloc V_12
+ IL_15743: ldc.i8 0x1
+ IL_1574c: blt IL_1572d
+
+ IL_15751: ldc.i8 0x0
+ IL_1575a: stloc V_12
+ IL_1575e: ldloc V_12
+ IL_15762: ldc.i8 0x1
+ IL_1576b: add
+ IL_1576c: stloc V_12
+ IL_15770: ldloc V_12
+ IL_15774: ldc.i8 0x1
+ IL_1577d: blt IL_1575e
+
+ IL_15782: ldc.i8 0x9
+ IL_1578b: stloc V_36
+ IL_1578f: br IL_157a6
+
+ IL_15794: ldloc V_28
+ IL_15798: ldc.i8 0x8
+ IL_157a1: add
+ IL_157a2: stloc V_26
+ IL_157a6: ldloc V_13
+ IL_157aa: ldloc V_10
+ IL_157ae: add
+ IL_157af: stloc V_28
+ IL_157b3: ldloc V_10
+ IL_157b7: ldc.i8 0x1
+ IL_157c0: add
+ IL_157c1: stloc V_10
+ IL_157c5: ldloc V_10
+ IL_157c9: ldc.i8 0x0
+ IL_157d2: blt IL_156ea
+
+ IL_157d7: ldloc V_6
+ IL_157db: stloc V_41
+ IL_157df: ldloc V_9
+ IL_157e3: ldc.i8 0x1
+ IL_157ec: add
+ IL_157ed: stloc V_9
+ IL_157f1: ldloc V_9
+ IL_157f5: ldc.i8 0x0
+ IL_157fe: blt IL_156dd
+
+ IL_15803: br IL_15bb0
+
+ IL_15808: ldc.i8 0x0
+ IL_15811: stloc V_10
+ IL_15815: ldc.i8 0x0
+ IL_1581e: stloc V_11
+ IL_15822: ldc.i8 0x0
+ IL_1582b: stloc V_12
+ IL_1582f: ldloc V_12
+ IL_15833: ldc.i8 0x1
+ IL_1583c: add
+ IL_1583d: stloc V_12
+ IL_15841: ldloc V_12
+ IL_15845: ldc.i8 0x0
+ IL_1584e: blt IL_1582f
+
+ IL_15853: ldloc V_18
+ IL_15857: ldloc V_43
+ IL_1585b: add
+ IL_1585c: stloc V_18
+ IL_15860: ldloc V_11
+ IL_15864: ldc.i8 0x1
+ IL_1586d: add
+ IL_1586e: stloc V_11
+ IL_15872: ldloc V_11
+ IL_15876: ldc.i8 0x1
+ IL_1587f: blt IL_15822
+
+ IL_15884: ldc.i8 0x0
+ IL_1588d: stloc V_11
+ IL_15891: ldc.i8 0x0
+ IL_1589a: stloc V_12
+ IL_1589e: ldloc V_12
+ IL_158a2: ldc.i8 0x1
+ IL_158ab: add
+ IL_158ac: stloc V_12
+ IL_158b0: ldloc V_12
+ IL_158b4: ldc.i8 0x1
+ IL_158bd: blt IL_1589e
+
+ IL_158c2: ldc.i8 0x0
+ IL_158cb: stloc V_12
+ IL_158cf: ldloc V_12
+ IL_158d3: ldc.i8 0x1
+ IL_158dc: add
+ IL_158dd: stloc V_12
+ IL_158e1: ldloc V_12
+ IL_158e5: ldc.i8 0x1
+ IL_158ee: blt IL_158cf
+
+ IL_158f3: ldc.i8 0x0
+ IL_158fc: stloc V_12
+ IL_15900: ldloc V_12
+ IL_15904: ldc.i8 0x1
+ IL_1590d: add
+ IL_1590e: stloc V_12
+ IL_15912: ldloc V_12
+ IL_15916: ldc.i8 0x1
+ IL_1591f: blt IL_15900
+
+ IL_15924: br IL_15929
+
+ IL_15929: ldloc V_25
+ IL_1592d: ldloc V_2
+ IL_15931: add
+ IL_15932: stloc V_25
+ IL_15936: ldloc V_11
+ IL_1593a: ldc.i8 0x1
+ IL_15943: add
+ IL_15944: stloc V_11
+ IL_15948: ldloc V_11
+ IL_1594c: ldc.i8 0x0
+ IL_15955: blt IL_15891
+
+ IL_1595a: br IL_1596c
+
+ IL_1595f: ldc.i8 0x0
+ IL_15968: stloc V_32
+ IL_1596c: ldloc V_38
+ IL_15970: ldloc V_42
+ IL_15974: add
+ IL_15975: stloc V_38
+ IL_15979: ldloc V_10
+ IL_1597d: ldc.i8 0x1
+ IL_15986: add
+ IL_15987: stloc V_10
+ IL_1598b: ldloc V_10
+ IL_1598f: ldc.i8 0x1
+ IL_15998: blt IL_15815
+
+ IL_1599d: ldc.i8 0x0
+ IL_159a6: stloc V_10
+ IL_159aa: br IL_15a28
+
+ IL_159af: ldc.i8 0x0
+ IL_159b8: stloc V_12
+ IL_159bc: ldloc V_12
+ IL_159c0: ldc.i8 0x1
+ IL_159c9: add
+ IL_159ca: stloc V_12
+ IL_159ce: ldloc V_12
+ IL_159d2: ldc.i8 0x0
+ IL_159db: blt IL_159bc
+
+ IL_159e0: ldc.i8 0x0
+ IL_159e9: stloc V_12
+ IL_159ed: ldloc V_12
+ IL_159f1: ldc.i8 0x1
+ IL_159fa: add
+ IL_159fb: stloc V_12
+ IL_159ff: ldloc V_12
+ IL_15a03: ldc.i8 0x0
+ IL_15a0c: blt IL_159ed
+
+ IL_15a11: ldloc V_38
+ IL_15a15: ldloc V_21
+ IL_15a19: add
+ IL_15a1a: ldc.i8 0x9
+ IL_15a23: add
+ IL_15a24: stloc V_38
+ IL_15a28: nop
+ IL_15a29: ldloc V_10
+ IL_15a2d: ldc.i8 0x1
+ IL_15a36: add
+ IL_15a37: stloc V_10
+ IL_15a3b: ldloc V_10
+ IL_15a3f: ldc.i8 0x1
+ IL_15a48: blt IL_159aa
+
+ IL_15a4d: ldc.i8 0x0
+ IL_15a56: stloc V_10
+ IL_15a5a: br IL_15a60
+
+ IL_15a5f: nop
+ IL_15a60: ldc.i8 0x0
+ IL_15a69: stloc V_11
+ IL_15a6d: ldc.i8 0x0
+ IL_15a76: stloc V_12
+ IL_15a7a: ldloc V_12
+ IL_15a7e: ldc.i8 0x1
+ IL_15a87: add
+ IL_15a88: stloc V_12
+ IL_15a8c: ldloc V_12
+ IL_15a90: ldc.i8 0x1
+ IL_15a99: blt IL_15a7a
+
+ IL_15a9e: br IL_15aa3
+
+ IL_15aa3: ldc.i8 0x0
+ IL_15aac: stloc V_12
+ IL_15ab0: ldloc V_12
+ IL_15ab4: ldc.i8 0x1
+ IL_15abd: add
+ IL_15abe: stloc V_12
+ IL_15ac2: ldloc V_12
+ IL_15ac6: ldc.i8 0x2
+ IL_15acf: blt IL_15ab0
+
+ IL_15ad4: ldloc V_11
+ IL_15ad8: stloc V_17
+ IL_15adc: ldloc V_11
+ IL_15ae0: ldc.i8 0x1
+ IL_15ae9: add
+ IL_15aea: stloc V_11
+ IL_15aee: ldloc V_11
+ IL_15af2: ldc.i8 0x2
+ IL_15afb: blt IL_15a6d
+
+ IL_15b00: ldloc V_22
+ IL_15b04: ldloc V_45
+ IL_15b08: add
+ IL_15b09: stloc V_38
+ IL_15b0d: ldloc V_10
+ IL_15b11: ldc.i8 0x1
+ IL_15b1a: add
+ IL_15b1b: stloc V_10
+ IL_15b1f: ldloc V_10
+ IL_15b23: ldc.i8 0x1
+ IL_15b2c: blt IL_15a5a
+
+ IL_15b31: ldc.i8 0x0
+ IL_15b3a: stloc V_10
+ IL_15b3e: ldc.i8 0x0
+ IL_15b47: stloc V_11
+ IL_15b4b: ldloc V_41
+ IL_15b4f: stloc V_42
+ IL_15b53: ldloc V_11
+ IL_15b57: ldc.i8 0x1
+ IL_15b60: add
+ IL_15b61: stloc V_11
+ IL_15b65: ldloc V_11
+ IL_15b69: ldc.i8 0x0
+ IL_15b72: blt IL_15b4b
+
+ IL_15b77: ldc.i8 0x0
+ IL_15b80: stloc V_41
+ IL_15b84: ldloc V_10
+ IL_15b88: ldc.i8 0x1
+ IL_15b91: add
+ IL_15b92: stloc V_10
+ IL_15b96: ldloc V_10
+ IL_15b9a: ldc.i8 0x0
+ IL_15ba3: blt IL_15b3e
+
+ IL_15ba8: ldloc V_7
+ IL_15bac: stloc V_18
+ IL_15bb0: ldloc V_22
+ IL_15bb4: ldloc V_5
+ IL_15bb8: add
+ IL_15bb9: stloc V_22
+ IL_15bbd: ldloc V_8
+ IL_15bc1: ldc.i8 0x1
+ IL_15bca: add
+ IL_15bcb: stloc V_8
+ IL_15bcf: ldloc V_8
+ IL_15bd3: ldc.i8 0x2
+ IL_15bdc: blt IL_14f99
+
+ IL_15be1: br IL_15e1b
+
+ IL_15be6: br IL_15d80
+
+ IL_15beb: ldc.i8 0x0
+ IL_15bf4: stloc V_10
+ IL_15bf8: br IL_15c45
+
+ IL_15bfd: br IL_15c02
+
+ IL_15c02: br IL_15c07
+
+ IL_15c07: ldc.i8 0x0
+ IL_15c10: stloc V_12
+ IL_15c14: ldloc V_12
+ IL_15c18: ldc.i8 0x1
+ IL_15c21: add
+ IL_15c22: stloc V_12
+ IL_15c26: ldloc V_12
+ IL_15c2a: ldc.i8 0x0
+ IL_15c33: blt IL_15c14
+
+ IL_15c38: br IL_15c3d
+
+ IL_15c3d: ldloc V_46
+ IL_15c41: stloc V_18
+ IL_15c45: ldc.i8 0x0
+ IL_15c4e: stloc V_11
+ IL_15c52: ldloc V_32
+ IL_15c56: ldloc V_24
+ IL_15c5a: add
+ IL_15c5b: ldc.i8 0x2
+ IL_15c64: add
+ IL_15c65: stloc V_32
+ IL_15c69: ldloc V_11
+ IL_15c6d: ldc.i8 0x1
+ IL_15c76: add
+ IL_15c77: stloc V_11
+ IL_15c7b: ldloc V_11
+ IL_15c7f: ldc.i8 0x1
+ IL_15c88: blt IL_15c52
+
+ IL_15c8d: ldc.i8 0x0
+ IL_15c96: stloc V_11
+ IL_15c9a: ldloc V_12
+ IL_15c9e: ldloc V_42
+ IL_15ca2: add
+ IL_15ca3: stloc V_12
+ IL_15ca7: ldloc V_11
+ IL_15cab: ldc.i8 0x1
+ IL_15cb4: add
+ IL_15cb5: stloc V_11
+ IL_15cb9: ldloc V_11
+ IL_15cbd: ldc.i8 0x2
+ IL_15cc6: blt IL_15c9a
+
+ IL_15ccb: ldc.i8 0x0
+ IL_15cd4: stloc V_11
+ IL_15cd8: ldc.i8 0x0
+ IL_15ce1: stloc V_12
+ IL_15ce5: ldloc V_12
+ IL_15ce9: ldc.i8 0x1
+ IL_15cf2: add
+ IL_15cf3: stloc V_12
+ IL_15cf7: ldloc V_12
+ IL_15cfb: ldc.i8 0x1
+ IL_15d04: blt IL_15ce5
+
+ IL_15d09: ldloc V_35
+ IL_15d0d: ldloc V_40
+ IL_15d11: add
+ IL_15d12: ldc.i8 0x4
+ IL_15d1b: add
+ IL_15d1c: stloc V_35
+ IL_15d20: ldloc V_11
+ IL_15d24: ldc.i8 0x1
+ IL_15d2d: add
+ IL_15d2e: stloc V_11
+ IL_15d32: ldloc V_11
+ IL_15d36: ldc.i8 0x1
+ IL_15d3f: blt IL_15cd8
+
+ IL_15d44: ldloc V_12
+ IL_15d48: ldloc V_41
+ IL_15d4c: add
+ IL_15d4d: ldc.i8 0x6
+ IL_15d56: add
+ IL_15d57: stloc V_12
+ IL_15d5b: ldloc V_10
+ IL_15d5f: ldc.i8 0x1
+ IL_15d68: add
+ IL_15d69: stloc V_10
+ IL_15d6d: ldloc V_10
+ IL_15d71: ldc.i8 0x1
+ IL_15d7a: blt IL_15bf8
+
+ IL_15d7f: nop
+ IL_15d80: ldc.i8 0x0
+ IL_15d89: stloc V_9
+ IL_15d8d: ldc.i8 0x0
+ IL_15d96: stloc V_10
+ IL_15d9a: br IL_15dac
+
+ IL_15d9f: ldloc V_30
+ IL_15da3: ldloc V_16
+ IL_15da7: add
+ IL_15da8: stloc V_35
+ IL_15dac: ldloc V_17
+ IL_15db0: ldc.i8 0x7
+ IL_15db9: add
+ IL_15dba: stloc V_49
+ IL_15dbe: ldloc V_10
+ IL_15dc2: ldc.i8 0x1
+ IL_15dcb: add
+ IL_15dcc: stloc V_10
+ IL_15dd0: ldloc V_10
+ IL_15dd4: ldc.i8 0x1
+ IL_15ddd: blt IL_15d9a
+
+ IL_15de2: ldc.i8 0x0
+ IL_15deb: stloc V_47
+ IL_15def: ldloc V_9
+ IL_15df3: ldc.i8 0x1
+ IL_15dfc: add
+ IL_15dfd: stloc V_9
+ IL_15e01: ldloc V_9
+ IL_15e05: ldc.i8 0x0
+ IL_15e0e: blt IL_15d8d
+
+ IL_15e13: ldloc V_39
+ IL_15e17: stloc V_14
+ IL_15e1b: br IL_1622e
+
+ IL_15e20: ldc.i8 0x0
+ IL_15e29: stloc V_9
+ IL_15e2d: br IL_15edf
+
+ IL_15e32: ldc.i8 0x0
+ IL_15e3b: stloc V_11
+ IL_15e3f: br IL_15e44
+
+ IL_15e44: ldc.i8 0x0
+ IL_15e4d: stloc V_12
+ IL_15e51: ldloc V_12
+ IL_15e55: ldc.i8 0x1
+ IL_15e5e: add
+ IL_15e5f: stloc V_12
+ IL_15e63: ldloc V_12
+ IL_15e67: ldc.i8 0x1
+ IL_15e70: blt IL_15e51
+
+ IL_15e75: ldc.i8 0x0
+ IL_15e7e: stloc V_12
+ IL_15e82: ldloc V_12
+ IL_15e86: ldc.i8 0x1
+ IL_15e8f: add
+ IL_15e90: stloc V_12
+ IL_15e94: ldloc V_12
+ IL_15e98: ldc.i8 0x1
+ IL_15ea1: blt IL_15e82
+
+ IL_15ea6: ldloc V_16
+ IL_15eaa: stloc V_15
+ IL_15eae: ldloc V_11
+ IL_15eb2: ldc.i8 0x1
+ IL_15ebb: add
+ IL_15ebc: stloc V_11
+ IL_15ec0: ldloc V_11
+ IL_15ec4: ldc.i8 0x0
+ IL_15ecd: blt IL_15e3f
+
+ IL_15ed2: ldloc V_14
+ IL_15ed6: ldloc V_16
+ IL_15eda: add
+ IL_15edb: stloc V_44
+ IL_15edf: br IL_15ef1
+
+ IL_15ee4: ldloc V_31
+ IL_15ee8: ldloc V_10
+ IL_15eec: add
+ IL_15eed: stloc V_31
+ IL_15ef1: ldc.i8 0x0
+ IL_15efa: stloc V_10
+ IL_15efe: ldc.i8 0x0
+ IL_15f07: stloc V_11
+ IL_15f0b: br IL_15f10
+
+ IL_15f10: br IL_15f15
+
+ IL_15f15: ldloc V_32
+ IL_15f19: ldloc V_27
+ IL_15f1d: add
+ IL_15f1e: stloc V_48
+ IL_15f22: ldloc V_11
+ IL_15f26: ldc.i8 0x1
+ IL_15f2f: add
+ IL_15f30: stloc V_11
+ IL_15f34: ldloc V_11
+ IL_15f38: ldc.i8 0x0
+ IL_15f41: blt IL_15f0b
+
+ IL_15f46: ldc.i8 0x0
+ IL_15f4f: stloc V_11
+ IL_15f53: ldc.i8 0x0
+ IL_15f5c: stloc V_12
+ IL_15f60: ldloc V_12
+ IL_15f64: ldc.i8 0x1
+ IL_15f6d: add
+ IL_15f6e: stloc V_12
+ IL_15f72: ldloc V_12
+ IL_15f76: ldc.i8 0x2
+ IL_15f7f: blt IL_15f60
+
+ IL_15f84: nop
+ IL_15f85: ldloc V_11
+ IL_15f89: ldc.i8 0x1
+ IL_15f92: add
+ IL_15f93: stloc V_11
+ IL_15f97: ldloc V_11
+ IL_15f9b: ldc.i8 0x1
+ IL_15fa4: blt IL_15f53
+
+ IL_15fa9: br IL_15fc5
+
+ IL_15fae: br IL_15fb3
+
+ IL_15fb3: ldloc V_4
+ IL_15fb7: ldc.i8 0x8
+ IL_15fc0: add
+ IL_15fc1: stloc V_46
+ IL_15fc5: ldc.i8 0x0
+ IL_15fce: stloc V_11
+ IL_15fd2: ldc.i8 0x0
+ IL_15fdb: stloc V_12
+ IL_15fdf: ldloc V_12
+ IL_15fe3: ldc.i8 0x1
+ IL_15fec: add
+ IL_15fed: stloc V_12
+ IL_15ff1: ldloc V_12
+ IL_15ff5: ldc.i8 0x0
+ IL_15ffe: blt IL_15fdf
+
+ IL_16003: br IL_16008
+
+ IL_16008: nop
+ IL_16009: ldloc V_11
+ IL_1600d: ldc.i8 0x1
+ IL_16016: add
+ IL_16017: stloc V_11
+ IL_1601b: ldloc V_11
+ IL_1601f: ldc.i8 0x2
+ IL_16028: blt IL_15fd2
+
+ IL_1602d: nop
+ IL_1602e: ldloc V_10
+ IL_16032: ldc.i8 0x1
+ IL_1603b: add
+ IL_1603c: stloc V_10
+ IL_16040: ldloc V_10
+ IL_16044: ldc.i8 0x2
+ IL_1604d: blt IL_15efe
+
+ IL_16052: ldc.i8 0x0
+ IL_1605b: stloc V_10
+ IL_1605f: ldc.i8 0x0
+ IL_16068: stloc V_11
+ IL_1606c: ldc.i8 0x0
+ IL_16075: stloc V_12
+ IL_16079: ldloc V_12
+ IL_1607d: ldc.i8 0x1
+ IL_16086: add
+ IL_16087: stloc V_12
+ IL_1608b: ldloc V_12
+ IL_1608f: ldc.i8 0x2
+ IL_16098: blt IL_16079
+
+ IL_1609d: ldloc V_18
+ IL_160a1: ldloc V_21
+ IL_160a5: add
+ IL_160a6: stloc V_18
+ IL_160aa: ldloc V_11
+ IL_160ae: ldc.i8 0x1
+ IL_160b7: add
+ IL_160b8: stloc V_11
+ IL_160bc: ldloc V_11
+ IL_160c0: ldc.i8 0x2
+ IL_160c9: blt IL_1606c
+
+ IL_160ce: ldc.i8 0x0
+ IL_160d7: stloc V_11
+ IL_160db: ldloc V_18
+ IL_160df: ldloc V_30
+ IL_160e3: add
+ IL_160e4: stloc V_45
+ IL_160e8: ldloc V_11
+ IL_160ec: ldc.i8 0x1
+ IL_160f5: add
+ IL_160f6: stloc V_11
+ IL_160fa: ldloc V_11
+ IL_160fe: ldc.i8 0x0
+ IL_16107: blt IL_160db
+
+ IL_1610c: ldc.i8 0x0
+ IL_16115: stloc V_11
+ IL_16119: ldc.i8 0x0
+ IL_16122: stloc V_12
+ IL_16126: ldloc V_12
+ IL_1612a: ldc.i8 0x1
+ IL_16133: add
+ IL_16134: stloc V_12
+ IL_16138: ldloc V_12
+ IL_1613c: ldc.i8 0x1
+ IL_16145: blt IL_16126
+
+ IL_1614a: br IL_1614f
+
+ IL_1614f: br IL_16154
+
+ IL_16154: br IL_16159
+
+ IL_16159: nop
+ IL_1615a: ldloc V_11
+ IL_1615e: ldc.i8 0x1
+ IL_16167: add
+ IL_16168: stloc V_11
+ IL_1616c: ldloc V_11
+ IL_16170: ldc.i8 0x1
+ IL_16179: blt IL_16119
+
+ IL_1617e: nop
+ IL_1617f: ldloc V_10
+ IL_16183: ldc.i8 0x1
+ IL_1618c: add
+ IL_1618d: stloc V_10
+ IL_16191: ldloc V_10
+ IL_16195: ldc.i8 0x2
+ IL_1619e: blt IL_1605f
+
+ IL_161a3: ldc.i8 0x9
+ IL_161ac: stloc V_45
+ IL_161b0: ldloc V_9
+ IL_161b4: ldc.i8 0x1
+ IL_161bd: add
+ IL_161be: stloc V_9
+ IL_161c2: ldloc V_9
+ IL_161c6: ldc.i8 0x2
+ IL_161cf: blt IL_15e2d
+
+ IL_161d4: ldc.i8 0x0
+ IL_161dd: stloc V_9
+ IL_161e1: ldloc V_17
+ IL_161e5: ldloc V_18
+ IL_161e9: add
+ IL_161ea: ldc.i8 0x6
+ IL_161f3: add
+ IL_161f4: stloc V_17
+ IL_161f8: ldloc V_9
+ IL_161fc: ldc.i8 0x1
+ IL_16205: add
+ IL_16206: stloc V_9
+ IL_1620a: ldloc V_9
+ IL_1620e: ldc.i8 0x2
+ IL_16217: blt IL_161e1
+
+ IL_1621c: ldloc V_10
+ IL_16220: ldc.i8 0x2
+ IL_16229: add
+ IL_1622a: stloc V_31
+ IL_1622e: ldloc V_47
+ IL_16232: ldloc V_43
+ IL_16236: add
+ IL_16237: stloc V_18
+ IL_1623b: ldc.i8 0x0
+ IL_16244: stloc V_7
+ IL_16248: br IL_1625a
+
+ IL_1624d: ldloc V_6
+ IL_16251: ldloc V_16
+ IL_16255: add
+ IL_16256: stloc V_27
+ IL_1625a: ldc.i8 0x0
+ IL_16263: stloc V_8
+ IL_16267: ldc.i8 0x0
+ IL_16270: stloc V_9
+ IL_16274: ldc.i8 0x0
+ IL_1627d: stloc V_10
+ IL_16281: ldc.i8 0x0
+ IL_1628a: stloc V_11
+ IL_1628e: ldc.i8 0x0
+ IL_16297: stloc V_12
+ IL_1629b: ldloc V_12
+ IL_1629f: ldc.i8 0x1
+ IL_162a8: add
+ IL_162a9: stloc V_12
+ IL_162ad: ldloc V_12
+ IL_162b1: ldc.i8 0x1
+ IL_162ba: blt IL_1629b
+
+ IL_162bf: ldloc V_40
+ IL_162c3: ldloc V_21
+ IL_162c7: add
+ IL_162c8: stloc V_40
+ IL_162cc: ldloc V_11
+ IL_162d0: ldc.i8 0x1
+ IL_162d9: add
+ IL_162da: stloc V_11
+ IL_162de: ldloc V_11
+ IL_162e2: ldc.i8 0x1
+ IL_162eb: blt IL_1628e
+
+ IL_162f0: ldc.i8 0x0
+ IL_162f9: stloc V_11
+ IL_162fd: ldc.i8 0x0
+ IL_16306: stloc V_12
+ IL_1630a: ldloc V_12
+ IL_1630e: ldc.i8 0x1
+ IL_16317: add
+ IL_16318: stloc V_12
+ IL_1631c: ldloc V_12
+ IL_16320: ldc.i8 0x1
+ IL_16329: blt IL_1630a
+
+ IL_1632e: br IL_16333
+
+ IL_16333: ldloc V_24
+ IL_16337: ldloc V_44
+ IL_1633b: add
+ IL_1633c: stloc V_26
+ IL_16340: ldloc V_11
+ IL_16344: ldc.i8 0x1
+ IL_1634d: add
+ IL_1634e: stloc V_11
+ IL_16352: ldloc V_11
+ IL_16356: ldc.i8 0x0
+ IL_1635f: blt IL_162fd
+
+ IL_16364: ldloc V_24
+ IL_16368: ldloc V_11
+ IL_1636c: add
+ IL_1636d: ldc.i8 0x0
+ IL_16376: add
+ IL_16377: stloc V_24
+ IL_1637b: ldloc V_10
+ IL_1637f: ldc.i8 0x1
+ IL_16388: add
+ IL_16389: stloc V_10
+ IL_1638d: ldloc V_10
+ IL_16391: ldc.i8 0x1
+ IL_1639a: blt IL_16281
+
+ IL_1639f: ldloc V_8
+ IL_163a3: ldc.i8 0x0
+ IL_163ac: add
+ IL_163ad: stloc V_40
+ IL_163b1: ldloc V_9
+ IL_163b5: ldc.i8 0x1
+ IL_163be: add
+ IL_163bf: stloc V_9
+ IL_163c3: ldloc V_9
+ IL_163c7: ldc.i8 0x0
+ IL_163d0: blt IL_16274
+
+ IL_163d5: ldc.i8 0x0
+ IL_163de: stloc V_9
+ IL_163e2: br IL_163f4
+
+ IL_163e7: ldloc V_26
+ IL_163eb: ldloc V_9
+ IL_163ef: add
+ IL_163f0: stloc V_12
+ IL_163f4: br IL_16633
+
+ IL_163f9: ldc.i8 0x0
+ IL_16402: stloc V_11
+ IL_16406: ldc.i8 0x0
+ IL_1640f: stloc V_12
+ IL_16413: ldloc V_12
+ IL_16417: ldc.i8 0x1
+ IL_16420: add
+ IL_16421: stloc V_12
+ IL_16425: ldloc V_12
+ IL_16429: ldc.i8 0x1
+ IL_16432: blt IL_16413
+
+ IL_16437: ldc.i8 0x0
+ IL_16440: stloc V_12
+ IL_16444: ldloc V_12
+ IL_16448: ldc.i8 0x1
+ IL_16451: add
+ IL_16452: stloc V_12
+ IL_16456: ldloc V_12
+ IL_1645a: ldc.i8 0x1
+ IL_16463: blt IL_16444
+
+ IL_16468: ldc.i8 0x0
+ IL_16471: stloc V_12
+ IL_16475: ldloc V_12
+ IL_16479: ldc.i8 0x1
+ IL_16482: add
+ IL_16483: stloc V_12
+ IL_16487: ldloc V_12
+ IL_1648b: ldc.i8 0x2
+ IL_16494: blt IL_16475
+
+ IL_16499: br IL_1649e
+
+ IL_1649e: ldloc V_34
+ IL_164a2: stloc V_22
+ IL_164a6: ldloc V_11
+ IL_164aa: ldc.i8 0x1
+ IL_164b3: add
+ IL_164b4: stloc V_11
+ IL_164b8: ldloc V_11
+ IL_164bc: ldc.i8 0x1
+ IL_164c5: blt IL_16406
+
+ IL_164ca: ldc.i8 0x0
+ IL_164d3: stloc V_11
+ IL_164d7: ldc.i8 0x0
+ IL_164e0: stloc V_12
+ IL_164e4: ldloc V_12
+ IL_164e8: ldc.i8 0x1
+ IL_164f1: add
+ IL_164f2: stloc V_12
+ IL_164f6: ldloc V_12
+ IL_164fa: ldc.i8 0x2
+ IL_16503: blt IL_164e4
+
+ IL_16508: ldc.i8 0x0
+ IL_16511: stloc V_12
+ IL_16515: ldloc V_12
+ IL_16519: ldc.i8 0x1
+ IL_16522: add
+ IL_16523: stloc V_12
+ IL_16527: ldloc V_12
+ IL_1652b: ldc.i8 0x0
+ IL_16534: blt IL_16515
+
+ IL_16539: br IL_1653e
+
+ IL_1653e: ldloc V_45
+ IL_16542: ldloc V_41
+ IL_16546: add
+ IL_16547: stloc V_45
+ IL_1654b: ldloc V_11
+ IL_1654f: ldc.i8 0x1
+ IL_16558: add
+ IL_16559: stloc V_11
+ IL_1655d: ldloc V_11
+ IL_16561: ldc.i8 0x2
+ IL_1656a: blt IL_164d7
+
+ IL_1656f: ldc.i8 0x0
+ IL_16578: stloc V_11
+ IL_1657c: ldloc V_29
+ IL_16580: stloc V_27
+ IL_16584: ldloc V_11
+ IL_16588: ldc.i8 0x1
+ IL_16591: add
+ IL_16592: stloc V_11
+ IL_16596: ldloc V_11
+ IL_1659a: ldc.i8 0x2
+ IL_165a3: blt IL_1657c
+
+ IL_165a8: br IL_16621
+
+ IL_165ad: ldc.i8 0x0
+ IL_165b6: stloc V_12
+ IL_165ba: ldloc V_12
+ IL_165be: ldc.i8 0x1
+ IL_165c7: add
+ IL_165c8: stloc V_12
+ IL_165cc: ldloc V_12
+ IL_165d0: ldc.i8 0x1
+ IL_165d9: blt IL_165ba
+
+ IL_165de: ldc.i8 0x0
+ IL_165e7: stloc V_12
+ IL_165eb: ldloc V_12
+ IL_165ef: ldc.i8 0x1
+ IL_165f8: add
+ IL_165f9: stloc V_12
+ IL_165fd: ldloc V_12
+ IL_16601: ldc.i8 0x2
+ IL_1660a: blt IL_165eb
+
+ IL_1660f: ldloc V_34
+ IL_16613: ldc.i8 0x7
+ IL_1661c: add
+ IL_1661d: stloc V_23
+ IL_16621: ldloc V_44
+ IL_16625: ldc.i8 0x0
+ IL_1662e: add
+ IL_1662f: stloc V_35
+ IL_16633: ldc.i8 0x0
+ IL_1663c: stloc V_10
+ IL_16640: ldloc V_39
+ IL_16644: stloc V_36
+ IL_16648: ldloc V_10
+ IL_1664c: ldc.i8 0x1
+ IL_16655: add
+ IL_16656: stloc V_10
+ IL_1665a: ldloc V_10
+ IL_1665e: ldc.i8 0x2
+ IL_16667: blt IL_16640
+
+ IL_1666c: ldloc V_7
+ IL_16670: ldloc V_30
+ IL_16674: add
+ IL_16675: stloc V_15
+ IL_16679: ldloc V_9
+ IL_1667d: ldc.i8 0x1
+ IL_16686: add
+ IL_16687: stloc V_9
+ IL_1668b: ldloc V_9
+ IL_1668f: ldc.i8 0x1
+ IL_16698: blt IL_163e2
+
+ IL_1669d: br IL_16bfa
+
+ IL_166a2: ldc.i8 0x0
+ IL_166ab: stloc V_10
+ IL_166af: br IL_1672d
+
+ IL_166b4: ldc.i8 0x0
+ IL_166bd: stloc V_12
+ IL_166c1: ldloc V_12
+ IL_166c5: ldc.i8 0x1
+ IL_166ce: add
+ IL_166cf: stloc V_12
+ IL_166d3: ldloc V_12
+ IL_166d7: ldc.i8 0x0
+ IL_166e0: blt IL_166c1
+
+ IL_166e5: ldc.i8 0x0
+ IL_166ee: stloc V_12
+ IL_166f2: ldloc V_12
+ IL_166f6: ldc.i8 0x1
+ IL_166ff: add
+ IL_16700: stloc V_12
+ IL_16704: ldloc V_12
+ IL_16708: ldc.i8 0x2
+ IL_16711: blt IL_166f2
+
+ IL_16716: br IL_1671b
+
+ IL_1671b: ldloc V_47
+ IL_1671f: ldc.i8 0x2
+ IL_16728: add
+ IL_16729: stloc V_14
+ IL_1672d: ldc.i8 0x0
+ IL_16736: stloc V_11
+ IL_1673a: ldc.i8 0x0
+ IL_16743: stloc V_12
+ IL_16747: ldloc V_12
+ IL_1674b: ldc.i8 0x1
+ IL_16754: add
+ IL_16755: stloc V_12
+ IL_16759: ldloc V_12
+ IL_1675d: ldc.i8 0x2
+ IL_16766: blt IL_16747
+
+ IL_1676b: ldc.i8 0x0
+ IL_16774: stloc V_12
+ IL_16778: ldloc V_12
+ IL_1677c: ldc.i8 0x1
+ IL_16785: add
+ IL_16786: stloc V_12
+ IL_1678a: ldloc V_12
+ IL_1678e: ldc.i8 0x1
+ IL_16797: blt IL_16778
+
+ IL_1679c: br IL_167a1
+
+ IL_167a1: ldc.i8 0x6
+ IL_167aa: stloc V_25
+ IL_167ae: ldloc V_11
+ IL_167b2: ldc.i8 0x1
+ IL_167bb: add
+ IL_167bc: stloc V_11
+ IL_167c0: ldloc V_11
+ IL_167c4: ldc.i8 0x0
+ IL_167cd: blt IL_1673a
+
+ IL_167d2: ldc.i8 0x0
+ IL_167db: stloc V_11
+ IL_167df: ldc.i8 0x0
+ IL_167e8: stloc V_12
+ IL_167ec: ldloc V_12
+ IL_167f0: ldc.i8 0x1
+ IL_167f9: add
+ IL_167fa: stloc V_12
+ IL_167fe: ldloc V_12
+ IL_16802: ldc.i8 0x2
+ IL_1680b: blt IL_167ec
+
+ IL_16810: ldc.i8 0x0
+ IL_16819: stloc V_12
+ IL_1681d: ldloc V_12
+ IL_16821: ldc.i8 0x1
+ IL_1682a: add
+ IL_1682b: stloc V_12
+ IL_1682f: ldloc V_12
+ IL_16833: ldc.i8 0x1
+ IL_1683c: blt IL_1681d
+
+ IL_16841: ldc.i8 0x0
+ IL_1684a: stloc V_12
+ IL_1684e: ldloc V_12
+ IL_16852: ldc.i8 0x1
+ IL_1685b: add
+ IL_1685c: stloc V_12
+ IL_16860: ldloc V_12
+ IL_16864: ldc.i8 0x1
+ IL_1686d: blt IL_1684e
+
+ IL_16872: ldloc V_23
+ IL_16876: stloc V_19
+ IL_1687a: ldloc V_11
+ IL_1687e: ldc.i8 0x1
+ IL_16887: add
+ IL_16888: stloc V_11
+ IL_1688c: ldloc V_11
+ IL_16890: ldc.i8 0x0
+ IL_16899: blt IL_167df
+
+ IL_1689e: nop
+ IL_1689f: ldloc V_10
+ IL_168a3: ldc.i8 0x1
+ IL_168ac: add
+ IL_168ad: stloc V_10
+ IL_168b1: ldloc V_10
+ IL_168b5: ldc.i8 0x0
+ IL_168be: blt IL_166af
+
+ IL_168c3: ldc.i8 0x0
+ IL_168cc: stloc V_10
+ IL_168d0: ldc.i8 0x0
+ IL_168d9: stloc V_11
+ IL_168dd: ldc.i8 0x0
+ IL_168e6: stloc V_12
+ IL_168ea: ldloc V_12
+ IL_168ee: ldc.i8 0x1
+ IL_168f7: add
+ IL_168f8: stloc V_12
+ IL_168fc: ldloc V_12
+ IL_16900: ldc.i8 0x1
+ IL_16909: blt IL_168ea
+
+ IL_1690e: ldc.i8 0x0
+ IL_16917: stloc V_12
+ IL_1691b: ldloc V_12
+ IL_1691f: ldc.i8 0x1
+ IL_16928: add
+ IL_16929: stloc V_12
+ IL_1692d: ldloc V_12
+ IL_16931: ldc.i8 0x0
+ IL_1693a: blt IL_1691b
+
+ IL_1693f: ldc.i8 0x0
+ IL_16948: stloc V_12
+ IL_1694c: ldloc V_12
+ IL_16950: ldc.i8 0x1
+ IL_16959: add
+ IL_1695a: stloc V_12
+ IL_1695e: ldloc V_12
+ IL_16962: ldc.i8 0x0
+ IL_1696b: blt IL_1694c
+
+ IL_16970: ldc.i8 0x7
+ IL_16979: stloc V_46
+ IL_1697d: ldloc V_11
+ IL_16981: ldc.i8 0x1
+ IL_1698a: add
+ IL_1698b: stloc V_11
+ IL_1698f: ldloc V_11
+ IL_16993: ldc.i8 0x1
+ IL_1699c: blt IL_168dd
+
+ IL_169a1: ldc.i8 0x0
+ IL_169aa: stloc V_11
+ IL_169ae: ldloc V_30
+ IL_169b2: ldloc V_8
+ IL_169b6: add
+ IL_169b7: stloc V_34
+ IL_169bb: ldloc V_11
+ IL_169bf: ldc.i8 0x1
+ IL_169c8: add
+ IL_169c9: stloc V_11
+ IL_169cd: ldloc V_11
+ IL_169d1: ldc.i8 0x2
+ IL_169da: blt IL_169ae
+
+ IL_169df: ldc.i8 0x0
+ IL_169e8: stloc V_11
+ IL_169ec: ldc.i8 0x0
+ IL_169f5: stloc V_12
+ IL_169f9: ldloc V_12
+ IL_169fd: ldc.i8 0x1
+ IL_16a06: add
+ IL_16a07: stloc V_12
+ IL_16a0b: ldloc V_12
+ IL_16a0f: ldc.i8 0x1
+ IL_16a18: blt IL_169f9
+
+ IL_16a1d: ldc.i8 0x0
+ IL_16a26: stloc V_12
+ IL_16a2a: ldloc V_12
+ IL_16a2e: ldc.i8 0x1
+ IL_16a37: add
+ IL_16a38: stloc V_12
+ IL_16a3c: ldloc V_12
+ IL_16a40: ldc.i8 0x1
+ IL_16a49: blt IL_16a2a
+
+ IL_16a4e: ldloc V_36
+ IL_16a52: ldloc V_35
+ IL_16a56: add
+ IL_16a57: ldc.i8 0x3
+ IL_16a60: add
+ IL_16a61: stloc V_36
+ IL_16a65: ldloc V_11
+ IL_16a69: ldc.i8 0x1
+ IL_16a72: add
+ IL_16a73: stloc V_11
+ IL_16a77: ldloc V_11
+ IL_16a7b: ldc.i8 0x0
+ IL_16a84: blt IL_169ec
+
+ IL_16a89: nop
+ IL_16a8a: ldloc V_10
+ IL_16a8e: ldc.i8 0x1
+ IL_16a97: add
+ IL_16a98: stloc V_10
+ IL_16a9c: ldloc V_10
+ IL_16aa0: ldc.i8 0x1
+ IL_16aa9: blt IL_168d0
+
+ IL_16aae: ldc.i8 0x0
+ IL_16ab7: stloc V_10
+ IL_16abb: ldc.i8 0x0
+ IL_16ac4: stloc V_11
+ IL_16ac8: br IL_16acd
+
+ IL_16acd: br IL_16ad2
+
+ IL_16ad2: ldc.i8 0x0
+ IL_16adb: stloc V_12
+ IL_16adf: ldloc V_12
+ IL_16ae3: ldc.i8 0x1
+ IL_16aec: add
+ IL_16aed: stloc V_12
+ IL_16af1: ldloc V_12
+ IL_16af5: ldc.i8 0x2
+ IL_16afe: blt IL_16adf
+
+ IL_16b03: nop
+ IL_16b04: ldloc V_11
+ IL_16b08: ldc.i8 0x1
+ IL_16b11: add
+ IL_16b12: stloc V_11
+ IL_16b16: ldloc V_11
+ IL_16b1a: ldc.i8 0x1
+ IL_16b23: blt IL_16ac8
+
+ IL_16b28: ldc.i8 0x0
+ IL_16b31: stloc V_11
+ IL_16b35: ldc.i8 0x0
+ IL_16b3e: stloc V_12
+ IL_16b42: ldloc V_12
+ IL_16b46: ldc.i8 0x1
+ IL_16b4f: add
+ IL_16b50: stloc V_12
+ IL_16b54: ldloc V_12
+ IL_16b58: ldc.i8 0x1
+ IL_16b61: blt IL_16b42
+
+ IL_16b66: br IL_16b6b
+
+ IL_16b6b: ldc.i8 0x0
+ IL_16b74: stloc V_12
+ IL_16b78: ldloc V_12
+ IL_16b7c: ldc.i8 0x1
+ IL_16b85: add
+ IL_16b86: stloc V_12
+ IL_16b8a: ldloc V_12
+ IL_16b8e: ldc.i8 0x2
+ IL_16b97: blt IL_16b78
+
+ IL_16b9c: ldloc V_23
+ IL_16ba0: ldloc V_0
+ IL_16ba4: add
+ IL_16ba5: stloc V_23
+ IL_16ba9: ldloc V_11
+ IL_16bad: ldc.i8 0x1
+ IL_16bb6: add
+ IL_16bb7: stloc V_11
+ IL_16bbb: ldloc V_11
+ IL_16bbf: ldc.i8 0x1
+ IL_16bc8: blt IL_16b35
+
+ IL_16bcd: nop
+ IL_16bce: ldloc V_10
+ IL_16bd2: ldc.i8 0x1
+ IL_16bdb: add
+ IL_16bdc: stloc V_10
+ IL_16be0: ldloc V_10
+ IL_16be4: ldc.i8 0x1
+ IL_16bed: blt IL_16abb
+
+ IL_16bf2: ldloc V_0
+ IL_16bf6: stloc V_30
+ IL_16bfa: br IL_16c11
+
+ IL_16bff: ldloc V_13
+ IL_16c03: ldc.i8 0x9
+ IL_16c0c: add
+ IL_16c0d: stloc V_32
+ IL_16c11: ldloc V_43
+ IL_16c15: stloc V_24
+ IL_16c19: ldloc V_8
+ IL_16c1d: ldc.i8 0x1
+ IL_16c26: add
+ IL_16c27: stloc V_8
+ IL_16c2b: ldloc V_8
+ IL_16c2f: ldc.i8 0x1
+ IL_16c38: blt IL_16267
+
+ IL_16c3d: ldc.i8 0x0
+ IL_16c46: stloc V_8
+ IL_16c4a: ldc.i8 0x0
+ IL_16c53: stloc V_9
+ IL_16c57: ldc.i8 0x0
+ IL_16c60: stloc V_10
+ IL_16c64: ldloc V_1
+ IL_16c68: ldloc V_36
+ IL_16c6c: add
+ IL_16c6d: stloc V_19
+ IL_16c71: ldloc V_10
+ IL_16c75: ldc.i8 0x1
+ IL_16c7e: add
+ IL_16c7f: stloc V_10
+ IL_16c83: ldloc V_10
+ IL_16c87: ldc.i8 0x2
+ IL_16c90: blt IL_16c64
+
+ IL_16c95: ldc.i8 0x0
+ IL_16c9e: stloc V_10
+ IL_16ca2: ldc.i8 0x0
+ IL_16cab: stloc V_11
+ IL_16caf: ldc.i8 0x0
+ IL_16cb8: stloc V_12
+ IL_16cbc: ldloc V_12
+ IL_16cc0: ldc.i8 0x1
+ IL_16cc9: add
+ IL_16cca: stloc V_12
+ IL_16cce: ldloc V_12
+ IL_16cd2: ldc.i8 0x1
+ IL_16cdb: blt IL_16cbc
+
+ IL_16ce0: br IL_16ce5
+
+ IL_16ce5: ldc.i8 0x2
+ IL_16cee: stloc V_49
+ IL_16cf2: ldloc V_11
+ IL_16cf6: ldc.i8 0x1
+ IL_16cff: add
+ IL_16d00: stloc V_11
+ IL_16d04: ldloc V_11
+ IL_16d08: ldc.i8 0x2
+ IL_16d11: blt IL_16caf
+
+ IL_16d16: ldloc V_21
+ IL_16d1a: ldc.i8 0x4
+ IL_16d23: add
+ IL_16d24: stloc V_43
+ IL_16d28: ldloc V_10
+ IL_16d2c: ldc.i8 0x1
+ IL_16d35: add
+ IL_16d36: stloc V_10
+ IL_16d3a: ldloc V_10
+ IL_16d3e: ldc.i8 0x1
+ IL_16d47: blt IL_16ca2
+
+ IL_16d4c: ldc.i8 0x0
+ IL_16d55: stloc V_10
+ IL_16d59: br IL_16d75
+
+ IL_16d5e: br IL_16d63
+
+ IL_16d63: br IL_16d68
+
+ IL_16d68: ldloc V_31
+ IL_16d6c: ldloc V_33
+ IL_16d70: add
+ IL_16d71: stloc V_31
+ IL_16d75: br IL_16d7b
+
+ IL_16d7a: nop
+ IL_16d7b: ldloc V_49
+ IL_16d7f: ldloc V_20
+ IL_16d83: add
+ IL_16d84: stloc V_49
+ IL_16d88: ldloc V_10
+ IL_16d8c: ldc.i8 0x1
+ IL_16d95: add
+ IL_16d96: stloc V_10
+ IL_16d9a: ldloc V_10
+ IL_16d9e: ldc.i8 0x0
+ IL_16da7: blt IL_16d59
+
+ IL_16dac: ldc.i8 0x0
+ IL_16db5: stloc V_10
+ IL_16db9: ldc.i8 0x0
+ IL_16dc2: stloc V_11
+ IL_16dc6: br IL_16dcb
+
+ IL_16dcb: ldc.i8 0x0
+ IL_16dd4: stloc V_12
+ IL_16dd8: ldloc V_12
+ IL_16ddc: ldc.i8 0x1
+ IL_16de5: add
+ IL_16de6: stloc V_12
+ IL_16dea: ldloc V_12
+ IL_16dee: ldc.i8 0x1
+ IL_16df7: blt IL_16dd8
+
+ IL_16dfc: ldloc V_35
+ IL_16e00: stloc V_19
+ IL_16e04: ldloc V_11
+ IL_16e08: ldc.i8 0x1
+ IL_16e11: add
+ IL_16e12: stloc V_11
+ IL_16e16: ldloc V_11
+ IL_16e1a: ldc.i8 0x1
+ IL_16e23: blt IL_16dc6
+
+ IL_16e28: ldloc V_36
+ IL_16e2c: ldc.i8 0x3
+ IL_16e35: add
+ IL_16e36: stloc V_37
+ IL_16e3a: ldloc V_10
+ IL_16e3e: ldc.i8 0x1
+ IL_16e47: add
+ IL_16e48: stloc V_10
+ IL_16e4c: ldloc V_10
+ IL_16e50: ldc.i8 0x0
+ IL_16e59: blt IL_16db9
+
+ IL_16e5e: ldloc V_24
+ IL_16e62: ldloc V_26
+ IL_16e66: add
+ IL_16e67: stloc V_42
+ IL_16e6b: ldloc V_9
+ IL_16e6f: ldc.i8 0x1
+ IL_16e78: add
+ IL_16e79: stloc V_9
+ IL_16e7d: ldloc V_9
+ IL_16e81: ldc.i8 0x1
+ IL_16e8a: blt IL_16c57
+
+ IL_16e8f: ldc.i8 0x0
+ IL_16e98: stloc V_9
+ IL_16e9c: ldc.i8 0x0
+ IL_16ea5: stloc V_10
+ IL_16ea9: ldloc V_14
+ IL_16ead: ldloc V_49
+ IL_16eb1: add
+ IL_16eb2: ldc.i8 0x9
+ IL_16ebb: add
+ IL_16ebc: stloc V_14
+ IL_16ec0: ldloc V_10
+ IL_16ec4: ldc.i8 0x1
+ IL_16ecd: add
+ IL_16ece: stloc V_10
+ IL_16ed2: ldloc V_10
+ IL_16ed6: ldc.i8 0x0
+ IL_16edf: blt IL_16ea9
+
+ IL_16ee4: ldc.i8 0x0
+ IL_16eed: stloc V_10
+ IL_16ef1: ldc.i8 0x0
+ IL_16efa: stloc V_11
+ IL_16efe: ldc.i8 0x0
+ IL_16f07: stloc V_12
+ IL_16f0b: ldloc V_12
+ IL_16f0f: ldc.i8 0x1
+ IL_16f18: add
+ IL_16f19: stloc V_12
+ IL_16f1d: ldloc V_12
+ IL_16f21: ldc.i8 0x0
+ IL_16f2a: blt IL_16f0b
+
+ IL_16f2f: ldc.i8 0x0
+ IL_16f38: stloc V_12
+ IL_16f3c: ldloc V_12
+ IL_16f40: ldc.i8 0x1
+ IL_16f49: add
+ IL_16f4a: stloc V_12
+ IL_16f4e: ldloc V_12
+ IL_16f52: ldc.i8 0x1
+ IL_16f5b: blt IL_16f3c
+
+ IL_16f60: ldloc V_35
+ IL_16f64: ldloc V_8
+ IL_16f68: add
+ IL_16f69: stloc V_35
+ IL_16f6d: ldloc V_11
+ IL_16f71: ldc.i8 0x1
+ IL_16f7a: add
+ IL_16f7b: stloc V_11
+ IL_16f7f: ldloc V_11
+ IL_16f83: ldc.i8 0x1
+ IL_16f8c: blt IL_16efe
+
+ IL_16f91: ldc.i8 0x0
+ IL_16f9a: stloc V_11
+ IL_16f9e: ldc.i8 0x0
+ IL_16fa7: stloc V_12
+ IL_16fab: ldloc V_12
+ IL_16faf: ldc.i8 0x1
+ IL_16fb8: add
+ IL_16fb9: stloc V_12
+ IL_16fbd: ldloc V_12
+ IL_16fc1: ldc.i8 0x1
+ IL_16fca: blt IL_16fab
+
+ IL_16fcf: ldc.i8 0x0
+ IL_16fd8: stloc V_12
+ IL_16fdc: ldloc V_12
+ IL_16fe0: ldc.i8 0x1
+ IL_16fe9: add
+ IL_16fea: stloc V_12
+ IL_16fee: ldloc V_12
+ IL_16ff2: ldc.i8 0x2
+ IL_16ffb: blt IL_16fdc
+
+ IL_17000: ldc.i8 0x0
+ IL_17009: stloc V_12
+ IL_1700d: ldloc V_12
+ IL_17011: ldc.i8 0x1
+ IL_1701a: add
+ IL_1701b: stloc V_12
+ IL_1701f: ldloc V_12
+ IL_17023: ldc.i8 0x1
+ IL_1702c: blt IL_1700d
+
+ IL_17031: ldloc V_5
+ IL_17035: ldloc V_21
+ IL_17039: add
+ IL_1703a: stloc V_45
+ IL_1703e: ldloc V_11
+ IL_17042: ldc.i8 0x1
+ IL_1704b: add
+ IL_1704c: stloc V_11
+ IL_17050: ldloc V_11
+ IL_17054: ldc.i8 0x1
+ IL_1705d: blt IL_16f9e
+
+ IL_17062: br IL_17099
+
+ IL_17067: ldc.i8 0x0
+ IL_17070: stloc V_12
+ IL_17074: ldloc V_12
+ IL_17078: ldc.i8 0x1
+ IL_17081: add
+ IL_17082: stloc V_12
+ IL_17086: ldloc V_12
+ IL_1708a: ldc.i8 0x1
+ IL_17093: blt IL_17074
+
+ IL_17098: nop
+ IL_17099: ldloc V_12
+ IL_1709d: stloc V_49
+ IL_170a1: ldloc V_10
+ IL_170a5: ldc.i8 0x1
+ IL_170ae: add
+ IL_170af: stloc V_10
+ IL_170b3: ldloc V_10
+ IL_170b7: ldc.i8 0x1
+ IL_170c0: blt IL_16ef1
+
+ IL_170c5: br IL_17133
+
+ IL_170ca: br IL_17132
+
+ IL_170cf: ldc.i8 0x0
+ IL_170d8: stloc V_12
+ IL_170dc: ldloc V_12
+ IL_170e0: ldc.i8 0x1
+ IL_170e9: add
+ IL_170ea: stloc V_12
+ IL_170ee: ldloc V_12
+ IL_170f2: ldc.i8 0x0
+ IL_170fb: blt IL_170dc
+
+ IL_17100: ldc.i8 0x0
+ IL_17109: stloc V_12
+ IL_1710d: ldloc V_12
+ IL_17111: ldc.i8 0x1
+ IL_1711a: add
+ IL_1711b: stloc V_12
+ IL_1711f: ldloc V_12
+ IL_17123: ldc.i8 0x1
+ IL_1712c: blt IL_1710d
+
+ IL_17131: nop
+ IL_17132: nop
+ IL_17133: ldc.i8 0x2
+ IL_1713c: stloc V_44
+ IL_17140: ldloc V_9
+ IL_17144: ldc.i8 0x1
+ IL_1714d: add
+ IL_1714e: stloc V_9
+ IL_17152: ldloc V_9
+ IL_17156: ldc.i8 0x0
+ IL_1715f: blt IL_16e9c
+
+ IL_17164: ldc.i8 0x0
+ IL_1716d: stloc V_9
+ IL_17171: ldloc V_13
+ IL_17175: ldloc V_22
+ IL_17179: add
+ IL_1717a: stloc V_13
+ IL_1717e: ldloc V_9
+ IL_17182: ldc.i8 0x1
+ IL_1718b: add
+ IL_1718c: stloc V_9
+ IL_17190: ldloc V_9
+ IL_17194: ldc.i8 0x1
+ IL_1719d: blt IL_17171
+
+ IL_171a2: ldloc V_10
+ IL_171a6: ldc.i8 0x9
+ IL_171af: add
+ IL_171b0: stloc V_11
+ IL_171b4: ldloc V_8
+ IL_171b8: ldc.i8 0x1
+ IL_171c1: add
+ IL_171c2: stloc V_8
+ IL_171c6: ldloc V_8
+ IL_171ca: ldc.i8 0x1
+ IL_171d3: blt IL_16c4a
+
+ IL_171d8: ldloc V_2
+ IL_171dc: stloc V_38
+ IL_171e0: ldloc V_7
+ IL_171e4: ldc.i8 0x1
+ IL_171ed: add
+ IL_171ee: stloc V_7
+ IL_171f2: ldloc V_7
+ IL_171f6: ldc.i8 0x2
+ IL_171ff: blt IL_16248
+
+ IL_17204: ldloc V_7
+ IL_17208: ldloc V_41
+ IL_1720c: add
+ IL_1720d: ldc.i8 0x7
+ IL_17216: add
+ IL_17217: stloc V_7
+ IL_1721b: ldc.i8 0x0
+ IL_17224: stloc V_6
+ IL_17228: br IL_18162
+
+ IL_1722d: br IL_17883
+
+ IL_17232: br IL_17838
+
+ IL_17237: br IL_17300
+
+ IL_1723c: ldc.i8 0x0
+ IL_17245: stloc V_11
+ IL_17249: ldloc V_23
+ IL_1724d: ldc.i8 0x9
+ IL_17256: add
+ IL_17257: stloc V_16
+ IL_1725b: ldloc V_11
+ IL_1725f: ldc.i8 0x1
+ IL_17268: add
+ IL_17269: stloc V_11
+ IL_1726d: ldloc V_11
+ IL_17271: ldc.i8 0x0
+ IL_1727a: blt IL_17249
+
+ IL_1727f: br IL_172f3
+
+ IL_17284: ldc.i8 0x0
+ IL_1728d: stloc V_12
+ IL_17291: ldloc V_12
+ IL_17295: ldc.i8 0x1
+ IL_1729e: add
+ IL_1729f: stloc V_12
+ IL_172a3: ldloc V_12
+ IL_172a7: ldc.i8 0x0
+ IL_172b0: blt IL_17291
+
+ IL_172b5: ldc.i8 0x0
+ IL_172be: stloc V_12
+ IL_172c2: ldloc V_12
+ IL_172c6: ldc.i8 0x1
+ IL_172cf: add
+ IL_172d0: stloc V_12
+ IL_172d4: ldloc V_12
+ IL_172d8: ldc.i8 0x1
+ IL_172e1: blt IL_172c2
+
+ IL_172e6: ldloc V_2
+ IL_172ea: ldloc V_0
+ IL_172ee: add
+ IL_172ef: stloc V_13
+ IL_172f3: ldloc V_24
+ IL_172f7: ldloc V_29
+ IL_172fb: add
+ IL_172fc: stloc V_24
+ IL_17300: br IL_17558
+
+ IL_17305: br IL_173af
+
+ IL_1730a: ldc.i8 0x0
+ IL_17313: stloc V_12
+ IL_17317: ldloc V_12
+ IL_1731b: ldc.i8 0x1
+ IL_17324: add
+ IL_17325: stloc V_12
+ IL_17329: ldloc V_12
+ IL_1732d: ldc.i8 0x1
+ IL_17336: blt IL_17317
+
+ IL_1733b: br IL_17340
+
+ IL_17340: ldc.i8 0x0
+ IL_17349: stloc V_12
+ IL_1734d: ldloc V_12
+ IL_17351: ldc.i8 0x1
+ IL_1735a: add
+ IL_1735b: stloc V_12
+ IL_1735f: ldloc V_12
+ IL_17363: ldc.i8 0x1
+ IL_1736c: blt IL_1734d
+
+ IL_17371: ldc.i8 0x0
+ IL_1737a: stloc V_12
+ IL_1737e: ldloc V_12
+ IL_17382: ldc.i8 0x1
+ IL_1738b: add
+ IL_1738c: stloc V_12
+ IL_17390: ldloc V_12
+ IL_17394: ldc.i8 0x1
+ IL_1739d: blt IL_1737e
+
+ IL_173a2: ldc.i8 0x2
+ IL_173ab: stloc V_45
+ IL_173af: br IL_17423
+
+ IL_173b4: ldc.i8 0x0
+ IL_173bd: stloc V_12
+ IL_173c1: ldloc V_12
+ IL_173c5: ldc.i8 0x1
+ IL_173ce: add
+ IL_173cf: stloc V_12
+ IL_173d3: ldloc V_12
+ IL_173d7: ldc.i8 0x2
+ IL_173e0: blt IL_173c1
+
+ IL_173e5: ldc.i8 0x0
+ IL_173ee: stloc V_12
+ IL_173f2: ldloc V_12
+ IL_173f6: ldc.i8 0x1
+ IL_173ff: add
+ IL_17400: stloc V_12
+ IL_17404: ldloc V_12
+ IL_17408: ldc.i8 0x0
+ IL_17411: blt IL_173f2
+
+ IL_17416: ldloc V_36
+ IL_1741a: ldloc V_34
+ IL_1741e: add
+ IL_1741f: stloc V_36
+ IL_17423: ldc.i8 0x0
+ IL_1742c: stloc V_11
+ IL_17430: ldc.i8 0x0
+ IL_17439: stloc V_12
+ IL_1743d: ldloc V_12
+ IL_17441: ldc.i8 0x1
+ IL_1744a: add
+ IL_1744b: stloc V_12
+ IL_1744f: ldloc V_12
+ IL_17453: ldc.i8 0x2
+ IL_1745c: blt IL_1743d
+
+ IL_17461: br IL_17466
+
+ IL_17466: ldloc V_19
+ IL_1746a: ldc.i8 0x7
+ IL_17473: add
+ IL_17474: stloc V_39
+ IL_17478: ldloc V_11
+ IL_1747c: ldc.i8 0x1
+ IL_17485: add
+ IL_17486: stloc V_11
+ IL_1748a: ldloc V_11
+ IL_1748e: ldc.i8 0x1
+ IL_17497: blt IL_17430
+
+ IL_1749c: ldc.i8 0x0
+ IL_174a5: stloc V_11
+ IL_174a9: ldc.i8 0x0
+ IL_174b2: stloc V_12
+ IL_174b6: ldloc V_12
+ IL_174ba: ldc.i8 0x1
+ IL_174c3: add
+ IL_174c4: stloc V_12
+ IL_174c8: ldloc V_12
+ IL_174cc: ldc.i8 0x1
+ IL_174d5: blt IL_174b6
+
+ IL_174da: br IL_174df
+
+ IL_174df: ldc.i8 0x0
+ IL_174e8: stloc V_12
+ IL_174ec: ldloc V_12
+ IL_174f0: ldc.i8 0x1
+ IL_174f9: add
+ IL_174fa: stloc V_12
+ IL_174fe: ldloc V_12
+ IL_17502: ldc.i8 0x0
+ IL_1750b: blt IL_174ec
+
+ IL_17510: br IL_17515
+
+ IL_17515: ldloc V_19
+ IL_17519: ldloc V_30
+ IL_1751d: add
+ IL_1751e: stloc V_19
+ IL_17522: ldloc V_11
+ IL_17526: ldc.i8 0x1
+ IL_1752f: add
+ IL_17530: stloc V_11
+ IL_17534: ldloc V_11
+ IL_17538: ldc.i8 0x0
+ IL_17541: blt IL_174a9
+
+ IL_17546: ldloc V_29
+ IL_1754a: ldc.i8 0x4
+ IL_17553: add
+ IL_17554: stloc V_13
+ IL_17558: br IL_17684
+
+ IL_1755d: br IL_175aa
+
+ IL_17562: ldc.i8 0x0
+ IL_1756b: stloc V_12
+ IL_1756f: ldloc V_12
+ IL_17573: ldc.i8 0x1
+ IL_1757c: add
+ IL_1757d: stloc V_12
+ IL_17581: ldloc V_12
+ IL_17585: ldc.i8 0x0
+ IL_1758e: blt IL_1756f
+
+ IL_17593: ldloc V_13
+ IL_17597: ldloc V_41
+ IL_1759b: add
+ IL_1759c: ldc.i8 0x1
+ IL_175a5: add
+ IL_175a6: stloc V_13
+ IL_175aa: ldc.i8 0x0
+ IL_175b3: stloc V_11
+ IL_175b7: ldc.i8 0x0
+ IL_175c0: stloc V_12
+ IL_175c4: ldloc V_12
+ IL_175c8: ldc.i8 0x1
+ IL_175d1: add
+ IL_175d2: stloc V_12
+ IL_175d6: ldloc V_12
+ IL_175da: ldc.i8 0x1
+ IL_175e3: blt IL_175c4
+
+ IL_175e8: ldloc V_41
+ IL_175ec: stloc V_15
+ IL_175f0: ldloc V_11
+ IL_175f4: ldc.i8 0x1
+ IL_175fd: add
+ IL_175fe: stloc V_11
+ IL_17602: ldloc V_11
+ IL_17606: ldc.i8 0x2
+ IL_1760f: blt IL_175b7
+
+ IL_17614: ldc.i8 0x0
+ IL_1761d: stloc V_11
+ IL_17621: ldc.i8 0x0
+ IL_1762a: stloc V_12
+ IL_1762e: ldloc V_12
+ IL_17632: ldc.i8 0x1
+ IL_1763b: add
+ IL_1763c: stloc V_12
+ IL_17640: ldloc V_12
+ IL_17644: ldc.i8 0x1
+ IL_1764d: blt IL_1762e
+
+ IL_17652: nop
+ IL_17653: ldloc V_11
+ IL_17657: ldc.i8 0x1
+ IL_17660: add
+ IL_17661: stloc V_11
+ IL_17665: ldloc V_11
+ IL_17669: ldc.i8 0x2
+ IL_17672: blt IL_17621
+
+ IL_17677: ldloc V_27
+ IL_1767b: ldloc V_8
+ IL_1767f: add
+ IL_17680: stloc V_27
+ IL_17684: br IL_17830
+
+ IL_17689: ldc.i8 0x0
+ IL_17692: stloc V_11
+ IL_17696: ldloc V_46
+ IL_1769a: ldloc V_20
+ IL_1769e: add
+ IL_1769f: stloc V_49
+ IL_176a3: ldloc V_11
+ IL_176a7: ldc.i8 0x1
+ IL_176b0: add
+ IL_176b1: stloc V_11
+ IL_176b5: ldloc V_11
+ IL_176b9: ldc.i8 0x1
+ IL_176c2: blt IL_17696
+
+ IL_176c7: ldc.i8 0x0
+ IL_176d0: stloc V_11
+ IL_176d4: ldc.i8 0x0
+ IL_176dd: stloc V_12
+ IL_176e1: ldloc V_12
+ IL_176e5: ldc.i8 0x1
+ IL_176ee: add
+ IL_176ef: stloc V_12
+ IL_176f3: ldloc V_12
+ IL_176f7: ldc.i8 0x2
+ IL_17700: blt IL_176e1
+
+ IL_17705: ldloc V_13
+ IL_17709: ldloc V_44
+ IL_1770d: add
+ IL_1770e: stloc V_13
+ IL_17712: ldloc V_11
+ IL_17716: ldc.i8 0x1
+ IL_1771f: add
+ IL_17720: stloc V_11
+ IL_17724: ldloc V_11
+ IL_17728: ldc.i8 0x0
+ IL_17731: blt IL_176d4
+
+ IL_17736: ldc.i8 0x0
+ IL_1773f: stloc V_11
+ IL_17743: ldc.i8 0x0
+ IL_1774c: stloc V_12
+ IL_17750: ldloc V_12
+ IL_17754: ldc.i8 0x1
+ IL_1775d: add
+ IL_1775e: stloc V_12
+ IL_17762: ldloc V_12
+ IL_17766: ldc.i8 0x1
+ IL_1776f: blt IL_17750
+
+ IL_17774: br IL_17779
+
+ IL_17779: ldc.i8 0x0
+ IL_17782: stloc V_12
+ IL_17786: ldloc V_12
+ IL_1778a: ldc.i8 0x1
+ IL_17793: add
+ IL_17794: stloc V_12
+ IL_17798: ldloc V_12
+ IL_1779c: ldc.i8 0x1
+ IL_177a5: blt IL_17786
+
+ IL_177aa: ldloc V_18
+ IL_177ae: ldloc V_48
+ IL_177b2: add
+ IL_177b3: ldc.i8 0x4
+ IL_177bc: add
+ IL_177bd: stloc V_18
+ IL_177c1: ldloc V_11
+ IL_177c5: ldc.i8 0x1
+ IL_177ce: add
+ IL_177cf: stloc V_11
+ IL_177d3: ldloc V_11
+ IL_177d7: ldc.i8 0x2
+ IL_177e0: blt IL_17743
+
+ IL_177e5: br IL_17823
+
+ IL_177ea: ldc.i8 0x0
+ IL_177f3: stloc V_12
+ IL_177f7: ldloc V_12
+ IL_177fb: ldc.i8 0x1
+ IL_17804: add
+ IL_17805: stloc V_12
+ IL_17809: ldloc V_12
+ IL_1780d: ldc.i8 0x1
+ IL_17816: blt IL_177f7
+
+ IL_1781b: ldloc V_29
+ IL_1781f: stloc V_12
+ IL_17823: ldc.i8 0x8
+ IL_1782c: stloc V_24
+ IL_17830: ldloc V_3
+ IL_17834: stloc V_47
+ IL_17838: ldc.i8 0x0
+ IL_17841: stloc V_9
+ IL_17845: ldloc V_33
+ IL_17849: ldloc V_7
+ IL_1784d: add
+ IL_1784e: stloc V_30
+ IL_17852: ldloc V_9
+ IL_17856: ldc.i8 0x1
+ IL_1785f: add
+ IL_17860: stloc V_9
+ IL_17864: ldloc V_9
+ IL_17868: ldc.i8 0x0
+ IL_17871: blt IL_17845
+
+ IL_17876: ldloc V_11
+ IL_1787a: ldloc V_16
+ IL_1787e: add
+ IL_1787f: stloc V_17
+ IL_17883: ldc.i8 0x0
+ IL_1788c: stloc V_8
+ IL_17890: ldc.i8 0x0
+ IL_17899: stloc V_9
+ IL_1789d: ldc.i8 0x1
+ IL_178a6: stloc V_15
+ IL_178aa: ldloc V_9
+ IL_178ae: ldc.i8 0x1
+ IL_178b7: add
+ IL_178b8: stloc V_9
+ IL_178bc: ldloc V_9
+ IL_178c0: ldc.i8 0x2
+ IL_178c9: blt IL_1789d
+
+ IL_178ce: ldc.i8 0x0
+ IL_178d7: stloc V_9
+ IL_178db: ldc.i8 0x0
+ IL_178e4: stloc V_10
+ IL_178e8: ldc.i8 0x0
+ IL_178f1: stloc V_11
+ IL_178f5: br IL_178fa
+
+ IL_178fa: br IL_178ff
+
+ IL_178ff: ldc.i8 0x0
+ IL_17908: stloc V_12
+ IL_1790c: ldloc V_12
+ IL_17910: ldc.i8 0x1
+ IL_17919: add
+ IL_1791a: stloc V_12
+ IL_1791e: ldloc V_12
+ IL_17922: ldc.i8 0x1
+ IL_1792b: blt IL_1790c
+
+ IL_17930: ldloc V_49
+ IL_17934: ldloc V_26
+ IL_17938: add
+ IL_17939: ldc.i8 0x7
+ IL_17942: add
+ IL_17943: stloc V_49
+ IL_17947: ldloc V_11
+ IL_1794b: ldc.i8 0x1
+ IL_17954: add
+ IL_17955: stloc V_11
+ IL_17959: ldloc V_11
+ IL_1795d: ldc.i8 0x0
+ IL_17966: blt IL_178f5
+
+ IL_1796b: ldc.i8 0x0
+ IL_17974: stloc V_11
+ IL_17978: ldc.i8 0x0
+ IL_17981: stloc V_12
+ IL_17985: ldloc V_12
+ IL_17989: ldc.i8 0x1
+ IL_17992: add
+ IL_17993: stloc V_12
+ IL_17997: ldloc V_12
+ IL_1799b: ldc.i8 0x0
+ IL_179a4: blt IL_17985
+
+ IL_179a9: br IL_179ae
+
+ IL_179ae: ldloc V_26
+ IL_179b2: ldloc V_33
+ IL_179b6: add
+ IL_179b7: stloc V_26
+ IL_179bb: ldloc V_11
+ IL_179bf: ldc.i8 0x1
+ IL_179c8: add
+ IL_179c9: stloc V_11
+ IL_179cd: ldloc V_11
+ IL_179d1: ldc.i8 0x2
+ IL_179da: blt IL_17978
+
+ IL_179df: ldloc V_24
+ IL_179e3: ldc.i8 0x5
+ IL_179ec: add
+ IL_179ed: stloc V_37
+ IL_179f1: ldloc V_10
+ IL_179f5: ldc.i8 0x1
+ IL_179fe: add
+ IL_179ff: stloc V_10
+ IL_17a03: ldloc V_10
+ IL_17a07: ldc.i8 0x1
+ IL_17a10: blt IL_178e8
+
+ IL_17a15: br IL_17b4c
+
+ IL_17a1a: br IL_17a25
+
+ IL_17a1f: br IL_17a24
+
+ IL_17a24: nop
+ IL_17a25: br IL_17aca
+
+ IL_17a2a: ldc.i8 0x0
+ IL_17a33: stloc V_12
+ IL_17a37: ldloc V_12
+ IL_17a3b: ldc.i8 0x1
+ IL_17a44: add
+ IL_17a45: stloc V_12
+ IL_17a49: ldloc V_12
+ IL_17a4d: ldc.i8 0x2
+ IL_17a56: blt IL_17a37
+
+ IL_17a5b: ldc.i8 0x0
+ IL_17a64: stloc V_12
+ IL_17a68: ldloc V_12
+ IL_17a6c: ldc.i8 0x1
+ IL_17a75: add
+ IL_17a76: stloc V_12
+ IL_17a7a: ldloc V_12
+ IL_17a7e: ldc.i8 0x0
+ IL_17a87: blt IL_17a68
+
+ IL_17a8c: ldc.i8 0x0
+ IL_17a95: stloc V_12
+ IL_17a99: ldloc V_12
+ IL_17a9d: ldc.i8 0x1
+ IL_17aa6: add
+ IL_17aa7: stloc V_12
+ IL_17aab: ldloc V_12
+ IL_17aaf: ldc.i8 0x1
+ IL_17ab8: blt IL_17a99
+
+ IL_17abd: ldloc V_33
+ IL_17ac1: ldloc V_48
+ IL_17ac5: add
+ IL_17ac6: stloc V_33
+ IL_17aca: ldc.i8 0x0
+ IL_17ad3: stloc V_11
+ IL_17ad7: nop
+ IL_17ad8: ldloc V_11
+ IL_17adc: ldc.i8 0x1
+ IL_17ae5: add
+ IL_17ae6: stloc V_11
+ IL_17aea: ldloc V_11
+ IL_17aee: ldc.i8 0x1
+ IL_17af7: blt IL_17ad7
+
+ IL_17afc: ldc.i8 0x0
+ IL_17b05: stloc V_11
+ IL_17b09: ldloc V_37
+ IL_17b0d: ldloc V_42
+ IL_17b11: add
+ IL_17b12: stloc V_37
+ IL_17b16: ldloc V_11
+ IL_17b1a: ldc.i8 0x1
+ IL_17b23: add
+ IL_17b24: stloc V_11
+ IL_17b28: ldloc V_11
+ IL_17b2c: ldc.i8 0x1
+ IL_17b35: blt IL_17b09
+
+ IL_17b3a: ldloc V_33
+ IL_17b3e: ldc.i8 0x2
+ IL_17b47: add
+ IL_17b48: stloc V_18
+ IL_17b4c: ldc.i8 0x0
+ IL_17b55: stloc V_10
+ IL_17b59: ldc.i8 0x0
+ IL_17b62: stloc V_11
+ IL_17b66: br IL_17b6b
+
+ IL_17b6b: br IL_17b70
+
+ IL_17b70: br IL_17b75
+
+ IL_17b75: ldloc V_36
+ IL_17b79: stloc V_26
+ IL_17b7d: ldloc V_11
+ IL_17b81: ldc.i8 0x1
+ IL_17b8a: add
+ IL_17b8b: stloc V_11
+ IL_17b8f: ldloc V_11
+ IL_17b93: ldc.i8 0x1
+ IL_17b9c: blt IL_17b66
+
+ IL_17ba1: br IL_17c1f
+
+ IL_17ba6: ldc.i8 0x0
+ IL_17baf: stloc V_12
+ IL_17bb3: ldloc V_12
+ IL_17bb7: ldc.i8 0x1
+ IL_17bc0: add
+ IL_17bc1: stloc V_12
+ IL_17bc5: ldloc V_12
+ IL_17bc9: ldc.i8 0x1
+ IL_17bd2: blt IL_17bb3
+
+ IL_17bd7: br IL_17bdc
+
+ IL_17bdc: br IL_17be1
+
+ IL_17be1: ldc.i8 0x0
+ IL_17bea: stloc V_12
+ IL_17bee: ldloc V_12
+ IL_17bf2: ldc.i8 0x1
+ IL_17bfb: add
+ IL_17bfc: stloc V_12
+ IL_17c00: ldloc V_12
+ IL_17c04: ldc.i8 0x1
+ IL_17c0d: blt IL_17bee
+
+ IL_17c12: ldc.i8 0x7
+ IL_17c1b: stloc V_41
+ IL_17c1f: ldc.i8 0x0
+ IL_17c28: stloc V_11
+ IL_17c2c: ldc.i8 0x0
+ IL_17c35: stloc V_12
+ IL_17c39: ldloc V_12
+ IL_17c3d: ldc.i8 0x1
+ IL_17c46: add
+ IL_17c47: stloc V_12
+ IL_17c4b: ldloc V_12
+ IL_17c4f: ldc.i8 0x0
+ IL_17c58: blt IL_17c39
+
+ IL_17c5d: ldc.i8 0x0
+ IL_17c66: stloc V_12
+ IL_17c6a: ldloc V_12
+ IL_17c6e: ldc.i8 0x1
+ IL_17c77: add
+ IL_17c78: stloc V_12
+ IL_17c7c: ldloc V_12
+ IL_17c80: ldc.i8 0x0
+ IL_17c89: blt IL_17c6a
+
+ IL_17c8e: br IL_17c93
+
+ IL_17c93: ldc.i8 0x0
+ IL_17c9c: stloc V_12
+ IL_17ca0: ldloc V_12
+ IL_17ca4: ldc.i8 0x1
+ IL_17cad: add
+ IL_17cae: stloc V_12
+ IL_17cb2: ldloc V_12
+ IL_17cb6: ldc.i8 0x0
+ IL_17cbf: blt IL_17ca0
+
+ IL_17cc4: ldloc V_12
+ IL_17cc8: ldloc V_37
+ IL_17ccc: add
+ IL_17ccd: stloc V_42
+ IL_17cd1: ldloc V_11
+ IL_17cd5: ldc.i8 0x1
+ IL_17cde: add
+ IL_17cdf: stloc V_11
+ IL_17ce3: ldloc V_11
+ IL_17ce7: ldc.i8 0x2
+ IL_17cf0: blt IL_17c2c
+
+ IL_17cf5: ldc.i8 0x1
+ IL_17cfe: stloc V_14
+ IL_17d02: ldloc V_10
+ IL_17d06: ldc.i8 0x1
+ IL_17d0f: add
+ IL_17d10: stloc V_10
+ IL_17d14: ldloc V_10
+ IL_17d18: ldc.i8 0x2
+ IL_17d21: blt IL_17b59
+
+ IL_17d26: ldloc V_13
+ IL_17d2a: ldloc V_18
+ IL_17d2e: add
+ IL_17d2f: stloc V_29
+ IL_17d33: ldloc V_9
+ IL_17d37: ldc.i8 0x1
+ IL_17d40: add
+ IL_17d41: stloc V_9
+ IL_17d45: ldloc V_9
+ IL_17d49: ldc.i8 0x2
+ IL_17d52: blt IL_178db
+
+ IL_17d57: ldc.i8 0x0
+ IL_17d60: stloc V_9
+ IL_17d64: ldc.i8 0x0
+ IL_17d6d: stloc V_10
+ IL_17d71: ldc.i8 0x0
+ IL_17d7a: stloc V_11
+ IL_17d7e: br IL_17d83
+
+ IL_17d83: ldc.i8 0x0
+ IL_17d8c: stloc V_12
+ IL_17d90: ldloc V_12
+ IL_17d94: ldc.i8 0x1
+ IL_17d9d: add
+ IL_17d9e: stloc V_12
+ IL_17da2: ldloc V_12
+ IL_17da6: ldc.i8 0x1
+ IL_17daf: blt IL_17d90
+
+ IL_17db4: ldc.i8 0x0
+ IL_17dbd: stloc V_12
+ IL_17dc1: ldloc V_12
+ IL_17dc5: ldc.i8 0x1
+ IL_17dce: add
+ IL_17dcf: stloc V_12
+ IL_17dd3: ldloc V_12
+ IL_17dd7: ldc.i8 0x2
+ IL_17de0: blt IL_17dc1
+
+ IL_17de5: br IL_17dea
+
+ IL_17dea: ldloc V_48
+ IL_17dee: stloc V_28
+ IL_17df2: ldloc V_11
+ IL_17df6: ldc.i8 0x1
+ IL_17dff: add
+ IL_17e00: stloc V_11
+ IL_17e04: ldloc V_11
+ IL_17e08: ldc.i8 0x1
+ IL_17e11: blt IL_17d7e
+
+ IL_17e16: nop
+ IL_17e17: ldloc V_10
+ IL_17e1b: ldc.i8 0x1
+ IL_17e24: add
+ IL_17e25: stloc V_10
+ IL_17e29: ldloc V_10
+ IL_17e2d: ldc.i8 0x0
+ IL_17e36: blt IL_17d71
+
+ IL_17e3b: br IL_17f6c
+
+ IL_17e40: ldc.i8 0x0
+ IL_17e49: stloc V_11
+ IL_17e4d: ldc.i8 0x0
+ IL_17e56: stloc V_12
+ IL_17e5a: ldloc V_12
+ IL_17e5e: ldc.i8 0x1
+ IL_17e67: add
+ IL_17e68: stloc V_12
+ IL_17e6c: ldloc V_12
+ IL_17e70: ldc.i8 0x1
+ IL_17e79: blt IL_17e5a
+
+ IL_17e7e: ldloc V_0
+ IL_17e82: ldc.i8 0x9
+ IL_17e8b: add
+ IL_17e8c: stloc V_21
+ IL_17e90: ldloc V_11
+ IL_17e94: ldc.i8 0x1
+ IL_17e9d: add
+ IL_17e9e: stloc V_11
+ IL_17ea2: ldloc V_11
+ IL_17ea6: ldc.i8 0x0
+ IL_17eaf: blt IL_17e4d
+
+ IL_17eb4: ldc.i8 0x0
+ IL_17ebd: stloc V_11
+ IL_17ec1: ldc.i8 0x2
+ IL_17eca: stloc V_21
+ IL_17ece: ldloc V_11
+ IL_17ed2: ldc.i8 0x1
+ IL_17edb: add
+ IL_17edc: stloc V_11
+ IL_17ee0: ldloc V_11
+ IL_17ee4: ldc.i8 0x2
+ IL_17eed: blt IL_17ec1
+
+ IL_17ef2: br IL_17f6b
+
+ IL_17ef7: ldc.i8 0x0
+ IL_17f00: stloc V_12
+ IL_17f04: ldloc V_12
+ IL_17f08: ldc.i8 0x1
+ IL_17f11: add
+ IL_17f12: stloc V_12
+ IL_17f16: ldloc V_12
+ IL_17f1a: ldc.i8 0x0
+ IL_17f23: blt IL_17f04
+
+ IL_17f28: br IL_17f2d
+
+ IL_17f2d: ldc.i8 0x0
+ IL_17f36: stloc V_12
+ IL_17f3a: ldloc V_12
+ IL_17f3e: ldc.i8 0x1
+ IL_17f47: add
+ IL_17f48: stloc V_12
+ IL_17f4c: ldloc V_12
+ IL_17f50: ldc.i8 0x0
+ IL_17f59: blt IL_17f3a
+
+ IL_17f5e: ldloc V_47
+ IL_17f62: ldloc V_48
+ IL_17f66: add
+ IL_17f67: stloc V_13
+ IL_17f6b: nop
+ IL_17f6c: ldc.i8 0x0
+ IL_17f75: stloc V_10
+ IL_17f79: ldc.i8 0x0
+ IL_17f82: stloc V_11
+ IL_17f86: ldc.i8 0x0
+ IL_17f8f: stloc V_12
+ IL_17f93: ldloc V_12
+ IL_17f97: ldc.i8 0x1
+ IL_17fa0: add
+ IL_17fa1: stloc V_12
+ IL_17fa5: ldloc V_12
+ IL_17fa9: ldc.i8 0x1
+ IL_17fb2: blt IL_17f93
+
+ IL_17fb7: br IL_17fbc
+
+ IL_17fbc: ldloc V_24
+ IL_17fc0: ldloc V_45
+ IL_17fc4: add
+ IL_17fc5: ldc.i8 0x0
+ IL_17fce: add
+ IL_17fcf: stloc V_24
+ IL_17fd3: ldloc V_11
+ IL_17fd7: ldc.i8 0x1
+ IL_17fe0: add
+ IL_17fe1: stloc V_11
+ IL_17fe5: ldloc V_11
+ IL_17fe9: ldc.i8 0x0
+ IL_17ff2: blt IL_17f86
+
+ IL_17ff7: ldc.i8 0x0
+ IL_18000: stloc V_11
+ IL_18004: ldc.i8 0x0
+ IL_1800d: stloc V_12
+ IL_18011: ldloc V_12
+ IL_18015: ldc.i8 0x1
+ IL_1801e: add
+ IL_1801f: stloc V_12
+ IL_18023: ldloc V_12
+ IL_18027: ldc.i8 0x2
+ IL_18030: blt IL_18011
+
+ IL_18035: ldc.i8 0x0
+ IL_1803e: stloc V_12
+ IL_18042: ldloc V_12
+ IL_18046: ldc.i8 0x1
+ IL_1804f: add
+ IL_18050: stloc V_12
+ IL_18054: ldloc V_12
+ IL_18058: ldc.i8 0x1
+ IL_18061: blt IL_18042
+
+ IL_18066: ldloc V_36
+ IL_1806a: ldc.i8 0x3
+ IL_18073: add
+ IL_18074: stloc V_26
+ IL_18078: ldloc V_11
+ IL_1807c: ldc.i8 0x1
+ IL_18085: add
+ IL_18086: stloc V_11
+ IL_1808a: ldloc V_11
+ IL_1808e: ldc.i8 0x1
+ IL_18097: blt IL_18004
+
+ IL_1809c: ldloc V_21
+ IL_180a0: ldloc V_36
+ IL_180a4: add
+ IL_180a5: stloc V_21
+ IL_180a9: ldloc V_10
+ IL_180ad: ldc.i8 0x1
+ IL_180b6: add
+ IL_180b7: stloc V_10
+ IL_180bb: ldloc V_10
+ IL_180bf: ldc.i8 0x2
+ IL_180c8: blt IL_17f79
+
+ IL_180cd: ldloc V_22
+ IL_180d1: ldloc V_18
+ IL_180d5: add
+ IL_180d6: ldc.i8 0x9
+ IL_180df: add
+ IL_180e0: stloc V_22
+ IL_180e4: ldloc V_9
+ IL_180e8: ldc.i8 0x1
+ IL_180f1: add
+ IL_180f2: stloc V_9
+ IL_180f6: ldloc V_9
+ IL_180fa: ldc.i8 0x2
+ IL_18103: blt IL_17d64
+
+ IL_18108: ldloc V_12
+ IL_1810c: ldloc V_13
+ IL_18110: add
+ IL_18111: ldc.i8 0x3
+ IL_1811a: add
+ IL_1811b: stloc V_12
+ IL_1811f: ldloc V_8
+ IL_18123: ldc.i8 0x1
+ IL_1812c: add
+ IL_1812d: stloc V_8
+ IL_18131: ldloc V_8
+ IL_18135: ldc.i8 0x0
+ IL_1813e: blt IL_17890
+
+ IL_18143: br IL_18155
+
+ IL_18148: ldloc V_8
+ IL_1814c: ldloc V_11
+ IL_18150: add
+ IL_18151: stloc V_44
+ IL_18155: ldloc V_34
+ IL_18159: ldloc V_47
+ IL_1815d: add
+ IL_1815e: stloc V_17
+ IL_18162: ldc.i8 0x0
+ IL_1816b: stloc V_7
+ IL_1816f: ldc.i8 0x0
+ IL_18178: stloc V_8
+ IL_1817c: br IL_184ad
+
+ IL_18181: ldc.i8 0x0
+ IL_1818a: stloc V_10
+ IL_1818e: ldloc V_47
+ IL_18192: ldc.i8 0x2
+ IL_1819b: add
+ IL_1819c: stloc V_13
+ IL_181a0: ldloc V_10
+ IL_181a4: ldc.i8 0x1
+ IL_181ad: add
+ IL_181ae: stloc V_10
+ IL_181b2: ldloc V_10
+ IL_181b6: ldc.i8 0x1
+ IL_181bf: blt IL_1818e
+
+ IL_181c4: ldc.i8 0x0
+ IL_181cd: stloc V_10
+ IL_181d1: ldc.i8 0x0
+ IL_181da: stloc V_11
+ IL_181de: ldc.i8 0x0
+ IL_181e7: stloc V_12
+ IL_181eb: ldloc V_12
+ IL_181ef: ldc.i8 0x1
+ IL_181f8: add
+ IL_181f9: stloc V_12
+ IL_181fd: ldloc V_12
+ IL_18201: ldc.i8 0x2
+ IL_1820a: blt IL_181eb
+
+ IL_1820f: ldc.i8 0x0
+ IL_18218: stloc V_12
+ IL_1821c: ldloc V_12
+ IL_18220: ldc.i8 0x1
+ IL_18229: add
+ IL_1822a: stloc V_12
+ IL_1822e: ldloc V_12
+ IL_18232: ldc.i8 0x0
+ IL_1823b: blt IL_1821c
+
+ IL_18240: ldc.i8 0x0
+ IL_18249: stloc V_12
+ IL_1824d: ldloc V_12
+ IL_18251: ldc.i8 0x1
+ IL_1825a: add
+ IL_1825b: stloc V_12
+ IL_1825f: ldloc V_12
+ IL_18263: ldc.i8 0x2
+ IL_1826c: blt IL_1824d
+
+ IL_18271: ldc.i8 0x0
+ IL_1827a: stloc V_12
+ IL_1827e: ldloc V_12
+ IL_18282: ldc.i8 0x1
+ IL_1828b: add
+ IL_1828c: stloc V_12
+ IL_18290: ldloc V_12
+ IL_18294: ldc.i8 0x0
+ IL_1829d: blt IL_1827e
+
+ IL_182a2: ldloc V_31
+ IL_182a6: ldloc V_4
+ IL_182aa: add
+ IL_182ab: stloc V_31
+ IL_182af: ldloc V_11
+ IL_182b3: ldc.i8 0x1
+ IL_182bc: add
+ IL_182bd: stloc V_11
+ IL_182c1: ldloc V_11
+ IL_182c5: ldc.i8 0x2
+ IL_182ce: blt IL_181de
+
+ IL_182d3: ldc.i8 0x0
+ IL_182dc: stloc V_11
+ IL_182e0: ldc.i8 0x0
+ IL_182e9: stloc V_12
+ IL_182ed: ldloc V_12
+ IL_182f1: ldc.i8 0x1
+ IL_182fa: add
+ IL_182fb: stloc V_12
+ IL_182ff: ldloc V_12
+ IL_18303: ldc.i8 0x0
+ IL_1830c: blt IL_182ed
+
+ IL_18311: ldc.i8 0x6
+ IL_1831a: stloc V_32
+ IL_1831e: ldloc V_11
+ IL_18322: ldc.i8 0x1
+ IL_1832b: add
+ IL_1832c: stloc V_11
+ IL_18330: ldloc V_11
+ IL_18334: ldc.i8 0x1
+ IL_1833d: blt IL_182e0
+
+ IL_18342: br IL_1837e
+
+ IL_18347: ldc.i8 0x0
+ IL_18350: stloc V_12
+ IL_18354: ldloc V_12
+ IL_18358: ldc.i8 0x1
+ IL_18361: add
+ IL_18362: stloc V_12
+ IL_18366: ldloc V_12
+ IL_1836a: ldc.i8 0x0
+ IL_18373: blt IL_18354
+
+ IL_18378: br IL_1837d
+
+ IL_1837d: nop
+ IL_1837e: br IL_183c1
+
+ IL_18383: br IL_18388
+
+ IL_18388: ldc.i8 0x0
+ IL_18391: stloc V_12
+ IL_18395: ldloc V_12
+ IL_18399: ldc.i8 0x1
+ IL_183a2: add
+ IL_183a3: stloc V_12
+ IL_183a7: ldloc V_12
+ IL_183ab: ldc.i8 0x2
+ IL_183b4: blt IL_18395
+
+ IL_183b9: ldloc V_21
+ IL_183bd: stloc V_43
+ IL_183c1: ldc.i8 0x7
+ IL_183ca: stloc V_29
+ IL_183ce: ldloc V_10
+ IL_183d2: ldc.i8 0x1
+ IL_183db: add
+ IL_183dc: stloc V_10
+ IL_183e0: ldloc V_10
+ IL_183e4: ldc.i8 0x1
+ IL_183ed: blt IL_181d1
+
+ IL_183f2: ldc.i8 0x0
+ IL_183fb: stloc V_10
+ IL_183ff: ldloc V_43
+ IL_18403: ldc.i8 0x7
+ IL_1840c: add
+ IL_1840d: stloc V_11
+ IL_18411: ldloc V_10
+ IL_18415: ldc.i8 0x1
+ IL_1841e: add
+ IL_1841f: stloc V_10
+ IL_18423: ldloc V_10
+ IL_18427: ldc.i8 0x1
+ IL_18430: blt IL_183ff
+
+ IL_18435: ldc.i8 0x0
+ IL_1843e: stloc V_10
+ IL_18442: ldc.i8 0x0
+ IL_1844b: stloc V_11
+ IL_1844f: nop
+ IL_18450: ldloc V_11
+ IL_18454: ldc.i8 0x1
+ IL_1845d: add
+ IL_1845e: stloc V_11
+ IL_18462: ldloc V_11
+ IL_18466: ldc.i8 0x2
+ IL_1846f: blt IL_1844f
+
+ IL_18474: ldloc V_26
+ IL_18478: ldloc V_27
+ IL_1847c: add
+ IL_1847d: stloc V_26
+ IL_18481: ldloc V_10
+ IL_18485: ldc.i8 0x1
+ IL_1848e: add
+ IL_1848f: stloc V_10
+ IL_18493: ldloc V_10
+ IL_18497: ldc.i8 0x1
+ IL_184a0: blt IL_18442
+
+ IL_184a5: ldloc V_44
+ IL_184a9: stloc V_17
+ IL_184ad: ldc.i8 0x0
+ IL_184b6: stloc V_9
+ IL_184ba: ldc.i8 0x0
+ IL_184c3: stloc V_10
+ IL_184c7: nop
+ IL_184c8: ldloc V_10
+ IL_184cc: ldc.i8 0x1
+ IL_184d5: add
+ IL_184d6: stloc V_10
+ IL_184da: ldloc V_10
+ IL_184de: ldc.i8 0x1
+ IL_184e7: blt IL_184c7
+
+ IL_184ec: ldc.i8 0x0
+ IL_184f5: stloc V_10
+ IL_184f9: ldloc V_13
+ IL_184fd: ldc.i8 0x8
+ IL_18506: add
+ IL_18507: stloc V_14
+ IL_1850b: ldloc V_10
+ IL_1850f: ldc.i8 0x1
+ IL_18518: add
+ IL_18519: stloc V_10
+ IL_1851d: ldloc V_10
+ IL_18521: ldc.i8 0x0
+ IL_1852a: blt IL_184f9
+
+ IL_1852f: ldloc V_7
+ IL_18533: ldc.i8 0x7
+ IL_1853c: add
+ IL_1853d: stloc V_17
+ IL_18541: ldloc V_9
+ IL_18545: ldc.i8 0x1
+ IL_1854e: add
+ IL_1854f: stloc V_9
+ IL_18553: ldloc V_9
+ IL_18557: ldc.i8 0x1
+ IL_18560: blt IL_184ba
+
+ IL_18565: ldc.i8 0x0
+ IL_1856e: stloc V_9
+ IL_18572: br IL_18779
+
+ IL_18577: ldc.i8 0x0
+ IL_18580: stloc V_11
+ IL_18584: br IL_18589
+
+ IL_18589: ldc.i8 0x0
+ IL_18592: stloc V_12
+ IL_18596: ldloc V_12
+ IL_1859a: ldc.i8 0x1
+ IL_185a3: add
+ IL_185a4: stloc V_12
+ IL_185a8: ldloc V_12
+ IL_185ac: ldc.i8 0x0
+ IL_185b5: blt IL_18596
+
+ IL_185ba: ldc.i8 0x0
+ IL_185c3: stloc V_12
+ IL_185c7: ldloc V_12
+ IL_185cb: ldc.i8 0x1
+ IL_185d4: add
+ IL_185d5: stloc V_12
+ IL_185d9: ldloc V_12
+ IL_185dd: ldc.i8 0x2
+ IL_185e6: blt IL_185c7
+
+ IL_185eb: ldloc V_25
+ IL_185ef: stloc V_49
+ IL_185f3: ldloc V_11
+ IL_185f7: ldc.i8 0x1
+ IL_18600: add
+ IL_18601: stloc V_11
+ IL_18605: ldloc V_11
+ IL_18609: ldc.i8 0x2
+ IL_18612: blt IL_18584
+
+ IL_18617: ldc.i8 0x0
+ IL_18620: stloc V_11
+ IL_18624: br IL_18629
+
+ IL_18629: br IL_1862e
+
+ IL_1862e: br IL_18633
+
+ IL_18633: ldc.i8 0x0
+ IL_1863c: stloc V_12
+ IL_18640: ldloc V_12
+ IL_18644: ldc.i8 0x1
+ IL_1864d: add
+ IL_1864e: stloc V_12
+ IL_18652: ldloc V_12
+ IL_18656: ldc.i8 0x1
+ IL_1865f: blt IL_18640
+
+ IL_18664: ldc.i8 0x7
+ IL_1866d: stloc V_25
+ IL_18671: ldloc V_11
+ IL_18675: ldc.i8 0x1
+ IL_1867e: add
+ IL_1867f: stloc V_11
+ IL_18683: ldloc V_11
+ IL_18687: ldc.i8 0x0
+ IL_18690: blt IL_18624
+
+ IL_18695: br IL_1869b
+
+ IL_1869a: nop
+ IL_1869b: ldc.i8 0x0
+ IL_186a4: stloc V_11
+ IL_186a8: ldc.i8 0x0
+ IL_186b1: stloc V_12
+ IL_186b5: ldloc V_12
+ IL_186b9: ldc.i8 0x1
+ IL_186c2: add
+ IL_186c3: stloc V_12
+ IL_186c7: ldloc V_12
+ IL_186cb: ldc.i8 0x0
+ IL_186d4: blt IL_186b5
+
+ IL_186d9: ldc.i8 0x0
+ IL_186e2: stloc V_12
+ IL_186e6: ldloc V_12
+ IL_186ea: ldc.i8 0x1
+ IL_186f3: add
+ IL_186f4: stloc V_12
+ IL_186f8: ldloc V_12
+ IL_186fc: ldc.i8 0x0
+ IL_18705: blt IL_186e6
+
+ IL_1870a: ldc.i8 0x0
+ IL_18713: stloc V_12
+ IL_18717: ldloc V_12
+ IL_1871b: ldc.i8 0x1
+ IL_18724: add
+ IL_18725: stloc V_12
+ IL_18729: ldloc V_12
+ IL_1872d: ldc.i8 0x1
+ IL_18736: blt IL_18717
+
+ IL_1873b: ldc.i8 0x7
+ IL_18744: stloc V_44
+ IL_18748: ldloc V_11
+ IL_1874c: ldc.i8 0x1
+ IL_18755: add
+ IL_18756: stloc V_11
+ IL_1875a: ldloc V_11
+ IL_1875e: ldc.i8 0x1
+ IL_18767: blt IL_186a8
+
+ IL_1876c: ldloc V_6
+ IL_18770: ldloc V_24
+ IL_18774: add
+ IL_18775: stloc V_21
+ IL_18779: br IL_187c4
+
+ IL_1877e: ldc.i8 0x0
+ IL_18787: stloc V_11
+ IL_1878b: ldloc V_20
+ IL_1878f: ldloc V_33
+ IL_18793: add
+ IL_18794: stloc V_44
+ IL_18798: ldloc V_11
+ IL_1879c: ldc.i8 0x1
+ IL_187a5: add
+ IL_187a6: stloc V_11
+ IL_187aa: ldloc V_11
+ IL_187ae: ldc.i8 0x1
+ IL_187b7: blt IL_1878b
+
+ IL_187bc: ldloc V_24
+ IL_187c0: stloc V_24
+ IL_187c4: ldc.i8 0x0
+ IL_187cd: stloc V_10
+ IL_187d1: ldloc V_25
+ IL_187d5: ldc.i8 0x4
+ IL_187de: add
+ IL_187df: stloc V_47
+ IL_187e3: ldloc V_10
+ IL_187e7: ldc.i8 0x1
+ IL_187f0: add
+ IL_187f1: stloc V_10
+ IL_187f5: ldloc V_10
+ IL_187f9: ldc.i8 0x0
+ IL_18802: blt IL_187d1
+
+ IL_18807: ldc.i8 0x5
+ IL_18810: stloc V_40
+ IL_18814: ldloc V_9
+ IL_18818: ldc.i8 0x1
+ IL_18821: add
+ IL_18822: stloc V_9
+ IL_18826: ldloc V_9
+ IL_1882a: ldc.i8 0x1
+ IL_18833: blt IL_18572
+
+ IL_18838: br IL_18ef0
+
+ IL_1883d: ldc.i8 0x0
+ IL_18846: stloc V_10
+ IL_1884a: ldc.i8 0x0
+ IL_18853: stloc V_11
+ IL_18857: ldc.i8 0x0
+ IL_18860: stloc V_12
+ IL_18864: ldloc V_12
+ IL_18868: ldc.i8 0x1
+ IL_18871: add
+ IL_18872: stloc V_12
+ IL_18876: ldloc V_12
+ IL_1887a: ldc.i8 0x0
+ IL_18883: blt IL_18864
+
+ IL_18888: ldc.i8 0x0
+ IL_18891: stloc V_12
+ IL_18895: ldloc V_12
+ IL_18899: ldc.i8 0x1
+ IL_188a2: add
+ IL_188a3: stloc V_12
+ IL_188a7: ldloc V_12
+ IL_188ab: ldc.i8 0x2
+ IL_188b4: blt IL_18895
+
+ IL_188b9: br IL_188be
+
+ IL_188be: br IL_188c3
+
+ IL_188c3: ldloc V_13
+ IL_188c7: ldc.i8 0x5
+ IL_188d0: add
+ IL_188d1: stloc V_29
+ IL_188d5: ldloc V_11
+ IL_188d9: ldc.i8 0x1
+ IL_188e2: add
+ IL_188e3: stloc V_11
+ IL_188e7: ldloc V_11
+ IL_188eb: ldc.i8 0x2
+ IL_188f4: blt IL_18857
+
+ IL_188f9: br IL_18935
+
+ IL_188fe: ldc.i8 0x0
+ IL_18907: stloc V_12
+ IL_1890b: ldloc V_12
+ IL_1890f: ldc.i8 0x1
+ IL_18918: add
+ IL_18919: stloc V_12
+ IL_1891d: ldloc V_12
+ IL_18921: ldc.i8 0x1
+ IL_1892a: blt IL_1890b
+
+ IL_1892f: br IL_18934
+
+ IL_18934: nop
+ IL_18935: br IL_189da
+
+ IL_1893a: ldc.i8 0x0
+ IL_18943: stloc V_12
+ IL_18947: ldloc V_12
+ IL_1894b: ldc.i8 0x1
+ IL_18954: add
+ IL_18955: stloc V_12
+ IL_18959: ldloc V_12
+ IL_1895d: ldc.i8 0x2
+ IL_18966: blt IL_18947
+
+ IL_1896b: ldc.i8 0x0
+ IL_18974: stloc V_12
+ IL_18978: ldloc V_12
+ IL_1897c: ldc.i8 0x1
+ IL_18985: add
+ IL_18986: stloc V_12
+ IL_1898a: ldloc V_12
+ IL_1898e: ldc.i8 0x2
+ IL_18997: blt IL_18978
+
+ IL_1899c: ldc.i8 0x0
+ IL_189a5: stloc V_12
+ IL_189a9: ldloc V_12
+ IL_189ad: ldc.i8 0x1
+ IL_189b6: add
+ IL_189b7: stloc V_12
+ IL_189bb: ldloc V_12
+ IL_189bf: ldc.i8 0x0
+ IL_189c8: blt IL_189a9
+
+ IL_189cd: ldloc V_24
+ IL_189d1: ldloc V_19
+ IL_189d5: add
+ IL_189d6: stloc V_27
+ IL_189da: br IL_18a11
+
+ IL_189df: ldc.i8 0x0
+ IL_189e8: stloc V_12
+ IL_189ec: ldloc V_12
+ IL_189f0: ldc.i8 0x1
+ IL_189f9: add
+ IL_189fa: stloc V_12
+ IL_189fe: ldloc V_12
+ IL_18a02: ldc.i8 0x0
+ IL_18a0b: blt IL_189ec
+
+ IL_18a10: nop
+ IL_18a11: ldc.i8 0x3
+ IL_18a1a: stloc V_47
+ IL_18a1e: ldloc V_10
+ IL_18a22: ldc.i8 0x1
+ IL_18a2b: add
+ IL_18a2c: stloc V_10
+ IL_18a30: ldloc V_10
+ IL_18a34: ldc.i8 0x2
+ IL_18a3d: blt IL_1884a
+
+ IL_18a42: br IL_18cd2
+
+ IL_18a47: br IL_18aec
+
+ IL_18a4c: ldc.i8 0x0
+ IL_18a55: stloc V_12
+ IL_18a59: ldloc V_12
+ IL_18a5d: ldc.i8 0x1
+ IL_18a66: add
+ IL_18a67: stloc V_12
+ IL_18a6b: ldloc V_12
+ IL_18a6f: ldc.i8 0x1
+ IL_18a78: blt IL_18a59
+
+ IL_18a7d: ldc.i8 0x0
+ IL_18a86: stloc V_12
+ IL_18a8a: ldloc V_12
+ IL_18a8e: ldc.i8 0x1
+ IL_18a97: add
+ IL_18a98: stloc V_12
+ IL_18a9c: ldloc V_12
+ IL_18aa0: ldc.i8 0x2
+ IL_18aa9: blt IL_18a8a
+
+ IL_18aae: ldc.i8 0x0
+ IL_18ab7: stloc V_12
+ IL_18abb: ldloc V_12
+ IL_18abf: ldc.i8 0x1
+ IL_18ac8: add
+ IL_18ac9: stloc V_12
+ IL_18acd: ldloc V_12
+ IL_18ad1: ldc.i8 0x2
+ IL_18ada: blt IL_18abb
+
+ IL_18adf: ldc.i8 0x9
+ IL_18ae8: stloc V_38
+ IL_18aec: ldc.i8 0x0
+ IL_18af5: stloc V_11
+ IL_18af9: br IL_18afe
+
+ IL_18afe: ldc.i8 0x0
+ IL_18b07: stloc V_12
+ IL_18b0b: ldloc V_12
+ IL_18b0f: ldc.i8 0x1
+ IL_18b18: add
+ IL_18b19: stloc V_12
+ IL_18b1d: ldloc V_12
+ IL_18b21: ldc.i8 0x2
+ IL_18b2a: blt IL_18b0b
+
+ IL_18b2f: ldc.i8 0x0
+ IL_18b38: stloc V_12
+ IL_18b3c: ldloc V_12
+ IL_18b40: ldc.i8 0x1
+ IL_18b49: add
+ IL_18b4a: stloc V_12
+ IL_18b4e: ldloc V_12
+ IL_18b52: ldc.i8 0x0
+ IL_18b5b: blt IL_18b3c
+
+ IL_18b60: nop
+ IL_18b61: ldloc V_11
+ IL_18b65: ldc.i8 0x1
+ IL_18b6e: add
+ IL_18b6f: stloc V_11
+ IL_18b73: ldloc V_11
+ IL_18b77: ldc.i8 0x1
+ IL_18b80: blt IL_18af9
+
+ IL_18b85: ldc.i8 0x0
+ IL_18b8e: stloc V_11
+ IL_18b92: ldc.i8 0x0
+ IL_18b9b: stloc V_12
+ IL_18b9f: ldloc V_12
+ IL_18ba3: ldc.i8 0x1
+ IL_18bac: add
+ IL_18bad: stloc V_12
+ IL_18bb1: ldloc V_12
+ IL_18bb5: ldc.i8 0x1
+ IL_18bbe: blt IL_18b9f
+
+ IL_18bc3: br IL_18bc8
+
+ IL_18bc8: ldc.i8 0x0
+ IL_18bd1: stloc V_12
+ IL_18bd5: ldloc V_12
+ IL_18bd9: ldc.i8 0x1
+ IL_18be2: add
+ IL_18be3: stloc V_12
+ IL_18be7: ldloc V_12
+ IL_18beb: ldc.i8 0x1
+ IL_18bf4: blt IL_18bd5
+
+ IL_18bf9: ldc.i8 0x0
+ IL_18c02: stloc V_12
+ IL_18c06: ldloc V_12
+ IL_18c0a: ldc.i8 0x1
+ IL_18c13: add
+ IL_18c14: stloc V_12
+ IL_18c18: ldloc V_12
+ IL_18c1c: ldc.i8 0x2
+ IL_18c25: blt IL_18c06
+
+ IL_18c2a: ldloc V_27
+ IL_18c2e: stloc V_49
+ IL_18c32: ldloc V_11
+ IL_18c36: ldc.i8 0x1
+ IL_18c3f: add
+ IL_18c40: stloc V_11
+ IL_18c44: ldloc V_11
+ IL_18c48: ldc.i8 0x1
+ IL_18c51: blt IL_18b92
+
+ IL_18c56: ldc.i8 0x0
+ IL_18c5f: stloc V_11
+ IL_18c63: br IL_18c68
+
+ IL_18c68: ldc.i8 0x0
+ IL_18c71: stloc V_12
+ IL_18c75: ldloc V_12
+ IL_18c79: ldc.i8 0x1
+ IL_18c82: add
+ IL_18c83: stloc V_12
+ IL_18c87: ldloc V_12
+ IL_18c8b: ldc.i8 0x0
+ IL_18c94: blt IL_18c75
+
+ IL_18c99: ldloc V_21
+ IL_18c9d: stloc V_32
+ IL_18ca1: ldloc V_11
+ IL_18ca5: ldc.i8 0x1
+ IL_18cae: add
+ IL_18caf: stloc V_11
+ IL_18cb3: ldloc V_11
+ IL_18cb7: ldc.i8 0x1
+ IL_18cc0: blt IL_18c63
+
+ IL_18cc5: ldc.i8 0x8
+ IL_18cce: stloc V_31
+ IL_18cd2: br IL_18e36
+
+ IL_18cd7: br IL_18d81
+
+ IL_18cdc: br IL_18ce1
+
+ IL_18ce1: ldc.i8 0x0
+ IL_18cea: stloc V_12
+ IL_18cee: ldloc V_12
+ IL_18cf2: ldc.i8 0x1
+ IL_18cfb: add
+ IL_18cfc: stloc V_12
+ IL_18d00: ldloc V_12
+ IL_18d04: ldc.i8 0x1
+ IL_18d0d: blt IL_18cee
+
+ IL_18d12: ldc.i8 0x0
+ IL_18d1b: stloc V_12
+ IL_18d1f: ldloc V_12
+ IL_18d23: ldc.i8 0x1
+ IL_18d2c: add
+ IL_18d2d: stloc V_12
+ IL_18d31: ldloc V_12
+ IL_18d35: ldc.i8 0x1
+ IL_18d3e: blt IL_18d1f
+
+ IL_18d43: ldc.i8 0x0
+ IL_18d4c: stloc V_12
+ IL_18d50: ldloc V_12
+ IL_18d54: ldc.i8 0x1
+ IL_18d5d: add
+ IL_18d5e: stloc V_12
+ IL_18d62: ldloc V_12
+ IL_18d66: ldc.i8 0x1
+ IL_18d6f: blt IL_18d50
+
+ IL_18d74: ldloc V_9
+ IL_18d78: ldloc V_25
+ IL_18d7c: add
+ IL_18d7d: stloc V_48
+ IL_18d81: ldc.i8 0x0
+ IL_18d8a: stloc V_11
+ IL_18d8e: ldc.i8 0x0
+ IL_18d97: stloc V_12
+ IL_18d9b: ldloc V_12
+ IL_18d9f: ldc.i8 0x1
+ IL_18da8: add
+ IL_18da9: stloc V_12
+ IL_18dad: ldloc V_12
+ IL_18db1: ldc.i8 0x0
+ IL_18dba: blt IL_18d9b
+
+ IL_18dbf: br IL_18dc4
+
+ IL_18dc4: br IL_18dc9
+
+ IL_18dc9: ldc.i8 0x0
+ IL_18dd2: stloc V_12
+ IL_18dd6: ldloc V_12
+ IL_18dda: ldc.i8 0x1
+ IL_18de3: add
+ IL_18de4: stloc V_12
+ IL_18de8: ldloc V_12
+ IL_18dec: ldc.i8 0x2
+ IL_18df5: blt IL_18dd6
+
+ IL_18dfa: ldloc V_42
+ IL_18dfe: ldloc V_45
+ IL_18e02: add
+ IL_18e03: ldc.i8 0x9
+ IL_18e0c: add
+ IL_18e0d: stloc V_42
+ IL_18e11: ldloc V_11
+ IL_18e15: ldc.i8 0x1
+ IL_18e1e: add
+ IL_18e1f: stloc V_11
+ IL_18e23: ldloc V_11
+ IL_18e27: ldc.i8 0x1
+ IL_18e30: blt IL_18d8e
+
+ IL_18e35: nop
+ IL_18e36: ldc.i8 0x0
+ IL_18e3f: stloc V_10
+ IL_18e43: ldc.i8 0x0
+ IL_18e4c: stloc V_11
+ IL_18e50: br IL_18e55
+
+ IL_18e55: ldc.i8 0x0
+ IL_18e5e: stloc V_12
+ IL_18e62: ldloc V_12
+ IL_18e66: ldc.i8 0x1
+ IL_18e6f: add
+ IL_18e70: stloc V_12
+ IL_18e74: ldloc V_12
+ IL_18e78: ldc.i8 0x2
+ IL_18e81: blt IL_18e62
+
+ IL_18e86: ldloc V_42
+ IL_18e8a: stloc V_35
+ IL_18e8e: ldloc V_11
+ IL_18e92: ldc.i8 0x1
+ IL_18e9b: add
+ IL_18e9c: stloc V_11
+ IL_18ea0: ldloc V_11
+ IL_18ea4: ldc.i8 0x0
+ IL_18ead: blt IL_18e50
+
+ IL_18eb2: ldloc V_22
+ IL_18eb6: ldloc V_21
+ IL_18eba: add
+ IL_18ebb: stloc V_22
+ IL_18ebf: ldloc V_10
+ IL_18ec3: ldc.i8 0x1
+ IL_18ecc: add
+ IL_18ecd: stloc V_10
+ IL_18ed1: ldloc V_10
+ IL_18ed5: ldc.i8 0x0
+ IL_18ede: blt IL_18e43
+
+ IL_18ee3: ldloc V_33
+ IL_18ee7: ldloc V_34
+ IL_18eeb: add
+ IL_18eec: stloc V_19
+ IL_18ef0: ldloc V_38
+ IL_18ef4: ldc.i8 0x6
+ IL_18efd: add
+ IL_18efe: stloc V_38
+ IL_18f02: ldloc V_8
+ IL_18f06: ldc.i8 0x1
+ IL_18f0f: add
+ IL_18f10: stloc V_8
+ IL_18f14: ldloc V_8
+ IL_18f18: ldc.i8 0x2
+ IL_18f21: blt IL_1817c
+
+ IL_18f26: ldc.i8 0x0
+ IL_18f2f: stloc V_8
+ IL_18f33: ldc.i8 0x0
+ IL_18f3c: stloc V_9
+ IL_18f40: ldc.i8 0x0
+ IL_18f49: stloc V_10
+ IL_18f4d: ldc.i8 0x0
+ IL_18f56: stloc V_11
+ IL_18f5a: ldc.i8 0x0
+ IL_18f63: stloc V_12
+ IL_18f67: ldloc V_12
+ IL_18f6b: ldc.i8 0x1
+ IL_18f74: add
+ IL_18f75: stloc V_12
+ IL_18f79: ldloc V_12
+ IL_18f7d: ldc.i8 0x0
+ IL_18f86: blt IL_18f67
+
+ IL_18f8b: ldc.i8 0x0
+ IL_18f94: stloc V_12
+ IL_18f98: ldloc V_12
+ IL_18f9c: ldc.i8 0x1
+ IL_18fa5: add
+ IL_18fa6: stloc V_12
+ IL_18faa: ldloc V_12
+ IL_18fae: ldc.i8 0x1
+ IL_18fb7: blt IL_18f98
+
+ IL_18fbc: ldloc V_36
+ IL_18fc0: ldc.i8 0x7
+ IL_18fc9: add
+ IL_18fca: stloc V_13
+ IL_18fce: ldloc V_11
+ IL_18fd2: ldc.i8 0x1
+ IL_18fdb: add
+ IL_18fdc: stloc V_11
+ IL_18fe0: ldloc V_11
+ IL_18fe4: ldc.i8 0x2
+ IL_18fed: blt IL_18f5a
+
+ IL_18ff2: nop
+ IL_18ff3: ldloc V_10
+ IL_18ff7: ldc.i8 0x1
+ IL_19000: add
+ IL_19001: stloc V_10
+ IL_19005: ldloc V_10
+ IL_19009: ldc.i8 0x1
+ IL_19012: blt IL_18f4d
+
+ IL_19017: ldc.i8 0x0
+ IL_19020: stloc V_10
+ IL_19024: nop
+ IL_19025: ldloc V_10
+ IL_19029: ldc.i8 0x1
+ IL_19032: add
+ IL_19033: stloc V_10
+ IL_19037: ldloc V_10
+ IL_1903b: ldc.i8 0x2
+ IL_19044: blt IL_19024
+
+ IL_19049: br IL_1905b
+
+ IL_1904e: ldc.i8 0x5
+ IL_19057: stloc V_49
+ IL_1905b: ldc.i8 0x0
+ IL_19064: stloc V_10
+ IL_19068: ldc.i8 0x0
+ IL_19071: stloc V_11
+ IL_19075: ldc.i8 0x0
+ IL_1907e: stloc V_12
+ IL_19082: ldloc V_12
+ IL_19086: ldc.i8 0x1
+ IL_1908f: add
+ IL_19090: stloc V_12
+ IL_19094: ldloc V_12
+ IL_19098: ldc.i8 0x1
+ IL_190a1: blt IL_19082
+
+ IL_190a6: br IL_190ab
+
+ IL_190ab: ldloc V_45
+ IL_190af: ldloc V_25
+ IL_190b3: add
+ IL_190b4: ldc.i8 0x4
+ IL_190bd: add
+ IL_190be: stloc V_45
+ IL_190c2: ldloc V_11
+ IL_190c6: ldc.i8 0x1
+ IL_190cf: add
+ IL_190d0: stloc V_11
+ IL_190d4: ldloc V_11
+ IL_190d8: ldc.i8 0x2
+ IL_190e1: blt IL_19075
+
+ IL_190e6: br IL_190f8
+
+ IL_190eb: ldloc V_49
+ IL_190ef: ldloc V_47
+ IL_190f3: add
+ IL_190f4: stloc V_23
+ IL_190f8: br IL_19136
+
+ IL_190fd: ldc.i8 0x0
+ IL_19106: stloc V_12
+ IL_1910a: ldloc V_12
+ IL_1910e: ldc.i8 0x1
+ IL_19117: add
+ IL_19118: stloc V_12
+ IL_1911c: ldloc V_12
+ IL_19120: ldc.i8 0x1
+ IL_19129: blt IL_1910a
+
+ IL_1912e: ldloc V_41
+ IL_19132: stloc V_46
+ IL_19136: ldc.i8 0x0
+ IL_1913f: stloc V_11
+ IL_19143: br IL_19148
+
+ IL_19148: br IL_1914d
+
+ IL_1914d: br IL_19152
+
+ IL_19152: ldloc V_46
+ IL_19156: ldloc V_13
+ IL_1915a: add
+ IL_1915b: stloc V_46
+ IL_1915f: ldloc V_11
+ IL_19163: ldc.i8 0x1
+ IL_1916c: add
+ IL_1916d: stloc V_11
+ IL_19171: ldloc V_11
+ IL_19175: ldc.i8 0x2
+ IL_1917e: blt IL_19143
+
+ IL_19183: ldloc V_26
+ IL_19187: ldloc V_12
+ IL_1918b: add
+ IL_1918c: ldc.i8 0x5
+ IL_19195: add
+ IL_19196: stloc V_26
+ IL_1919a: ldloc V_10
+ IL_1919e: ldc.i8 0x1
+ IL_191a7: add
+ IL_191a8: stloc V_10
+ IL_191ac: ldloc V_10
+ IL_191b0: ldc.i8 0x0
+ IL_191b9: blt IL_19068
+
+ IL_191be: ldc.i8 0x6
+ IL_191c7: stloc V_43
+ IL_191cb: ldloc V_9
+ IL_191cf: ldc.i8 0x1
+ IL_191d8: add
+ IL_191d9: stloc V_9
+ IL_191dd: ldloc V_9
+ IL_191e1: ldc.i8 0x1
+ IL_191ea: blt IL_18f40
+
+ IL_191ef: ldc.i8 0x0
+ IL_191f8: stloc V_9
+ IL_191fc: br IL_19213
+
+ IL_19201: ldloc V_42
+ IL_19205: ldc.i8 0x1
+ IL_1920e: add
+ IL_1920f: stloc V_18
+ IL_19213: ldloc V_37
+ IL_19217: ldloc V_23
+ IL_1921b: add
+ IL_1921c: stloc V_37
+ IL_19220: ldloc V_9
+ IL_19224: ldc.i8 0x1
+ IL_1922d: add
+ IL_1922e: stloc V_9
+ IL_19232: ldloc V_9
+ IL_19236: ldc.i8 0x2
+ IL_1923f: blt IL_191fc
+
+ IL_19244: br IL_1944b
+
+ IL_19249: ldc.i8 0x0
+ IL_19252: stloc V_10
+ IL_19256: br IL_192a8
+
+ IL_1925b: br IL_19260
+
+ IL_19260: br IL_19265
+
+ IL_19265: ldc.i8 0x0
+ IL_1926e: stloc V_12
+ IL_19272: ldloc V_12
+ IL_19276: ldc.i8 0x1
+ IL_1927f: add
+ IL_19280: stloc V_12
+ IL_19284: ldloc V_12
+ IL_19288: ldc.i8 0x1
+ IL_19291: blt IL_19272
+
+ IL_19296: br IL_1929b
+
+ IL_1929b: ldloc V_39
+ IL_1929f: ldloc V_19
+ IL_192a3: add
+ IL_192a4: stloc V_39
+ IL_192a8: ldloc V_30
+ IL_192ac: ldloc V_46
+ IL_192b0: add
+ IL_192b1: ldc.i8 0x1
+ IL_192ba: add
+ IL_192bb: stloc V_30
+ IL_192bf: ldloc V_10
+ IL_192c3: ldc.i8 0x1
+ IL_192cc: add
+ IL_192cd: stloc V_10
+ IL_192d1: ldloc V_10
+ IL_192d5: ldc.i8 0x1
+ IL_192de: blt IL_19256
+
+ IL_192e3: ldc.i8 0x0
+ IL_192ec: stloc V_10
+ IL_192f0: br IL_19369
+
+ IL_192f5: ldc.i8 0x0
+ IL_192fe: stloc V_12
+ IL_19302: ldloc V_12
+ IL_19306: ldc.i8 0x1
+ IL_1930f: add
+ IL_19310: stloc V_12
+ IL_19314: ldloc V_12
+ IL_19318: ldc.i8 0x0
+ IL_19321: blt IL_19302
+
+ IL_19326: br IL_1932b
+
+ IL_1932b: ldc.i8 0x0
+ IL_19334: stloc V_12
+ IL_19338: ldloc V_12
+ IL_1933c: ldc.i8 0x1
+ IL_19345: add
+ IL_19346: stloc V_12
+ IL_1934a: ldloc V_12
+ IL_1934e: ldc.i8 0x0
+ IL_19357: blt IL_19338
+
+ IL_1935c: ldloc V_30
+ IL_19360: ldloc V_6
+ IL_19364: add
+ IL_19365: stloc V_30
+ IL_19369: ldc.i8 0x0
+ IL_19372: stloc V_11
+ IL_19376: ldloc V_16
+ IL_1937a: ldloc V_42
+ IL_1937e: add
+ IL_1937f: ldc.i8 0x4
+ IL_19388: add
+ IL_19389: stloc V_16
+ IL_1938d: ldloc V_11
+ IL_19391: ldc.i8 0x1
+ IL_1939a: add
+ IL_1939b: stloc V_11
+ IL_1939f: ldloc V_11
+ IL_193a3: ldc.i8 0x0
+ IL_193ac: blt IL_19376
+
+ IL_193b1: ldc.i8 0x0
+ IL_193ba: stloc V_11
+ IL_193be: br IL_193c3
+
+ IL_193c3: ldloc V_21
+ IL_193c7: ldloc V_20
+ IL_193cb: add
+ IL_193cc: ldc.i8 0x4
+ IL_193d5: add
+ IL_193d6: stloc V_21
+ IL_193da: ldloc V_11
+ IL_193de: ldc.i8 0x1
+ IL_193e7: add
+ IL_193e8: stloc V_11
+ IL_193ec: ldloc V_11
+ IL_193f0: ldc.i8 0x0
+ IL_193f9: blt IL_193be
+
+ IL_193fe: ldloc V_23
+ IL_19402: ldloc V_23
+ IL_19406: add
+ IL_19407: ldc.i8 0x1
+ IL_19410: add
+ IL_19411: stloc V_23
+ IL_19415: ldloc V_10
+ IL_19419: ldc.i8 0x1
+ IL_19422: add
+ IL_19423: stloc V_10
+ IL_19427: ldloc V_10
+ IL_1942b: ldc.i8 0x1
+ IL_19434: blt IL_192f0
+
+ IL_19439: ldloc V_26
+ IL_1943d: ldc.i8 0x6
+ IL_19446: add
+ IL_19447: stloc V_32
+ IL_1944b: br IL_1945d
+
+ IL_19450: ldc.i8 0x1
+ IL_19459: stloc V_23
+ IL_1945d: ldc.i8 0x6
+ IL_19466: stloc V_19
+ IL_1946a: ldloc V_8
+ IL_1946e: ldc.i8 0x1
+ IL_19477: add
+ IL_19478: stloc V_8
+ IL_1947c: ldloc V_8
+ IL_19480: ldc.i8 0x2
+ IL_19489: blt IL_18f33
+
+ IL_1948e: ldloc V_27
+ IL_19492: ldloc V_31
+ IL_19496: add
+ IL_19497: stloc V_27
+ IL_1949b: ldloc V_7
+ IL_1949f: ldc.i8 0x1
+ IL_194a8: add
+ IL_194a9: stloc V_7
+ IL_194ad: ldloc V_7
+ IL_194b1: ldc.i8 0x2
+ IL_194ba: blt IL_1816f
+
+ IL_194bf: ldloc V_0
+ IL_194c3: stloc V_25
+ IL_194c7: ldloc V_6
+ IL_194cb: ldc.i8 0x1
+ IL_194d4: add
+ IL_194d5: stloc V_6
+ IL_194d9: ldloc V_6
+ IL_194dd: ldc.i8 0x1
+ IL_194e6: blt IL_17228
+
+ IL_194eb: br IL_1b5c0
+
+ IL_194f0: ldc.i8 0x0
+ IL_194f9: stloc V_7
+ IL_194fd: br IL_1a1f3
+
+ IL_19502: ldc.i8 0x0
+ IL_1950b: stloc V_9
+ IL_1950f: ldc.i8 0x0
+ IL_19518: stloc V_10
+ IL_1951c: br IL_19538
+
+ IL_19521: ldloc V_41
+ IL_19525: ldloc V_15
+ IL_19529: add
+ IL_1952a: ldc.i8 0x3
+ IL_19533: add
+ IL_19534: stloc V_41
+ IL_19538: ldc.i8 0x0
+ IL_19541: stloc V_11
+ IL_19545: ldc.i8 0x0
+ IL_1954e: stloc V_12
+ IL_19552: ldloc V_12
+ IL_19556: ldc.i8 0x1
+ IL_1955f: add
+ IL_19560: stloc V_12
+ IL_19564: ldloc V_12
+ IL_19568: ldc.i8 0x1
+ IL_19571: blt IL_19552
+
+ IL_19576: br IL_1957b
+
+ IL_1957b: ldloc V_13
+ IL_1957f: ldloc V_17
+ IL_19583: add
+ IL_19584: stloc V_21
+ IL_19588: ldloc V_11
+ IL_1958c: ldc.i8 0x1
+ IL_19595: add
+ IL_19596: stloc V_11
+ IL_1959a: ldloc V_11
+ IL_1959e: ldc.i8 0x0
+ IL_195a7: blt IL_19545
+
+ IL_195ac: ldloc V_37
+ IL_195b0: stloc V_45
+ IL_195b4: ldloc V_10
+ IL_195b8: ldc.i8 0x1
+ IL_195c1: add
+ IL_195c2: stloc V_10
+ IL_195c6: ldloc V_10
+ IL_195ca: ldc.i8 0x0
+ IL_195d3: blt IL_1951c
+
+ IL_195d8: ldc.i8 0x0
+ IL_195e1: stloc V_10
+ IL_195e5: ldc.i8 0x0
+ IL_195ee: stloc V_11
+ IL_195f2: ldloc V_43
+ IL_195f6: ldloc V_32
+ IL_195fa: add
+ IL_195fb: stloc V_43
+ IL_195ff: ldloc V_11
+ IL_19603: ldc.i8 0x1
+ IL_1960c: add
+ IL_1960d: stloc V_11
+ IL_19611: ldloc V_11
+ IL_19615: ldc.i8 0x2
+ IL_1961e: blt IL_195f2
+
+ IL_19623: ldc.i8 0x0
+ IL_1962c: stloc V_11
+ IL_19630: nop
+ IL_19631: ldloc V_11
+ IL_19635: ldc.i8 0x1
+ IL_1963e: add
+ IL_1963f: stloc V_11
+ IL_19643: ldloc V_11
+ IL_19647: ldc.i8 0x2
+ IL_19650: blt IL_19630
+
+ IL_19655: ldc.i8 0x0
+ IL_1965e: stloc V_11
+ IL_19662: ldc.i8 0x0
+ IL_1966b: stloc V_12
+ IL_1966f: ldloc V_12
+ IL_19673: ldc.i8 0x1
+ IL_1967c: add
+ IL_1967d: stloc V_12
+ IL_19681: ldloc V_12
+ IL_19685: ldc.i8 0x1
+ IL_1968e: blt IL_1966f
+
+ IL_19693: br IL_19698
+
+ IL_19698: ldc.i8 0x0
+ IL_196a1: stloc V_12
+ IL_196a5: ldloc V_12
+ IL_196a9: ldc.i8 0x1
+ IL_196b2: add
+ IL_196b3: stloc V_12
+ IL_196b7: ldloc V_12
+ IL_196bb: ldc.i8 0x0
+ IL_196c4: blt IL_196a5
+
+ IL_196c9: ldloc V_2
+ IL_196cd: ldloc V_31
+ IL_196d1: add
+ IL_196d2: stloc V_37
+ IL_196d6: ldloc V_11
+ IL_196da: ldc.i8 0x1
+ IL_196e3: add
+ IL_196e4: stloc V_11
+ IL_196e8: ldloc V_11
+ IL_196ec: ldc.i8 0x1
+ IL_196f5: blt IL_19662
+
+ IL_196fa: ldc.i8 0x0
+ IL_19703: stloc V_11
+ IL_19707: ldc.i8 0x0
+ IL_19710: stloc V_12
+ IL_19714: ldloc V_12
+ IL_19718: ldc.i8 0x1
+ IL_19721: add
+ IL_19722: stloc V_12
+ IL_19726: ldloc V_12
+ IL_1972a: ldc.i8 0x1
+ IL_19733: blt IL_19714
+
+ IL_19738: ldc.i8 0x0
+ IL_19741: stloc V_12
+ IL_19745: ldloc V_12
+ IL_19749: ldc.i8 0x1
+ IL_19752: add
+ IL_19753: stloc V_12
+ IL_19757: ldloc V_12
+ IL_1975b: ldc.i8 0x1
+ IL_19764: blt IL_19745
+
+ IL_19769: br IL_1976e
+
+ IL_1976e: ldc.i8 0x0
+ IL_19777: stloc V_12
+ IL_1977b: ldloc V_12
+ IL_1977f: ldc.i8 0x1
+ IL_19788: add
+ IL_19789: stloc V_12
+ IL_1978d: ldloc V_12
+ IL_19791: ldc.i8 0x0
+ IL_1979a: blt IL_1977b
+
+ IL_1979f: ldloc V_4
+ IL_197a3: ldc.i8 0x3
+ IL_197ac: add
+ IL_197ad: stloc V_44
+ IL_197b1: ldloc V_11
+ IL_197b5: ldc.i8 0x1
+ IL_197be: add
+ IL_197bf: stloc V_11
+ IL_197c3: ldloc V_11
+ IL_197c7: ldc.i8 0x1
+ IL_197d0: blt IL_19707
+
+ IL_197d5: ldloc V_10
+ IL_197d9: stloc V_29
+ IL_197dd: ldloc V_10
+ IL_197e1: ldc.i8 0x1
+ IL_197ea: add
+ IL_197eb: stloc V_10
+ IL_197ef: ldloc V_10
+ IL_197f3: ldc.i8 0x2
+ IL_197fc: blt IL_195e5
+
+ IL_19801: ldc.i8 0x0
+ IL_1980a: stloc V_10
+ IL_1980e: ldc.i8 0x0
+ IL_19817: stloc V_11
+ IL_1981b: ldc.i8 0x0
+ IL_19824: stloc V_12
+ IL_19828: ldloc V_12
+ IL_1982c: ldc.i8 0x1
+ IL_19835: add
+ IL_19836: stloc V_12
+ IL_1983a: ldloc V_12
+ IL_1983e: ldc.i8 0x0
+ IL_19847: blt IL_19828
+
+ IL_1984c: ldc.i8 0x0
+ IL_19855: stloc V_12
+ IL_19859: ldloc V_12
+ IL_1985d: ldc.i8 0x1
+ IL_19866: add
+ IL_19867: stloc V_12
+ IL_1986b: ldloc V_12
+ IL_1986f: ldc.i8 0x1
+ IL_19878: blt IL_19859
+
+ IL_1987d: ldloc V_18
+ IL_19881: stloc V_19
+ IL_19885: ldloc V_11
+ IL_19889: ldc.i8 0x1
+ IL_19892: add
+ IL_19893: stloc V_11
+ IL_19897: ldloc V_11
+ IL_1989b: ldc.i8 0x1
+ IL_198a4: blt IL_1981b
+
+ IL_198a9: ldc.i8 0x0
+ IL_198b2: stloc V_11
+ IL_198b6: ldloc V_35
+ IL_198ba: stloc V_45
+ IL_198be: ldloc V_11
+ IL_198c2: ldc.i8 0x1
+ IL_198cb: add
+ IL_198cc: stloc V_11
+ IL_198d0: ldloc V_11
+ IL_198d4: ldc.i8 0x0
+ IL_198dd: blt IL_198b6
+
+ IL_198e2: ldc.i8 0x0
+ IL_198eb: stloc V_11
+ IL_198ef: ldc.i8 0x0
+ IL_198f8: stloc V_12
+ IL_198fc: ldloc V_12
+ IL_19900: ldc.i8 0x1
+ IL_19909: add
+ IL_1990a: stloc V_12
+ IL_1990e: ldloc V_12
+ IL_19912: ldc.i8 0x1
+ IL_1991b: blt IL_198fc
+
+ IL_19920: ldc.i8 0x0
+ IL_19929: stloc V_12
+ IL_1992d: ldloc V_12
+ IL_19931: ldc.i8 0x1
+ IL_1993a: add
+ IL_1993b: stloc V_12
+ IL_1993f: ldloc V_12
+ IL_19943: ldc.i8 0x2
+ IL_1994c: blt IL_1992d
+
+ IL_19951: ldloc V_45
+ IL_19955: ldloc V_44
+ IL_19959: add
+ IL_1995a: ldc.i8 0x1
+ IL_19963: add
+ IL_19964: stloc V_45
+ IL_19968: ldloc V_11
+ IL_1996c: ldc.i8 0x1
+ IL_19975: add
+ IL_19976: stloc V_11
+ IL_1997a: ldloc V_11
+ IL_1997e: ldc.i8 0x0
+ IL_19987: blt IL_198ef
+
+ IL_1998c: ldc.i8 0x0
+ IL_19995: stloc V_11
+ IL_19999: nop
+ IL_1999a: ldloc V_11
+ IL_1999e: ldc.i8 0x1
+ IL_199a7: add
+ IL_199a8: stloc V_11
+ IL_199ac: ldloc V_11
+ IL_199b0: ldc.i8 0x2
+ IL_199b9: blt IL_19999
+
+ IL_199be: ldloc V_12
+ IL_199c2: ldc.i8 0x3
+ IL_199cb: add
+ IL_199cc: stloc V_25
+ IL_199d0: ldloc V_10
+ IL_199d4: ldc.i8 0x1
+ IL_199dd: add
+ IL_199de: stloc V_10
+ IL_199e2: ldloc V_10
+ IL_199e6: ldc.i8 0x1
+ IL_199ef: blt IL_1980e
+
+ IL_199f4: ldloc V_14
+ IL_199f8: ldc.i8 0x8
+ IL_19a01: add
+ IL_19a02: stloc V_40
+ IL_19a06: ldloc V_9
+ IL_19a0a: ldc.i8 0x1
+ IL_19a13: add
+ IL_19a14: stloc V_9
+ IL_19a18: ldloc V_9
+ IL_19a1c: ldc.i8 0x0
+ IL_19a25: blt IL_1950f
+
+ IL_19a2a: br IL_19d1d
+
+ IL_19a2f: ldc.i8 0x0
+ IL_19a38: stloc V_10
+ IL_19a3c: ldc.i8 0x0
+ IL_19a45: stloc V_11
+ IL_19a49: ldc.i8 0x0
+ IL_19a52: stloc V_12
+ IL_19a56: ldloc V_12
+ IL_19a5a: ldc.i8 0x1
+ IL_19a63: add
+ IL_19a64: stloc V_12
+ IL_19a68: ldloc V_12
+ IL_19a6c: ldc.i8 0x1
+ IL_19a75: blt IL_19a56
+
+ IL_19a7a: ldc.i8 0x0
+ IL_19a83: stloc V_12
+ IL_19a87: ldloc V_12
+ IL_19a8b: ldc.i8 0x1
+ IL_19a94: add
+ IL_19a95: stloc V_12
+ IL_19a99: ldloc V_12
+ IL_19a9d: ldc.i8 0x0
+ IL_19aa6: blt IL_19a87
+
+ IL_19aab: ldloc V_37
+ IL_19aaf: ldloc V_43
+ IL_19ab3: add
+ IL_19ab4: ldc.i8 0x5
+ IL_19abd: add
+ IL_19abe: stloc V_37
+ IL_19ac2: ldloc V_11
+ IL_19ac6: ldc.i8 0x1
+ IL_19acf: add
+ IL_19ad0: stloc V_11
+ IL_19ad4: ldloc V_11
+ IL_19ad8: ldc.i8 0x0
+ IL_19ae1: blt IL_19a49
+
+ IL_19ae6: ldloc V_1
+ IL_19aea: ldloc V_31
+ IL_19aee: add
+ IL_19aef: stloc V_16
+ IL_19af3: ldloc V_10
+ IL_19af7: ldc.i8 0x1
+ IL_19b00: add
+ IL_19b01: stloc V_10
+ IL_19b05: ldloc V_10
+ IL_19b09: ldc.i8 0x2
+ IL_19b12: blt IL_19a3c
+
+ IL_19b17: ldc.i8 0x0
+ IL_19b20: stloc V_10
+ IL_19b24: ldc.i8 0x0
+ IL_19b2d: stloc V_11
+ IL_19b31: ldloc V_23
+ IL_19b35: ldloc V_19
+ IL_19b39: add
+ IL_19b3a: stloc V_23
+ IL_19b3e: ldloc V_11
+ IL_19b42: ldc.i8 0x1
+ IL_19b4b: add
+ IL_19b4c: stloc V_11
+ IL_19b50: ldloc V_11
+ IL_19b54: ldc.i8 0x2
+ IL_19b5d: blt IL_19b31
+
+ IL_19b62: ldc.i8 0x0
+ IL_19b6b: stloc V_11
+ IL_19b6f: ldc.i8 0x0
+ IL_19b78: stloc V_12
+ IL_19b7c: ldloc V_12
+ IL_19b80: ldc.i8 0x1
+ IL_19b89: add
+ IL_19b8a: stloc V_12
+ IL_19b8e: ldloc V_12
+ IL_19b92: ldc.i8 0x2
+ IL_19b9b: blt IL_19b7c
+
+ IL_19ba0: ldc.i8 0x0
+ IL_19ba9: stloc V_12
+ IL_19bad: ldloc V_12
+ IL_19bb1: ldc.i8 0x1
+ IL_19bba: add
+ IL_19bbb: stloc V_12
+ IL_19bbf: ldloc V_12
+ IL_19bc3: ldc.i8 0x2
+ IL_19bcc: blt IL_19bad
+
+ IL_19bd1: ldc.i8 0x1
+ IL_19bda: stloc V_31
+ IL_19bde: ldloc V_11
+ IL_19be2: ldc.i8 0x1
+ IL_19beb: add
+ IL_19bec: stloc V_11
+ IL_19bf0: ldloc V_11
+ IL_19bf4: ldc.i8 0x1
+ IL_19bfd: blt IL_19b6f
+
+ IL_19c02: ldc.i8 0x0
+ IL_19c0b: stloc V_11
+ IL_19c0f: ldc.i8 0x0
+ IL_19c18: stloc V_12
+ IL_19c1c: ldloc V_12
+ IL_19c20: ldc.i8 0x1
+ IL_19c29: add
+ IL_19c2a: stloc V_12
+ IL_19c2e: ldloc V_12
+ IL_19c32: ldc.i8 0x0
+ IL_19c3b: blt IL_19c1c
+
+ IL_19c40: br IL_19c45
+
+ IL_19c45: ldloc V_23
+ IL_19c49: ldloc V_17
+ IL_19c4d: add
+ IL_19c4e: stloc V_23
+ IL_19c52: ldloc V_11
+ IL_19c56: ldc.i8 0x1
+ IL_19c5f: add
+ IL_19c60: stloc V_11
+ IL_19c64: ldloc V_11
+ IL_19c68: ldc.i8 0x2
+ IL_19c71: blt IL_19c0f
+
+ IL_19c76: nop
+ IL_19c77: ldloc V_10
+ IL_19c7b: ldc.i8 0x1
+ IL_19c84: add
+ IL_19c85: stloc V_10
+ IL_19c89: ldloc V_10
+ IL_19c8d: ldc.i8 0x1
+ IL_19c96: blt IL_19b24
+
+ IL_19c9b: br IL_19d15
+
+ IL_19ca0: ldc.i8 0x0
+ IL_19ca9: stloc V_11
+ IL_19cad: ldc.i8 0x0
+ IL_19cb6: stloc V_12
+ IL_19cba: ldloc V_12
+ IL_19cbe: ldc.i8 0x1
+ IL_19cc7: add
+ IL_19cc8: stloc V_12
+ IL_19ccc: ldloc V_12
+ IL_19cd0: ldc.i8 0x2
+ IL_19cd9: blt IL_19cba
+
+ IL_19cde: nop
+ IL_19cdf: ldloc V_11
+ IL_19ce3: ldc.i8 0x1
+ IL_19cec: add
+ IL_19ced: stloc V_11
+ IL_19cf1: ldloc V_11
+ IL_19cf5: ldc.i8 0x0
+ IL_19cfe: blt IL_19cad
+
+ IL_19d03: ldloc V_35
+ IL_19d07: ldc.i8 0x5
+ IL_19d10: add
+ IL_19d11: stloc V_49
+ IL_19d15: ldloc V_1
+ IL_19d19: stloc V_24
+ IL_19d1d: br IL_19d23
+
+ IL_19d22: nop
+ IL_19d23: ldc.i8 0x0
+ IL_19d2c: stloc V_9
+ IL_19d30: ldc.i8 0x0
+ IL_19d39: stloc V_10
+ IL_19d3d: br IL_19d59
+
+ IL_19d42: br IL_19d47
+
+ IL_19d47: ldloc V_44
+ IL_19d4b: ldc.i8 0x8
+ IL_19d54: add
+ IL_19d55: stloc V_44
+ IL_19d59: ldc.i8 0x0
+ IL_19d62: stloc V_11
+ IL_19d66: ldc.i8 0x0
+ IL_19d6f: stloc V_12
+ IL_19d73: ldloc V_12
+ IL_19d77: ldc.i8 0x1
+ IL_19d80: add
+ IL_19d81: stloc V_12
+ IL_19d85: ldloc V_12
+ IL_19d89: ldc.i8 0x0
+ IL_19d92: blt IL_19d73
+
+ IL_19d97: ldloc V_6
+ IL_19d9b: ldloc V_26
+ IL_19d9f: add
+ IL_19da0: stloc V_40
+ IL_19da4: ldloc V_11
+ IL_19da8: ldc.i8 0x1
+ IL_19db1: add
+ IL_19db2: stloc V_11
+ IL_19db6: ldloc V_11
+ IL_19dba: ldc.i8 0x0
+ IL_19dc3: blt IL_19d66
+
+ IL_19dc8: ldc.i8 0x0
+ IL_19dd1: stloc V_11
+ IL_19dd5: ldc.i8 0x0
+ IL_19dde: stloc V_12
+ IL_19de2: ldloc V_12
+ IL_19de6: ldc.i8 0x1
+ IL_19def: add
+ IL_19df0: stloc V_12
+ IL_19df4: ldloc V_12
+ IL_19df8: ldc.i8 0x0
+ IL_19e01: blt IL_19de2
+
+ IL_19e06: ldc.i8 0x0
+ IL_19e0f: stloc V_12
+ IL_19e13: ldloc V_12
+ IL_19e17: ldc.i8 0x1
+ IL_19e20: add
+ IL_19e21: stloc V_12
+ IL_19e25: ldloc V_12
+ IL_19e29: ldc.i8 0x1
+ IL_19e32: blt IL_19e13
+
+ IL_19e37: ldc.i8 0x0
+ IL_19e40: stloc V_12
+ IL_19e44: ldloc V_12
+ IL_19e48: ldc.i8 0x1
+ IL_19e51: add
+ IL_19e52: stloc V_12
+ IL_19e56: ldloc V_12
+ IL_19e5a: ldc.i8 0x2
+ IL_19e63: blt IL_19e44
+
+ IL_19e68: ldc.i8 0x0
+ IL_19e71: stloc V_12
+ IL_19e75: ldloc V_12
+ IL_19e79: ldc.i8 0x1
+ IL_19e82: add
+ IL_19e83: stloc V_12
+ IL_19e87: ldloc V_12
+ IL_19e8b: ldc.i8 0x0
+ IL_19e94: blt IL_19e75
+
+ IL_19e99: ldloc V_15
+ IL_19e9d: ldc.i8 0x1
+ IL_19ea6: add
+ IL_19ea7: stloc V_29
+ IL_19eab: ldloc V_11
+ IL_19eaf: ldc.i8 0x1
+ IL_19eb8: add
+ IL_19eb9: stloc V_11
+ IL_19ebd: ldloc V_11
+ IL_19ec1: ldc.i8 0x2
+ IL_19eca: blt IL_19dd5
+
+ IL_19ecf: ldc.i8 0x0
+ IL_19ed8: stloc V_11
+ IL_19edc: br IL_19ee1
+
+ IL_19ee1: ldc.i8 0x6
+ IL_19eea: stloc V_26
+ IL_19eee: ldloc V_11
+ IL_19ef2: ldc.i8 0x1
+ IL_19efb: add
+ IL_19efc: stloc V_11
+ IL_19f00: ldloc V_11
+ IL_19f04: ldc.i8 0x2
+ IL_19f0d: blt IL_19edc
+
+ IL_19f12: ldloc V_2
+ IL_19f16: ldloc V_6
+ IL_19f1a: add
+ IL_19f1b: stloc V_46
+ IL_19f1f: ldloc V_10
+ IL_19f23: ldc.i8 0x1
+ IL_19f2c: add
+ IL_19f2d: stloc V_10
+ IL_19f31: ldloc V_10
+ IL_19f35: ldc.i8 0x0
+ IL_19f3e: blt IL_19d3d
+
+ IL_19f43: br IL_1a11b
+
+ IL_19f48: br IL_19fe6
+
+ IL_19f4d: br IL_19f52
+
+ IL_19f52: ldc.i8 0x0
+ IL_19f5b: stloc V_12
+ IL_19f5f: ldloc V_12
+ IL_19f63: ldc.i8 0x1
+ IL_19f6c: add
+ IL_19f6d: stloc V_12
+ IL_19f71: ldloc V_12
+ IL_19f75: ldc.i8 0x2
+ IL_19f7e: blt IL_19f5f
+
+ IL_19f83: ldc.i8 0x0
+ IL_19f8c: stloc V_12
+ IL_19f90: ldloc V_12
+ IL_19f94: ldc.i8 0x1
+ IL_19f9d: add
+ IL_19f9e: stloc V_12
+ IL_19fa2: ldloc V_12
+ IL_19fa6: ldc.i8 0x1
+ IL_19faf: blt IL_19f90
+
+ IL_19fb4: ldc.i8 0x0
+ IL_19fbd: stloc V_12
+ IL_19fc1: ldloc V_12
+ IL_19fc5: ldc.i8 0x1
+ IL_19fce: add
+ IL_19fcf: stloc V_12
+ IL_19fd3: ldloc V_12
+ IL_19fd7: ldc.i8 0x0
+ IL_19fe0: blt IL_19fc1
+
+ IL_19fe5: nop
+ IL_19fe6: ldc.i8 0x0
+ IL_19fef: stloc V_11
+ IL_19ff3: ldc.i8 0x0
+ IL_19ffc: stloc V_12
+ IL_1a000: ldloc V_12
+ IL_1a004: ldc.i8 0x1
+ IL_1a00d: add
+ IL_1a00e: stloc V_12
+ IL_1a012: ldloc V_12
+ IL_1a016: ldc.i8 0x0
+ IL_1a01f: blt IL_1a000
+
+ IL_1a024: ldc.i8 0x0
+ IL_1a02d: stloc V_12
+ IL_1a031: ldloc V_12
+ IL_1a035: ldc.i8 0x1
+ IL_1a03e: add
+ IL_1a03f: stloc V_12
+ IL_1a043: ldloc V_12
+ IL_1a047: ldc.i8 0x2
+ IL_1a050: blt IL_1a031
+
+ IL_1a055: br IL_1a05a
+
+ IL_1a05a: br IL_1a05f
+
+ IL_1a05f: ldloc V_9
+ IL_1a063: ldc.i8 0x0
+ IL_1a06c: add
+ IL_1a06d: stloc V_26
+ IL_1a071: ldloc V_11
+ IL_1a075: ldc.i8 0x1
+ IL_1a07e: add
+ IL_1a07f: stloc V_11
+ IL_1a083: ldloc V_11
+ IL_1a087: ldc.i8 0x1
+ IL_1a090: blt IL_19ff3
+
+ IL_1a095: ldc.i8 0x0
+ IL_1a09e: stloc V_11
+ IL_1a0a2: ldc.i8 0x0
+ IL_1a0ab: stloc V_12
+ IL_1a0af: ldloc V_12
+ IL_1a0b3: ldc.i8 0x1
+ IL_1a0bc: add
+ IL_1a0bd: stloc V_12
+ IL_1a0c1: ldloc V_12
+ IL_1a0c5: ldc.i8 0x0
+ IL_1a0ce: blt IL_1a0af
+
+ IL_1a0d3: ldc.i8 0x0
+ IL_1a0dc: stloc V_31
+ IL_1a0e0: ldloc V_11
+ IL_1a0e4: ldc.i8 0x1
+ IL_1a0ed: add
+ IL_1a0ee: stloc V_11
+ IL_1a0f2: ldloc V_11
+ IL_1a0f6: ldc.i8 0x2
+ IL_1a0ff: blt IL_1a0a2
+
+ IL_1a104: ldloc V_17
+ IL_1a108: ldloc V_15
+ IL_1a10c: add
+ IL_1a10d: ldc.i8 0x6
+ IL_1a116: add
+ IL_1a117: stloc V_17
+ IL_1a11b: br IL_1a1c1
+
+ IL_1a120: ldc.i8 0x0
+ IL_1a129: stloc V_11
+ IL_1a12d: ldc.i8 0x0
+ IL_1a136: stloc V_12
+ IL_1a13a: ldloc V_12
+ IL_1a13e: ldc.i8 0x1
+ IL_1a147: add
+ IL_1a148: stloc V_12
+ IL_1a14c: ldloc V_12
+ IL_1a150: ldc.i8 0x2
+ IL_1a159: blt IL_1a13a
+
+ IL_1a15e: ldc.i8 0x0
+ IL_1a167: stloc V_12
+ IL_1a16b: ldloc V_12
+ IL_1a16f: ldc.i8 0x1
+ IL_1a178: add
+ IL_1a179: stloc V_12
+ IL_1a17d: ldloc V_12
+ IL_1a181: ldc.i8 0x1
+ IL_1a18a: blt IL_1a16b
+
+ IL_1a18f: ldloc V_0
+ IL_1a193: ldloc V_1
+ IL_1a197: add
+ IL_1a198: stloc V_49
+ IL_1a19c: ldloc V_11
+ IL_1a1a0: ldc.i8 0x1
+ IL_1a1a9: add
+ IL_1a1aa: stloc V_11
+ IL_1a1ae: ldloc V_11
+ IL_1a1b2: ldc.i8 0x2
+ IL_1a1bb: blt IL_1a12d
+
+ IL_1a1c0: nop
+ IL_1a1c1: nop
+ IL_1a1c2: ldloc V_9
+ IL_1a1c6: ldc.i8 0x1
+ IL_1a1cf: add
+ IL_1a1d0: stloc V_9
+ IL_1a1d4: ldloc V_9
+ IL_1a1d8: ldc.i8 0x1
+ IL_1a1e1: blt IL_19d30
+
+ IL_1a1e6: ldloc V_34
+ IL_1a1ea: ldloc V_16
+ IL_1a1ee: add
+ IL_1a1ef: stloc V_47
+ IL_1a1f3: ldc.i8 0x0
+ IL_1a1fc: stloc V_8
+ IL_1a200: br IL_1a5aa
+
+ IL_1a205: ldc.i8 0x0
+ IL_1a20e: stloc V_10
+ IL_1a212: ldloc V_47
+ IL_1a216: ldloc V_15
+ IL_1a21a: add
+ IL_1a21b: stloc V_47
+ IL_1a21f: ldloc V_10
+ IL_1a223: ldc.i8 0x1
+ IL_1a22c: add
+ IL_1a22d: stloc V_10
+ IL_1a231: ldloc V_10
+ IL_1a235: ldc.i8 0x1
+ IL_1a23e: blt IL_1a212
+
+ IL_1a243: ldc.i8 0x0
+ IL_1a24c: stloc V_10
+ IL_1a250: ldc.i8 0x0
+ IL_1a259: stloc V_11
+ IL_1a25d: ldc.i8 0x0
+ IL_1a266: stloc V_12
+ IL_1a26a: ldloc V_12
+ IL_1a26e: ldc.i8 0x1
+ IL_1a277: add
+ IL_1a278: stloc V_12
+ IL_1a27c: ldloc V_12
+ IL_1a280: ldc.i8 0x1
+ IL_1a289: blt IL_1a26a
+
+ IL_1a28e: br IL_1a293
+
+ IL_1a293: ldloc V_39
+ IL_1a297: ldloc V_22
+ IL_1a29b: add
+ IL_1a29c: ldc.i8 0x1
+ IL_1a2a5: add
+ IL_1a2a6: stloc V_39
+ IL_1a2aa: ldloc V_11
+ IL_1a2ae: ldc.i8 0x1
+ IL_1a2b7: add
+ IL_1a2b8: stloc V_11
+ IL_1a2bc: ldloc V_11
+ IL_1a2c0: ldc.i8 0x1
+ IL_1a2c9: blt IL_1a25d
+
+ IL_1a2ce: ldc.i8 0x0
+ IL_1a2d7: stloc V_11
+ IL_1a2db: ldc.i8 0x0
+ IL_1a2e4: stloc V_12
+ IL_1a2e8: ldloc V_12
+ IL_1a2ec: ldc.i8 0x1
+ IL_1a2f5: add
+ IL_1a2f6: stloc V_12
+ IL_1a2fa: ldloc V_12
+ IL_1a2fe: ldc.i8 0x2
+ IL_1a307: blt IL_1a2e8
+
+ IL_1a30c: br IL_1a311
+
+ IL_1a311: ldloc V_42
+ IL_1a315: ldloc V_37
+ IL_1a319: add
+ IL_1a31a: stloc V_47
+ IL_1a31e: ldloc V_11
+ IL_1a322: ldc.i8 0x1
+ IL_1a32b: add
+ IL_1a32c: stloc V_11
+ IL_1a330: ldloc V_11
+ IL_1a334: ldc.i8 0x1
+ IL_1a33d: blt IL_1a2db
+
+ IL_1a342: ldc.i8 0x0
+ IL_1a34b: stloc V_11
+ IL_1a34f: ldc.i8 0x0
+ IL_1a358: stloc V_12
+ IL_1a35c: ldloc V_12
+ IL_1a360: ldc.i8 0x1
+ IL_1a369: add
+ IL_1a36a: stloc V_12
+ IL_1a36e: ldloc V_12
+ IL_1a372: ldc.i8 0x2
+ IL_1a37b: blt IL_1a35c
+
+ IL_1a380: br IL_1a385
+
+ IL_1a385: ldc.i8 0x0
+ IL_1a38e: stloc V_12
+ IL_1a392: ldloc V_12
+ IL_1a396: ldc.i8 0x1
+ IL_1a39f: add
+ IL_1a3a0: stloc V_12
+ IL_1a3a4: ldloc V_12
+ IL_1a3a8: ldc.i8 0x1
+ IL_1a3b1: blt IL_1a392
+
+ IL_1a3b6: ldc.i8 0x0
+ IL_1a3bf: stloc V_12
+ IL_1a3c3: ldloc V_12
+ IL_1a3c7: ldc.i8 0x1
+ IL_1a3d0: add
+ IL_1a3d1: stloc V_12
+ IL_1a3d5: ldloc V_12
+ IL_1a3d9: ldc.i8 0x0
+ IL_1a3e2: blt IL_1a3c3
+
+ IL_1a3e7: ldc.i8 0x2
+ IL_1a3f0: stloc V_31
+ IL_1a3f4: ldloc V_11
+ IL_1a3f8: ldc.i8 0x1
+ IL_1a401: add
+ IL_1a402: stloc V_11
+ IL_1a406: ldloc V_11
+ IL_1a40a: ldc.i8 0x0
+ IL_1a413: blt IL_1a34f
+
+ IL_1a418: ldloc V_18
+ IL_1a41c: ldloc V_12
+ IL_1a420: add
+ IL_1a421: stloc V_18
+ IL_1a425: ldloc V_10
+ IL_1a429: ldc.i8 0x1
+ IL_1a432: add
+ IL_1a433: stloc V_10
+ IL_1a437: ldloc V_10
+ IL_1a43b: ldc.i8 0x0
+ IL_1a444: blt IL_1a250
+
+ IL_1a449: ldc.i8 0x0
+ IL_1a452: stloc V_10
+ IL_1a456: ldc.i8 0x0
+ IL_1a45f: stloc V_11
+ IL_1a463: ldc.i8 0x3
+ IL_1a46c: stloc V_42
+ IL_1a470: ldloc V_11
+ IL_1a474: ldc.i8 0x1
+ IL_1a47d: add
+ IL_1a47e: stloc V_11
+ IL_1a482: ldloc V_11
+ IL_1a486: ldc.i8 0x2
+ IL_1a48f: blt IL_1a463
+
+ IL_1a494: ldc.i8 0x0
+ IL_1a49d: stloc V_11
+ IL_1a4a1: ldc.i8 0x0
+ IL_1a4aa: stloc V_12
+ IL_1a4ae: ldloc V_12
+ IL_1a4b2: ldc.i8 0x1
+ IL_1a4bb: add
+ IL_1a4bc: stloc V_12
+ IL_1a4c0: ldloc V_12
+ IL_1a4c4: ldc.i8 0x0
+ IL_1a4cd: blt IL_1a4ae
+
+ IL_1a4d2: br IL_1a4d7
+
+ IL_1a4d7: ldc.i8 0x9
+ IL_1a4e0: stloc V_27
+ IL_1a4e4: ldloc V_11
+ IL_1a4e8: ldc.i8 0x1
+ IL_1a4f1: add
+ IL_1a4f2: stloc V_11
+ IL_1a4f6: ldloc V_11
+ IL_1a4fa: ldc.i8 0x2
+ IL_1a503: blt IL_1a4a1
+
+ IL_1a508: ldc.i8 0x0
+ IL_1a511: stloc V_13
+ IL_1a515: ldloc V_10
+ IL_1a519: ldc.i8 0x1
+ IL_1a522: add
+ IL_1a523: stloc V_10
+ IL_1a527: ldloc V_10
+ IL_1a52b: ldc.i8 0x1
+ IL_1a534: blt IL_1a456
+
+ IL_1a539: ldc.i8 0x0
+ IL_1a542: stloc V_10
+ IL_1a546: ldc.i8 0x0
+ IL_1a54f: stloc V_11
+ IL_1a553: nop
+ IL_1a554: ldloc V_11
+ IL_1a558: ldc.i8 0x1
+ IL_1a561: add
+ IL_1a562: stloc V_11
+ IL_1a566: ldloc V_11
+ IL_1a56a: ldc.i8 0x2
+ IL_1a573: blt IL_1a553
+
+ IL_1a578: ldc.i8 0x4
+ IL_1a581: stloc V_46
+ IL_1a585: ldloc V_10
+ IL_1a589: ldc.i8 0x1
+ IL_1a592: add
+ IL_1a593: stloc V_10
+ IL_1a597: ldloc V_10
+ IL_1a59b: ldc.i8 0x0
+ IL_1a5a4: blt IL_1a546
+
+ IL_1a5a9: nop
+ IL_1a5aa: ldc.i8 0x0
+ IL_1a5b3: stloc V_9
+ IL_1a5b7: ldloc V_26
+ IL_1a5bb: ldloc V_23
+ IL_1a5bf: add
+ IL_1a5c0: stloc V_38
+ IL_1a5c4: ldloc V_9
+ IL_1a5c8: ldc.i8 0x1
+ IL_1a5d1: add
+ IL_1a5d2: stloc V_9
+ IL_1a5d6: ldloc V_9
+ IL_1a5da: ldc.i8 0x0
+ IL_1a5e3: blt IL_1a5b7
+
+ IL_1a5e8: ldc.i8 0x0
+ IL_1a5f1: stloc V_9
+ IL_1a5f5: ldc.i8 0x0
+ IL_1a5fe: stloc V_10
+ IL_1a602: ldc.i8 0x0
+ IL_1a60b: stloc V_11
+ IL_1a60f: ldc.i8 0x0
+ IL_1a618: stloc V_12
+ IL_1a61c: ldloc V_12
+ IL_1a620: ldc.i8 0x1
+ IL_1a629: add
+ IL_1a62a: stloc V_12
+ IL_1a62e: ldloc V_12
+ IL_1a632: ldc.i8 0x2
+ IL_1a63b: blt IL_1a61c
+
+ IL_1a640: ldc.i8 0x0
+ IL_1a649: stloc V_12
+ IL_1a64d: ldloc V_12
+ IL_1a651: ldc.i8 0x1
+ IL_1a65a: add
+ IL_1a65b: stloc V_12
+ IL_1a65f: ldloc V_12
+ IL_1a663: ldc.i8 0x1
+ IL_1a66c: blt IL_1a64d
+
+ IL_1a671: ldc.i8 0x0
+ IL_1a67a: stloc V_12
+ IL_1a67e: ldloc V_12
+ IL_1a682: ldc.i8 0x1
+ IL_1a68b: add
+ IL_1a68c: stloc V_12
+ IL_1a690: ldloc V_12
+ IL_1a694: ldc.i8 0x2
+ IL_1a69d: blt IL_1a67e
+
+ IL_1a6a2: ldc.i8 0x0
+ IL_1a6ab: stloc V_12
+ IL_1a6af: ldloc V_12
+ IL_1a6b3: ldc.i8 0x1
+ IL_1a6bc: add
+ IL_1a6bd: stloc V_12
+ IL_1a6c1: ldloc V_12
+ IL_1a6c5: ldc.i8 0x2
+ IL_1a6ce: blt IL_1a6af
+
+ IL_1a6d3: ldloc V_48
+ IL_1a6d7: stloc V_22
+ IL_1a6db: ldloc V_11
+ IL_1a6df: ldc.i8 0x1
+ IL_1a6e8: add
+ IL_1a6e9: stloc V_11
+ IL_1a6ed: ldloc V_11
+ IL_1a6f1: ldc.i8 0x0
+ IL_1a6fa: blt IL_1a60f
+
+ IL_1a6ff: br IL_1a747
+
+ IL_1a704: br IL_1a709
+
+ IL_1a709: ldc.i8 0x0
+ IL_1a712: stloc V_12
+ IL_1a716: ldloc V_12
+ IL_1a71a: ldc.i8 0x1
+ IL_1a723: add
+ IL_1a724: stloc V_12
+ IL_1a728: ldloc V_12
+ IL_1a72c: ldc.i8 0x2
+ IL_1a735: blt IL_1a716
+
+ IL_1a73a: br IL_1a73f
+
+ IL_1a73f: ldloc V_22
+ IL_1a743: stloc V_15
+ IL_1a747: ldc.i8 0x0
+ IL_1a750: stloc V_11
+ IL_1a754: ldc.i8 0x0
+ IL_1a75d: stloc V_12
+ IL_1a761: ldloc V_12
+ IL_1a765: ldc.i8 0x1
+ IL_1a76e: add
+ IL_1a76f: stloc V_12
+ IL_1a773: ldloc V_12
+ IL_1a777: ldc.i8 0x2
+ IL_1a780: blt IL_1a761
+
+ IL_1a785: br IL_1a78a
+
+ IL_1a78a: nop
+ IL_1a78b: ldloc V_11
+ IL_1a78f: ldc.i8 0x1
+ IL_1a798: add
+ IL_1a799: stloc V_11
+ IL_1a79d: ldloc V_11
+ IL_1a7a1: ldc.i8 0x2
+ IL_1a7aa: blt IL_1a754
+
+ IL_1a7af: ldc.i8 0x0
+ IL_1a7b8: stloc V_11
+ IL_1a7bc: ldc.i8 0x0
+ IL_1a7c5: stloc V_12
+ IL_1a7c9: ldloc V_12
+ IL_1a7cd: ldc.i8 0x1
+ IL_1a7d6: add
+ IL_1a7d7: stloc V_12
+ IL_1a7db: ldloc V_12
+ IL_1a7df: ldc.i8 0x1
+ IL_1a7e8: blt IL_1a7c9
+
+ IL_1a7ed: ldc.i8 0x0
+ IL_1a7f6: stloc V_12
+ IL_1a7fa: ldloc V_12
+ IL_1a7fe: ldc.i8 0x1
+ IL_1a807: add
+ IL_1a808: stloc V_12
+ IL_1a80c: ldloc V_12
+ IL_1a810: ldc.i8 0x2
+ IL_1a819: blt IL_1a7fa
+
+ IL_1a81e: ldc.i8 0x0
+ IL_1a827: stloc V_12
+ IL_1a82b: ldloc V_12
+ IL_1a82f: ldc.i8 0x1
+ IL_1a838: add
+ IL_1a839: stloc V_12
+ IL_1a83d: ldloc V_12
+ IL_1a841: ldc.i8 0x0
+ IL_1a84a: blt IL_1a82b
+
+ IL_1a84f: ldloc V_47
+ IL_1a853: ldc.i8 0x6
+ IL_1a85c: add
+ IL_1a85d: stloc V_26
+ IL_1a861: ldloc V_11
+ IL_1a865: ldc.i8 0x1
+ IL_1a86e: add
+ IL_1a86f: stloc V_11
+ IL_1a873: ldloc V_11
+ IL_1a877: ldc.i8 0x1
+ IL_1a880: blt IL_1a7bc
+
+ IL_1a885: ldloc V_29
+ IL_1a889: ldloc V_34
+ IL_1a88d: add
+ IL_1a88e: ldc.i8 0x4
+ IL_1a897: add
+ IL_1a898: stloc V_29
+ IL_1a89c: ldloc V_10
+ IL_1a8a0: ldc.i8 0x1
+ IL_1a8a9: add
+ IL_1a8aa: stloc V_10
+ IL_1a8ae: ldloc V_10
+ IL_1a8b2: ldc.i8 0x2
+ IL_1a8bb: blt IL_1a602
+
+ IL_1a8c0: ldc.i8 0x0
+ IL_1a8c9: stloc V_10
+ IL_1a8cd: nop
+ IL_1a8ce: ldloc V_10
+ IL_1a8d2: ldc.i8 0x1
+ IL_1a8db: add
+ IL_1a8dc: stloc V_10
+ IL_1a8e0: ldloc V_10
+ IL_1a8e4: ldc.i8 0x1
+ IL_1a8ed: blt IL_1a8cd
+
+ IL_1a8f2: ldc.i8 0x9
+ IL_1a8fb: stloc V_32
+ IL_1a8ff: ldloc V_9
+ IL_1a903: ldc.i8 0x1
+ IL_1a90c: add
+ IL_1a90d: stloc V_9
+ IL_1a911: ldloc V_9
+ IL_1a915: ldc.i8 0x0
+ IL_1a91e: blt IL_1a5f5
+
+ IL_1a923: br IL_1ab7e
+
+ IL_1a928: ldc.i8 0x0
+ IL_1a931: stloc V_10
+ IL_1a935: ldc.i8 0x0
+ IL_1a93e: stloc V_11
+ IL_1a942: br IL_1a947
+
+ IL_1a947: ldc.i8 0x3
+ IL_1a950: stloc V_32
+ IL_1a954: ldloc V_11
+ IL_1a958: ldc.i8 0x1
+ IL_1a961: add
+ IL_1a962: stloc V_11
+ IL_1a966: ldloc V_11
+ IL_1a96a: ldc.i8 0x2
+ IL_1a973: blt IL_1a942
+
+ IL_1a978: ldc.i8 0x0
+ IL_1a981: stloc V_11
+ IL_1a985: ldc.i8 0x0
+ IL_1a98e: stloc V_12
+ IL_1a992: ldloc V_12
+ IL_1a996: ldc.i8 0x1
+ IL_1a99f: add
+ IL_1a9a0: stloc V_12
+ IL_1a9a4: ldloc V_12
+ IL_1a9a8: ldc.i8 0x0
+ IL_1a9b1: blt IL_1a992
+
+ IL_1a9b6: ldc.i8 0x0
+ IL_1a9bf: stloc V_12
+ IL_1a9c3: ldloc V_12
+ IL_1a9c7: ldc.i8 0x1
+ IL_1a9d0: add
+ IL_1a9d1: stloc V_12
+ IL_1a9d5: ldloc V_12
+ IL_1a9d9: ldc.i8 0x0
+ IL_1a9e2: blt IL_1a9c3
+
+ IL_1a9e7: ldc.i8 0x0
+ IL_1a9f0: stloc V_12
+ IL_1a9f4: ldloc V_12
+ IL_1a9f8: ldc.i8 0x1
+ IL_1aa01: add
+ IL_1aa02: stloc V_12
+ IL_1aa06: ldloc V_12
+ IL_1aa0a: ldc.i8 0x1
+ IL_1aa13: blt IL_1a9f4
+
+ IL_1aa18: ldloc V_21
+ IL_1aa1c: ldloc V_14
+ IL_1aa20: add
+ IL_1aa21: ldc.i8 0x6
+ IL_1aa2a: add
+ IL_1aa2b: stloc V_21
+ IL_1aa2f: ldloc V_11
+ IL_1aa33: ldc.i8 0x1
+ IL_1aa3c: add
+ IL_1aa3d: stloc V_11
+ IL_1aa41: ldloc V_11
+ IL_1aa45: ldc.i8 0x2
+ IL_1aa4e: blt IL_1a985
+
+ IL_1aa53: ldc.i8 0x0
+ IL_1aa5c: stloc V_11
+ IL_1aa60: ldc.i8 0x0
+ IL_1aa69: stloc V_12
+ IL_1aa6d: ldloc V_12
+ IL_1aa71: ldc.i8 0x1
+ IL_1aa7a: add
+ IL_1aa7b: stloc V_12
+ IL_1aa7f: ldloc V_12
+ IL_1aa83: ldc.i8 0x2
+ IL_1aa8c: blt IL_1aa6d
+
+ IL_1aa91: ldloc V_41
+ IL_1aa95: ldloc V_30
+ IL_1aa99: add
+ IL_1aa9a: ldc.i8 0x1
+ IL_1aaa3: add
+ IL_1aaa4: stloc V_41
+ IL_1aaa8: ldloc V_11
+ IL_1aaac: ldc.i8 0x1
+ IL_1aab5: add
+ IL_1aab6: stloc V_11
+ IL_1aaba: ldloc V_11
+ IL_1aabe: ldc.i8 0x2
+ IL_1aac7: blt IL_1aa60
+
+ IL_1aacc: ldc.i8 0x0
+ IL_1aad5: stloc V_11
+ IL_1aad9: ldc.i8 0x0
+ IL_1aae2: stloc V_12
+ IL_1aae6: ldloc V_12
+ IL_1aaea: ldc.i8 0x1
+ IL_1aaf3: add
+ IL_1aaf4: stloc V_12
+ IL_1aaf8: ldloc V_12
+ IL_1aafc: ldc.i8 0x1
+ IL_1ab05: blt IL_1aae6
+
+ IL_1ab0a: br IL_1ab0f
+
+ IL_1ab0f: ldloc V_1
+ IL_1ab13: ldc.i8 0x2
+ IL_1ab1c: add
+ IL_1ab1d: stloc V_32
+ IL_1ab21: ldloc V_11
+ IL_1ab25: ldc.i8 0x1
+ IL_1ab2e: add
+ IL_1ab2f: stloc V_11
+ IL_1ab33: ldloc V_11
+ IL_1ab37: ldc.i8 0x0
+ IL_1ab40: blt IL_1aad9
+
+ IL_1ab45: ldloc V_35
+ IL_1ab49: ldloc V_43
+ IL_1ab4d: add
+ IL_1ab4e: stloc V_29
+ IL_1ab52: ldloc V_10
+ IL_1ab56: ldc.i8 0x1
+ IL_1ab5f: add
+ IL_1ab60: stloc V_10
+ IL_1ab64: ldloc V_10
+ IL_1ab68: ldc.i8 0x1
+ IL_1ab71: blt IL_1a935
+
+ IL_1ab76: ldloc V_9
+ IL_1ab7a: stloc V_33
+ IL_1ab7e: ldloc V_21
+ IL_1ab82: ldloc V_25
+ IL_1ab86: add
+ IL_1ab87: ldc.i8 0x8
+ IL_1ab90: add
+ IL_1ab91: stloc V_21
+ IL_1ab95: ldloc V_8
+ IL_1ab99: ldc.i8 0x1
+ IL_1aba2: add
+ IL_1aba3: stloc V_8
+ IL_1aba7: ldloc V_8
+ IL_1abab: ldc.i8 0x1
+ IL_1abb4: blt IL_1a200
+
+ IL_1abb9: br IL_1b4b9
+
+ IL_1abbe: br IL_1b045
+
+ IL_1abc3: ldc.i8 0x0
+ IL_1abcc: stloc V_10
+ IL_1abd0: ldc.i8 0x2
+ IL_1abd9: stloc V_46
+ IL_1abdd: ldloc V_10
+ IL_1abe1: ldc.i8 0x1
+ IL_1abea: add
+ IL_1abeb: stloc V_10
+ IL_1abef: ldloc V_10
+ IL_1abf3: ldc.i8 0x2
+ IL_1abfc: blt IL_1abd0
+
+ IL_1ac01: ldc.i8 0x0
+ IL_1ac0a: stloc V_10
+ IL_1ac0e: ldc.i8 0x0
+ IL_1ac17: stloc V_11
+ IL_1ac1b: ldc.i8 0x0
+ IL_1ac24: stloc V_12
+ IL_1ac28: ldloc V_12
+ IL_1ac2c: ldc.i8 0x1
+ IL_1ac35: add
+ IL_1ac36: stloc V_12
+ IL_1ac3a: ldloc V_12
+ IL_1ac3e: ldc.i8 0x0
+ IL_1ac47: blt IL_1ac28
+
+ IL_1ac4c: ldc.i8 0x0
+ IL_1ac55: stloc V_12
+ IL_1ac59: ldloc V_12
+ IL_1ac5d: ldc.i8 0x1
+ IL_1ac66: add
+ IL_1ac67: stloc V_12
+ IL_1ac6b: ldloc V_12
+ IL_1ac6f: ldc.i8 0x2
+ IL_1ac78: blt IL_1ac59
+
+ IL_1ac7d: ldc.i8 0x0
+ IL_1ac86: stloc V_12
+ IL_1ac8a: ldloc V_12
+ IL_1ac8e: ldc.i8 0x1
+ IL_1ac97: add
+ IL_1ac98: stloc V_12
+ IL_1ac9c: ldloc V_12
+ IL_1aca0: ldc.i8 0x0
+ IL_1aca9: blt IL_1ac8a
+
+ IL_1acae: nop
+ IL_1acaf: ldloc V_11
+ IL_1acb3: ldc.i8 0x1
+ IL_1acbc: add
+ IL_1acbd: stloc V_11
+ IL_1acc1: ldloc V_11
+ IL_1acc5: ldc.i8 0x2
+ IL_1acce: blt IL_1ac1b
+
+ IL_1acd3: ldc.i8 0x0
+ IL_1acdc: stloc V_11
+ IL_1ace0: ldc.i8 0x0
+ IL_1ace9: stloc V_12
+ IL_1aced: ldloc V_12
+ IL_1acf1: ldc.i8 0x1
+ IL_1acfa: add
+ IL_1acfb: stloc V_12
+ IL_1acff: ldloc V_12
+ IL_1ad03: ldc.i8 0x2
+ IL_1ad0c: blt IL_1aced
+
+ IL_1ad11: ldc.i8 0x0
+ IL_1ad1a: stloc V_12
+ IL_1ad1e: ldloc V_12
+ IL_1ad22: ldc.i8 0x1
+ IL_1ad2b: add
+ IL_1ad2c: stloc V_12
+ IL_1ad30: ldloc V_12
+ IL_1ad34: ldc.i8 0x2
+ IL_1ad3d: blt IL_1ad1e
+
+ IL_1ad42: ldc.i8 0x0
+ IL_1ad4b: stloc V_12
+ IL_1ad4f: ldloc V_12
+ IL_1ad53: ldc.i8 0x1
+ IL_1ad5c: add
+ IL_1ad5d: stloc V_12
+ IL_1ad61: ldloc V_12
+ IL_1ad65: ldc.i8 0x0
+ IL_1ad6e: blt IL_1ad4f
+
+ IL_1ad73: ldc.i8 0x0
+ IL_1ad7c: stloc V_12
+ IL_1ad80: ldloc V_12
+ IL_1ad84: ldc.i8 0x1
+ IL_1ad8d: add
+ IL_1ad8e: stloc V_12
+ IL_1ad92: ldloc V_12
+ IL_1ad96: ldc.i8 0x1
+ IL_1ad9f: blt IL_1ad80
+
+ IL_1ada4: ldc.i8 0x2
+ IL_1adad: stloc V_13
+ IL_1adb1: ldloc V_11
+ IL_1adb5: ldc.i8 0x1
+ IL_1adbe: add
+ IL_1adbf: stloc V_11
+ IL_1adc3: ldloc V_11
+ IL_1adc7: ldc.i8 0x2
+ IL_1add0: blt IL_1ace0
+
+ IL_1add5: ldloc V_25
+ IL_1add9: ldloc V_18
+ IL_1addd: add
+ IL_1adde: stloc V_40
+ IL_1ade2: ldloc V_10
+ IL_1ade6: ldc.i8 0x1
+ IL_1adef: add
+ IL_1adf0: stloc V_10
+ IL_1adf4: ldloc V_10
+ IL_1adf8: ldc.i8 0x1
+ IL_1ae01: blt IL_1ac0e
+
+ IL_1ae06: ldc.i8 0x0
+ IL_1ae0f: stloc V_10
+ IL_1ae13: ldc.i8 0x0
+ IL_1ae1c: stloc V_11
+ IL_1ae20: ldc.i8 0x0
+ IL_1ae29: stloc V_12
+ IL_1ae2d: ldloc V_12
+ IL_1ae31: ldc.i8 0x1
+ IL_1ae3a: add
+ IL_1ae3b: stloc V_12
+ IL_1ae3f: ldloc V_12
+ IL_1ae43: ldc.i8 0x2
+ IL_1ae4c: blt IL_1ae2d
+
+ IL_1ae51: ldc.i8 0x9
+ IL_1ae5a: stloc V_41
+ IL_1ae5e: ldloc V_11
+ IL_1ae62: ldc.i8 0x1
+ IL_1ae6b: add
+ IL_1ae6c: stloc V_11
+ IL_1ae70: ldloc V_11
+ IL_1ae74: ldc.i8 0x1
+ IL_1ae7d: blt IL_1ae20
+
+ IL_1ae82: ldloc V_41
+ IL_1ae86: ldloc V_43
+ IL_1ae8a: add
+ IL_1ae8b: stloc V_43
+ IL_1ae8f: ldloc V_10
+ IL_1ae93: ldc.i8 0x1
+ IL_1ae9c: add
+ IL_1ae9d: stloc V_10
+ IL_1aea1: ldloc V_10
+ IL_1aea5: ldc.i8 0x1
+ IL_1aeae: blt IL_1ae13
+
+ IL_1aeb3: ldc.i8 0x0
+ IL_1aebc: stloc V_10
+ IL_1aec0: ldc.i8 0x0
+ IL_1aec9: stloc V_11
+ IL_1aecd: ldc.i8 0x0
+ IL_1aed6: stloc V_12
+ IL_1aeda: ldloc V_12
+ IL_1aede: ldc.i8 0x1
+ IL_1aee7: add
+ IL_1aee8: stloc V_12
+ IL_1aeec: ldloc V_12
+ IL_1aef0: ldc.i8 0x2
+ IL_1aef9: blt IL_1aeda
+
+ IL_1aefe: ldc.i8 0x0
+ IL_1af07: stloc V_12
+ IL_1af0b: ldloc V_12
+ IL_1af0f: ldc.i8 0x1
+ IL_1af18: add
+ IL_1af19: stloc V_12
+ IL_1af1d: ldloc V_12
+ IL_1af21: ldc.i8 0x0
+ IL_1af2a: blt IL_1af0b
+
+ IL_1af2f: br IL_1af34
+
+ IL_1af34: nop
+ IL_1af35: ldloc V_11
+ IL_1af39: ldc.i8 0x1
+ IL_1af42: add
+ IL_1af43: stloc V_11
+ IL_1af47: ldloc V_11
+ IL_1af4b: ldc.i8 0x1
+ IL_1af54: blt IL_1aecd
+
+ IL_1af59: br IL_1af75
+
+ IL_1af5e: ldloc V_39
+ IL_1af62: ldloc V_15
+ IL_1af66: add
+ IL_1af67: ldc.i8 0x3
+ IL_1af70: add
+ IL_1af71: stloc V_39
+ IL_1af75: ldc.i8 0x0
+ IL_1af7e: stloc V_11
+ IL_1af82: ldc.i8 0x0
+ IL_1af8b: stloc V_12
+ IL_1af8f: ldloc V_12
+ IL_1af93: ldc.i8 0x1
+ IL_1af9c: add
+ IL_1af9d: stloc V_12
+ IL_1afa1: ldloc V_12
+ IL_1afa5: ldc.i8 0x1
+ IL_1afae: blt IL_1af8f
+
+ IL_1afb3: br IL_1afb8
+
+ IL_1afb8: ldc.i8 0x0
+ IL_1afc1: stloc V_12
+ IL_1afc5: ldloc V_12
+ IL_1afc9: ldc.i8 0x1
+ IL_1afd2: add
+ IL_1afd3: stloc V_12
+ IL_1afd7: ldloc V_12
+ IL_1afdb: ldc.i8 0x1
+ IL_1afe4: blt IL_1afc5
+
+ IL_1afe9: ldloc V_29
+ IL_1afed: ldc.i8 0x0
+ IL_1aff6: add
+ IL_1aff7: stloc V_26
+ IL_1affb: ldloc V_11
+ IL_1afff: ldc.i8 0x1
+ IL_1b008: add
+ IL_1b009: stloc V_11
+ IL_1b00d: ldloc V_11
+ IL_1b011: ldc.i8 0x0
+ IL_1b01a: blt IL_1af82
+
+ IL_1b01f: nop
+ IL_1b020: ldloc V_10
+ IL_1b024: ldc.i8 0x1
+ IL_1b02d: add
+ IL_1b02e: stloc V_10
+ IL_1b032: ldloc V_10
+ IL_1b036: ldc.i8 0x1
+ IL_1b03f: blt IL_1aec0
+
+ IL_1b044: nop
+ IL_1b045: br IL_1b4ac
+
+ IL_1b04a: ldc.i8 0x0
+ IL_1b053: stloc V_10
+ IL_1b057: br IL_1b06e
+
+ IL_1b05c: ldloc V_3
+ IL_1b060: ldc.i8 0x8
+ IL_1b069: add
+ IL_1b06a: stloc V_19
+ IL_1b06e: br IL_1b144
+
+ IL_1b073: ldc.i8 0x0
+ IL_1b07c: stloc V_12
+ IL_1b080: ldloc V_12
+ IL_1b084: ldc.i8 0x1
+ IL_1b08d: add
+ IL_1b08e: stloc V_12
+ IL_1b092: ldloc V_12
+ IL_1b096: ldc.i8 0x1
+ IL_1b09f: blt IL_1b080
+
+ IL_1b0a4: ldc.i8 0x0
+ IL_1b0ad: stloc V_12
+ IL_1b0b1: ldloc V_12
+ IL_1b0b5: ldc.i8 0x1
+ IL_1b0be: add
+ IL_1b0bf: stloc V_12
+ IL_1b0c3: ldloc V_12
+ IL_1b0c7: ldc.i8 0x0
+ IL_1b0d0: blt IL_1b0b1
+
+ IL_1b0d5: ldc.i8 0x0
+ IL_1b0de: stloc V_12
+ IL_1b0e2: ldloc V_12
+ IL_1b0e6: ldc.i8 0x1
+ IL_1b0ef: add
+ IL_1b0f0: stloc V_12
+ IL_1b0f4: ldloc V_12
+ IL_1b0f8: ldc.i8 0x0
+ IL_1b101: blt IL_1b0e2
+
+ IL_1b106: ldc.i8 0x0
+ IL_1b10f: stloc V_12
+ IL_1b113: ldloc V_12
+ IL_1b117: ldc.i8 0x1
+ IL_1b120: add
+ IL_1b121: stloc V_12
+ IL_1b125: ldloc V_12
+ IL_1b129: ldc.i8 0x2
+ IL_1b132: blt IL_1b113
+
+ IL_1b137: ldc.i8 0x2
+ IL_1b140: stloc V_26
+ IL_1b144: br IL_1b15b
+
+ IL_1b149: br IL_1b14e
+
+ IL_1b14e: ldloc V_6
+ IL_1b152: ldloc V_14
+ IL_1b156: add
+ IL_1b157: stloc V_45
+ IL_1b15b: ldc.i8 0x0
+ IL_1b164: stloc V_11
+ IL_1b168: ldloc V_48
+ IL_1b16c: ldloc V_14
+ IL_1b170: add
+ IL_1b171: stloc V_43
+ IL_1b175: ldloc V_11
+ IL_1b179: ldc.i8 0x1
+ IL_1b182: add
+ IL_1b183: stloc V_11
+ IL_1b187: ldloc V_11
+ IL_1b18b: ldc.i8 0x1
+ IL_1b194: blt IL_1b168
+
+ IL_1b199: ldloc V_31
+ IL_1b19d: ldc.i8 0x9
+ IL_1b1a6: add
+ IL_1b1a7: stloc V_22
+ IL_1b1ab: ldloc V_10
+ IL_1b1af: ldc.i8 0x1
+ IL_1b1b8: add
+ IL_1b1b9: stloc V_10
+ IL_1b1bd: ldloc V_10
+ IL_1b1c1: ldc.i8 0x1
+ IL_1b1ca: blt IL_1b057
+
+ IL_1b1cf: ldc.i8 0x0
+ IL_1b1d8: stloc V_10
+ IL_1b1dc: br IL_1b250
+
+ IL_1b1e1: ldc.i8 0x0
+ IL_1b1ea: stloc V_12
+ IL_1b1ee: ldloc V_12
+ IL_1b1f2: ldc.i8 0x1
+ IL_1b1fb: add
+ IL_1b1fc: stloc V_12
+ IL_1b200: ldloc V_12
+ IL_1b204: ldc.i8 0x2
+ IL_1b20d: blt IL_1b1ee
+
+ IL_1b212: ldc.i8 0x0
+ IL_1b21b: stloc V_12
+ IL_1b21f: ldloc V_12
+ IL_1b223: ldc.i8 0x1
+ IL_1b22c: add
+ IL_1b22d: stloc V_12
+ IL_1b231: ldloc V_12
+ IL_1b235: ldc.i8 0x2
+ IL_1b23e: blt IL_1b21f
+
+ IL_1b243: ldloc V_39
+ IL_1b247: ldloc V_31
+ IL_1b24b: add
+ IL_1b24c: stloc V_25
+ IL_1b250: nop
+ IL_1b251: ldloc V_10
+ IL_1b255: ldc.i8 0x1
+ IL_1b25e: add
+ IL_1b25f: stloc V_10
+ IL_1b263: ldloc V_10
+ IL_1b267: ldc.i8 0x2
+ IL_1b270: blt IL_1b1dc
+
+ IL_1b275: ldc.i8 0x0
+ IL_1b27e: stloc V_10
+ IL_1b282: ldc.i8 0x0
+ IL_1b28b: stloc V_11
+ IL_1b28f: br IL_1b294
+
+ IL_1b294: ldc.i8 0x0
+ IL_1b29d: stloc V_12
+ IL_1b2a1: ldloc V_12
+ IL_1b2a5: ldc.i8 0x1
+ IL_1b2ae: add
+ IL_1b2af: stloc V_12
+ IL_1b2b3: ldloc V_12
+ IL_1b2b7: ldc.i8 0x2
+ IL_1b2c0: blt IL_1b2a1
+
+ IL_1b2c5: ldc.i8 0x0
+ IL_1b2ce: stloc V_12
+ IL_1b2d2: ldloc V_12
+ IL_1b2d6: ldc.i8 0x1
+ IL_1b2df: add
+ IL_1b2e0: stloc V_12
+ IL_1b2e4: ldloc V_12
+ IL_1b2e8: ldc.i8 0x1
+ IL_1b2f1: blt IL_1b2d2
+
+ IL_1b2f6: ldloc V_7
+ IL_1b2fa: stloc V_25
+ IL_1b2fe: ldloc V_11
+ IL_1b302: ldc.i8 0x1
+ IL_1b30b: add
+ IL_1b30c: stloc V_11
+ IL_1b310: ldloc V_11
+ IL_1b314: ldc.i8 0x2
+ IL_1b31d: blt IL_1b28f
+
+ IL_1b322: ldc.i8 0x0
+ IL_1b32b: stloc V_11
+ IL_1b32f: ldc.i8 0x0
+ IL_1b338: stloc V_12
+ IL_1b33c: ldloc V_12
+ IL_1b340: ldc.i8 0x1
+ IL_1b349: add
+ IL_1b34a: stloc V_12
+ IL_1b34e: ldloc V_12
+ IL_1b352: ldc.i8 0x2
+ IL_1b35b: blt IL_1b33c
+
+ IL_1b360: ldc.i8 0x0
+ IL_1b369: stloc V_12
+ IL_1b36d: ldloc V_12
+ IL_1b371: ldc.i8 0x1
+ IL_1b37a: add
+ IL_1b37b: stloc V_12
+ IL_1b37f: ldloc V_12
+ IL_1b383: ldc.i8 0x1
+ IL_1b38c: blt IL_1b36d
+
+ IL_1b391: ldloc V_2
+ IL_1b395: ldloc V_8
+ IL_1b399: add
+ IL_1b39a: stloc V_25
+ IL_1b39e: ldloc V_11
+ IL_1b3a2: ldc.i8 0x1
+ IL_1b3ab: add
+ IL_1b3ac: stloc V_11
+ IL_1b3b0: ldloc V_11
+ IL_1b3b4: ldc.i8 0x2
+ IL_1b3bd: blt IL_1b32f
+
+ IL_1b3c2: br IL_1b3de
+
+ IL_1b3c7: ldloc V_47
+ IL_1b3cb: ldloc V_47
+ IL_1b3cf: add
+ IL_1b3d0: ldc.i8 0x6
+ IL_1b3d9: add
+ IL_1b3da: stloc V_47
+ IL_1b3de: ldloc V_37
+ IL_1b3e2: ldloc V_37
+ IL_1b3e6: add
+ IL_1b3e7: stloc V_37
+ IL_1b3eb: ldloc V_10
+ IL_1b3ef: ldc.i8 0x1
+ IL_1b3f8: add
+ IL_1b3f9: stloc V_10
+ IL_1b3fd: ldloc V_10
+ IL_1b401: ldc.i8 0x0
+ IL_1b40a: blt IL_1b282
+
+ IL_1b40f: ldc.i8 0x0
+ IL_1b418: stloc V_10
+ IL_1b41c: ldc.i8 0x0
+ IL_1b425: stloc V_11
+ IL_1b429: br IL_1b42e
+
+ IL_1b42e: br IL_1b433
+
+ IL_1b433: br IL_1b438
+
+ IL_1b438: ldloc V_37
+ IL_1b43c: ldloc V_46
+ IL_1b440: add
+ IL_1b441: ldc.i8 0x5
+ IL_1b44a: add
+ IL_1b44b: stloc V_37
+ IL_1b44f: ldloc V_11
+ IL_1b453: ldc.i8 0x1
+ IL_1b45c: add
+ IL_1b45d: stloc V_11
+ IL_1b461: ldloc V_11
+ IL_1b465: ldc.i8 0x1
+ IL_1b46e: blt IL_1b429
+
+ IL_1b473: ldloc V_49
+ IL_1b477: stloc V_16
+ IL_1b47b: ldloc V_10
+ IL_1b47f: ldc.i8 0x1
+ IL_1b488: add
+ IL_1b489: stloc V_10
+ IL_1b48d: ldloc V_10
+ IL_1b491: ldc.i8 0x0
+ IL_1b49a: blt IL_1b41c
+
+ IL_1b49f: ldloc V_7
+ IL_1b4a3: ldloc V_3
+ IL_1b4a7: add
+ IL_1b4a8: stloc V_35
+ IL_1b4ac: ldloc V_28
+ IL_1b4b0: ldloc V_16
+ IL_1b4b4: add
+ IL_1b4b5: stloc V_46
+ IL_1b4b9: ldloc V_39
+ IL_1b4bd: ldc.i8 0x3
+ IL_1b4c6: add
+ IL_1b4c7: stloc V_16
+ IL_1b4cb: ldloc V_7
+ IL_1b4cf: ldc.i8 0x1
+ IL_1b4d8: add
+ IL_1b4d9: stloc V_7
+ IL_1b4dd: ldloc V_7
+ IL_1b4e1: ldc.i8 0x2
+ IL_1b4ea: blt IL_194fd
+
+ IL_1b4ef: ldc.i8 0x0
+ IL_1b4f8: stloc V_7
+ IL_1b4fc: ldloc V_13
+ IL_1b500: ldloc V_33
+ IL_1b504: add
+ IL_1b505: stloc V_28
+ IL_1b509: ldloc V_7
+ IL_1b50d: ldc.i8 0x1
+ IL_1b516: add
+ IL_1b517: stloc V_7
+ IL_1b51b: ldloc V_7
+ IL_1b51f: ldc.i8 0x0
+ IL_1b528: blt IL_1b4fc
+
+ IL_1b52d: ldc.i8 0x0
+ IL_1b536: stloc V_7
+ IL_1b53a: ldc.i8 0x0
+ IL_1b543: stloc V_8
+ IL_1b547: ldc.i8 0x9
+ IL_1b550: stloc V_19
+ IL_1b554: ldloc V_8
+ IL_1b558: ldc.i8 0x1
+ IL_1b561: add
+ IL_1b562: stloc V_8
+ IL_1b566: ldloc V_8
+ IL_1b56a: ldc.i8 0x2
+ IL_1b573: blt IL_1b547
+
+ IL_1b578: ldloc V_24
+ IL_1b57c: ldc.i8 0x4
+ IL_1b585: add
+ IL_1b586: stloc V_24
+ IL_1b58a: ldloc V_7
+ IL_1b58e: ldc.i8 0x1
+ IL_1b597: add
+ IL_1b598: stloc V_7
+ IL_1b59c: ldloc V_7
+ IL_1b5a0: ldc.i8 0x0
+ IL_1b5a9: blt IL_1b53a
+
+ IL_1b5ae: ldloc V_7
+ IL_1b5b2: ldc.i8 0x6
+ IL_1b5bb: add
+ IL_1b5bc: stloc V_20
+ IL_1b5c0: ldloc V_34
+ IL_1b5c4: ldc.i8 0x5
+ IL_1b5cd: add
+ IL_1b5ce: stloc V_25
+ IL_1b5d2: ldloc V_5
+ IL_1b5d6: ldc.i8 0x1
+ IL_1b5df: add
+ IL_1b5e0: stloc V_5
+ IL_1b5e4: ldloc V_5
+ IL_1b5e8: ldc.i8 0x0
+ IL_1b5f1: blt IL_12efc
+
+ IL_1b5f6: ldc.i8 0x0
+ IL_1b5ff: stloc V_5
+ IL_1b603: ldc.i8 0x0
+ IL_1b60c: stloc V_6
+ IL_1b610: ldc.i8 0x0
+ IL_1b619: stloc V_7
+ IL_1b61d: ldc.i8 0x0
+ IL_1b626: stloc V_8
+ IL_1b62a: nop
+ IL_1b62b: ldloc V_8
+ IL_1b62f: ldc.i8 0x1
+ IL_1b638: add
+ IL_1b639: stloc V_8
+ IL_1b63d: ldloc V_8
+ IL_1b641: ldc.i8 0x2
+ IL_1b64a: blt IL_1b62a
+
+ IL_1b64f: ldloc V_49
+ IL_1b653: ldc.i8 0x9
+ IL_1b65c: add
+ IL_1b65d: stloc V_46
+ IL_1b661: ldloc V_7
+ IL_1b665: ldc.i8 0x1
+ IL_1b66e: add
+ IL_1b66f: stloc V_7
+ IL_1b673: ldloc V_7
+ IL_1b677: ldc.i8 0x0
+ IL_1b680: blt IL_1b61d
+
+ IL_1b685: ldloc V_39
+ IL_1b689: ldloc V_7
+ IL_1b68d: add
+ IL_1b68e: stloc V_39
+ IL_1b692: ldloc V_6
+ IL_1b696: ldc.i8 0x1
+ IL_1b69f: add
+ IL_1b6a0: stloc V_6
+ IL_1b6a4: ldloc V_6
+ IL_1b6a8: ldc.i8 0x1
+ IL_1b6b1: blt IL_1b610
+
+ IL_1b6b6: br IL_1dd46
+
+ IL_1b6bb: br IL_1bb6f
+
+ IL_1b6c0: ldc.i8 0x0
+ IL_1b6c9: stloc V_8
+ IL_1b6cd: br IL_1b701
+
+ IL_1b6d2: br IL_1b6ee
+
+ IL_1b6d7: ldloc V_13
+ IL_1b6db: ldloc V_17
+ IL_1b6df: add
+ IL_1b6e0: ldc.i8 0x8
+ IL_1b6e9: add
+ IL_1b6ea: stloc V_13
+ IL_1b6ee: br IL_1b700
+
+ IL_1b6f3: ldloc V_25
+ IL_1b6f7: ldloc V_20
+ IL_1b6fb: add
+ IL_1b6fc: stloc V_25
+ IL_1b700: nop
+ IL_1b701: br IL_1b713
+
+ IL_1b706: ldloc V_37
+ IL_1b70a: ldloc V_5
+ IL_1b70e: add
+ IL_1b70f: stloc V_10
+ IL_1b713: br IL_1b8ec
+
+ IL_1b718: ldc.i8 0x0
+ IL_1b721: stloc V_10
+ IL_1b725: br IL_1b746
+
+ IL_1b72a: br IL_1b72f
+
+ IL_1b72f: br IL_1b734
+
+ IL_1b734: br IL_1b739
+
+ IL_1b739: br IL_1b73e
+
+ IL_1b73e: ldloc V_31
+ IL_1b742: stloc V_36
+ IL_1b746: nop
+ IL_1b747: ldloc V_10
+ IL_1b74b: ldc.i8 0x1
+ IL_1b754: add
+ IL_1b755: stloc V_10
+ IL_1b759: ldloc V_10
+ IL_1b75d: ldc.i8 0x1
+ IL_1b766: blt IL_1b725
+
+ IL_1b76b: ldc.i8 0x0
+ IL_1b774: stloc V_10
+ IL_1b778: br IL_1b7fb
+
+ IL_1b77d: ldc.i8 0x0
+ IL_1b786: stloc V_12
+ IL_1b78a: ldloc V_12
+ IL_1b78e: ldc.i8 0x1
+ IL_1b797: add
+ IL_1b798: stloc V_12
+ IL_1b79c: ldloc V_12
+ IL_1b7a0: ldc.i8 0x2
+ IL_1b7a9: blt IL_1b78a
+
+ IL_1b7ae: br IL_1b7b3
+
+ IL_1b7b3: ldc.i8 0x0
+ IL_1b7bc: stloc V_12
+ IL_1b7c0: ldloc V_12
+ IL_1b7c4: ldc.i8 0x1
+ IL_1b7cd: add
+ IL_1b7ce: stloc V_12
+ IL_1b7d2: ldloc V_12
+ IL_1b7d6: ldc.i8 0x0
+ IL_1b7df: blt IL_1b7c0
+
+ IL_1b7e4: ldloc V_45
+ IL_1b7e8: ldloc V_23
+ IL_1b7ec: add
+ IL_1b7ed: ldc.i8 0x7
+ IL_1b7f6: add
+ IL_1b7f7: stloc V_45
+ IL_1b7fb: ldc.i8 0x1
+ IL_1b804: stloc V_21
+ IL_1b808: ldloc V_10
+ IL_1b80c: ldc.i8 0x1
+ IL_1b815: add
+ IL_1b816: stloc V_10
+ IL_1b81a: ldloc V_10
+ IL_1b81e: ldc.i8 0x0
+ IL_1b827: blt IL_1b778
+
+ IL_1b82c: br IL_1b8a1
+
+ IL_1b831: ldc.i8 0x0
+ IL_1b83a: stloc V_11
+ IL_1b83e: ldc.i8 0x0
+ IL_1b847: stloc V_12
+ IL_1b84b: ldloc V_12
+ IL_1b84f: ldc.i8 0x1
+ IL_1b858: add
+ IL_1b859: stloc V_12
+ IL_1b85d: ldloc V_12
+ IL_1b861: ldc.i8 0x2
+ IL_1b86a: blt IL_1b84b
+
+ IL_1b86f: nop
+ IL_1b870: ldloc V_11
+ IL_1b874: ldc.i8 0x1
+ IL_1b87d: add
+ IL_1b87e: stloc V_11
+ IL_1b882: ldloc V_11
+ IL_1b886: ldc.i8 0x1
+ IL_1b88f: blt IL_1b83e
+
+ IL_1b894: ldc.i8 0x6
+ IL_1b89d: stloc V_49
+ IL_1b8a1: ldc.i8 0x0
+ IL_1b8aa: stloc V_10
+ IL_1b8ae: ldc.i8 0x1
+ IL_1b8b7: stloc V_31
+ IL_1b8bb: ldloc V_10
+ IL_1b8bf: ldc.i8 0x1
+ IL_1b8c8: add
+ IL_1b8c9: stloc V_10
+ IL_1b8cd: ldloc V_10
+ IL_1b8d1: ldc.i8 0x1
+ IL_1b8da: blt IL_1b8ae
+
+ IL_1b8df: ldc.i8 0x2
+ IL_1b8e8: stloc V_28
+ IL_1b8ec: ldc.i8 0x0
+ IL_1b8f5: stloc V_9
+ IL_1b8f9: ldc.i8 0x0
+ IL_1b902: stloc V_10
+ IL_1b906: br IL_1b97a
+
+ IL_1b90b: ldc.i8 0x0
+ IL_1b914: stloc V_12
+ IL_1b918: ldloc V_12
+ IL_1b91c: ldc.i8 0x1
+ IL_1b925: add
+ IL_1b926: stloc V_12
+ IL_1b92a: ldloc V_12
+ IL_1b92e: ldc.i8 0x0
+ IL_1b937: blt IL_1b918
+
+ IL_1b93c: ldc.i8 0x0
+ IL_1b945: stloc V_12
+ IL_1b949: ldloc V_12
+ IL_1b94d: ldc.i8 0x1
+ IL_1b956: add
+ IL_1b957: stloc V_12
+ IL_1b95b: ldloc V_12
+ IL_1b95f: ldc.i8 0x2
+ IL_1b968: blt IL_1b949
+
+ IL_1b96d: ldloc V_30
+ IL_1b971: ldloc V_5
+ IL_1b975: add
+ IL_1b976: stloc V_30
+ IL_1b97a: br IL_1b9ee
+
+ IL_1b97f: ldc.i8 0x0
+ IL_1b988: stloc V_12
+ IL_1b98c: ldloc V_12
+ IL_1b990: ldc.i8 0x1
+ IL_1b999: add
+ IL_1b99a: stloc V_12
+ IL_1b99e: ldloc V_12
+ IL_1b9a2: ldc.i8 0x1
+ IL_1b9ab: blt IL_1b98c
+
+ IL_1b9b0: br IL_1b9b5
+
+ IL_1b9b5: ldc.i8 0x0
+ IL_1b9be: stloc V_12
+ IL_1b9c2: ldloc V_12
+ IL_1b9c6: ldc.i8 0x1
+ IL_1b9cf: add
+ IL_1b9d0: stloc V_12
+ IL_1b9d4: ldloc V_12
+ IL_1b9d8: ldc.i8 0x1
+ IL_1b9e1: blt IL_1b9c2
+
+ IL_1b9e6: ldloc V_37
+ IL_1b9ea: stloc V_30
+ IL_1b9ee: ldc.i8 0x0
+ IL_1b9f7: stloc V_11
+ IL_1b9fb: br IL_1ba00
+
+ IL_1ba00: ldc.i8 0x0
+ IL_1ba09: stloc V_12
+ IL_1ba0d: ldloc V_12
+ IL_1ba11: ldc.i8 0x1
+ IL_1ba1a: add
+ IL_1ba1b: stloc V_12
+ IL_1ba1f: ldloc V_12
+ IL_1ba23: ldc.i8 0x1
+ IL_1ba2c: blt IL_1ba0d
+
+ IL_1ba31: ldc.i8 0x0
+ IL_1ba3a: stloc V_12
+ IL_1ba3e: ldloc V_12
+ IL_1ba42: ldc.i8 0x1
+ IL_1ba4b: add
+ IL_1ba4c: stloc V_12
+ IL_1ba50: ldloc V_12
+ IL_1ba54: ldc.i8 0x2
+ IL_1ba5d: blt IL_1ba3e
+
+ IL_1ba62: ldc.i8 0x0
+ IL_1ba6b: stloc V_12
+ IL_1ba6f: ldloc V_12
+ IL_1ba73: ldc.i8 0x1
+ IL_1ba7c: add
+ IL_1ba7d: stloc V_12
+ IL_1ba81: ldloc V_12
+ IL_1ba85: ldc.i8 0x0
+ IL_1ba8e: blt IL_1ba6f
+
+ IL_1ba93: ldloc V_19
+ IL_1ba97: ldc.i8 0x9
+ IL_1baa0: add
+ IL_1baa1: stloc V_19
+ IL_1baa5: ldloc V_11
+ IL_1baa9: ldc.i8 0x1
+ IL_1bab2: add
+ IL_1bab3: stloc V_11
+ IL_1bab7: ldloc V_11
+ IL_1babb: ldc.i8 0x0
+ IL_1bac4: blt IL_1b9fb
+
+ IL_1bac9: br IL_1bacf
+
+ IL_1bace: nop
+ IL_1bacf: ldloc V_38
+ IL_1bad3: ldc.i8 0x5
+ IL_1badc: add
+ IL_1badd: stloc V_40
+ IL_1bae1: ldloc V_10
+ IL_1bae5: ldc.i8 0x1
+ IL_1baee: add
+ IL_1baef: stloc V_10
+ IL_1baf3: ldloc V_10
+ IL_1baf7: ldc.i8 0x0
+ IL_1bb00: blt IL_1b906
+
+ IL_1bb05: ldloc V_19
+ IL_1bb09: ldloc V_24
+ IL_1bb0d: add
+ IL_1bb0e: stloc V_18
+ IL_1bb12: ldloc V_9
+ IL_1bb16: ldc.i8 0x1
+ IL_1bb1f: add
+ IL_1bb20: stloc V_9
+ IL_1bb24: ldloc V_9
+ IL_1bb28: ldc.i8 0x1
+ IL_1bb31: blt IL_1b8f9
+
+ IL_1bb36: ldloc V_45
+ IL_1bb3a: stloc V_9
+ IL_1bb3e: ldloc V_8
+ IL_1bb42: ldc.i8 0x1
+ IL_1bb4b: add
+ IL_1bb4c: stloc V_8
+ IL_1bb50: ldloc V_8
+ IL_1bb54: ldc.i8 0x1
+ IL_1bb5d: blt IL_1b6cd
+
+ IL_1bb62: ldc.i8 0x3
+ IL_1bb6b: stloc V_17
+ IL_1bb6f: br IL_1c791
+
+ IL_1bb74: ldc.i8 0x0
+ IL_1bb7d: stloc V_8
+ IL_1bb81: ldc.i8 0x0
+ IL_1bb8a: stloc V_9
+ IL_1bb8e: br IL_1bd6e
+
+ IL_1bb93: br IL_1bbdb
+
+ IL_1bb98: ldc.i8 0x0
+ IL_1bba1: stloc V_12
+ IL_1bba5: ldloc V_12
+ IL_1bba9: ldc.i8 0x1
+ IL_1bbb2: add
+ IL_1bbb3: stloc V_12
+ IL_1bbb7: ldloc V_12
+ IL_1bbbb: ldc.i8 0x0
+ IL_1bbc4: blt IL_1bba5
+
+ IL_1bbc9: br IL_1bbce
+
+ IL_1bbce: ldloc V_34
+ IL_1bbd2: ldloc V_14
+ IL_1bbd6: add
+ IL_1bbd7: stloc V_42
+ IL_1bbdb: ldc.i8 0x0
+ IL_1bbe4: stloc V_11
+ IL_1bbe8: br IL_1bbed
+
+ IL_1bbed: ldc.i8 0x0
+ IL_1bbf6: stloc V_12
+ IL_1bbfa: ldloc V_12
+ IL_1bbfe: ldc.i8 0x1
+ IL_1bc07: add
+ IL_1bc08: stloc V_12
+ IL_1bc0c: ldloc V_12
+ IL_1bc10: ldc.i8 0x1
+ IL_1bc19: blt IL_1bbfa
+
+ IL_1bc1e: ldloc V_34
+ IL_1bc22: ldloc V_2
+ IL_1bc26: add
+ IL_1bc27: stloc V_34
+ IL_1bc2b: ldloc V_11
+ IL_1bc2f: ldc.i8 0x1
+ IL_1bc38: add
+ IL_1bc39: stloc V_11
+ IL_1bc3d: ldloc V_11
+ IL_1bc41: ldc.i8 0x2
+ IL_1bc4a: blt IL_1bbe8
+
+ IL_1bc4f: ldc.i8 0x0
+ IL_1bc58: stloc V_11
+ IL_1bc5c: ldc.i8 0x0
+ IL_1bc65: stloc V_12
+ IL_1bc69: ldloc V_12
+ IL_1bc6d: ldc.i8 0x1
+ IL_1bc76: add
+ IL_1bc77: stloc V_12
+ IL_1bc7b: ldloc V_12
+ IL_1bc7f: ldc.i8 0x0
+ IL_1bc88: blt IL_1bc69
+
+ IL_1bc8d: nop
+ IL_1bc8e: ldloc V_11
+ IL_1bc92: ldc.i8 0x1
+ IL_1bc9b: add
+ IL_1bc9c: stloc V_11
+ IL_1bca0: ldloc V_11
+ IL_1bca4: ldc.i8 0x0
+ IL_1bcad: blt IL_1bc5c
+
+ IL_1bcb2: ldc.i8 0x0
+ IL_1bcbb: stloc V_11
+ IL_1bcbf: br IL_1bcc4
+
+ IL_1bcc4: br IL_1bcc9
+
+ IL_1bcc9: ldc.i8 0x0
+ IL_1bcd2: stloc V_12
+ IL_1bcd6: ldloc V_12
+ IL_1bcda: ldc.i8 0x1
+ IL_1bce3: add
+ IL_1bce4: stloc V_12
+ IL_1bce8: ldloc V_12
+ IL_1bcec: ldc.i8 0x0
+ IL_1bcf5: blt IL_1bcd6
+
+ IL_1bcfa: ldc.i8 0x0
+ IL_1bd03: stloc V_12
+ IL_1bd07: ldloc V_12
+ IL_1bd0b: ldc.i8 0x1
+ IL_1bd14: add
+ IL_1bd15: stloc V_12
+ IL_1bd19: ldloc V_12
+ IL_1bd1d: ldc.i8 0x1
+ IL_1bd26: blt IL_1bd07
+
+ IL_1bd2b: ldloc V_45
+ IL_1bd2f: ldc.i8 0x3
+ IL_1bd38: add
+ IL_1bd39: stloc V_34
+ IL_1bd3d: ldloc V_11
+ IL_1bd41: ldc.i8 0x1
+ IL_1bd4a: add
+ IL_1bd4b: stloc V_11
+ IL_1bd4f: ldloc V_11
+ IL_1bd53: ldc.i8 0x1
+ IL_1bd5c: blt IL_1bcbf
+
+ IL_1bd61: ldloc V_8
+ IL_1bd65: ldloc V_40
+ IL_1bd69: add
+ IL_1bd6a: stloc V_48
+ IL_1bd6e: ldc.i8 0x0
+ IL_1bd77: stloc V_10
+ IL_1bd7b: ldc.i8 0x0
+ IL_1bd84: stloc V_11
+ IL_1bd88: ldc.i8 0x0
+ IL_1bd91: stloc V_12
+ IL_1bd95: ldloc V_12
+ IL_1bd99: ldc.i8 0x1
+ IL_1bda2: add
+ IL_1bda3: stloc V_12
+ IL_1bda7: ldloc V_12
+ IL_1bdab: ldc.i8 0x1
+ IL_1bdb4: blt IL_1bd95
+
+ IL_1bdb9: ldc.i8 0x0
+ IL_1bdc2: stloc V_12
+ IL_1bdc6: ldloc V_12
+ IL_1bdca: ldc.i8 0x1
+ IL_1bdd3: add
+ IL_1bdd4: stloc V_12
+ IL_1bdd8: ldloc V_12
+ IL_1bddc: ldc.i8 0x2
+ IL_1bde5: blt IL_1bdc6
+
+ IL_1bdea: ldloc V_3
+ IL_1bdee: stloc V_45
+ IL_1bdf2: ldloc V_11
+ IL_1bdf6: ldc.i8 0x1
+ IL_1bdff: add
+ IL_1be00: stloc V_11
+ IL_1be04: ldloc V_11
+ IL_1be08: ldc.i8 0x0
+ IL_1be11: blt IL_1bd88
+
+ IL_1be16: ldloc V_37
+ IL_1be1a: ldloc V_23
+ IL_1be1e: add
+ IL_1be1f: stloc V_30
+ IL_1be23: ldloc V_10
+ IL_1be27: ldc.i8 0x1
+ IL_1be30: add
+ IL_1be31: stloc V_10
+ IL_1be35: ldloc V_10
+ IL_1be39: ldc.i8 0x1
+ IL_1be42: blt IL_1bd7b
+
+ IL_1be47: ldloc V_17
+ IL_1be4b: ldc.i8 0x9
+ IL_1be54: add
+ IL_1be55: stloc V_21
+ IL_1be59: ldloc V_9
+ IL_1be5d: ldc.i8 0x1
+ IL_1be66: add
+ IL_1be67: stloc V_9
+ IL_1be6b: ldloc V_9
+ IL_1be6f: ldc.i8 0x1
+ IL_1be78: blt IL_1bb8e
+
+ IL_1be7d: ldloc V_27
+ IL_1be81: ldloc V_39
+ IL_1be85: add
+ IL_1be86: stloc V_18
+ IL_1be8a: ldloc V_8
+ IL_1be8e: ldc.i8 0x1
+ IL_1be97: add
+ IL_1be98: stloc V_8
+ IL_1be9c: ldloc V_8
+ IL_1bea0: ldc.i8 0x0
+ IL_1bea9: blt IL_1bb81
+
+ IL_1beae: br IL_1c6e7
+
+ IL_1beb3: ldc.i8 0x0
+ IL_1bebc: stloc V_9
+ IL_1bec0: ldc.i8 0x0
+ IL_1bec9: stloc V_10
+ IL_1becd: ldc.i8 0x0
+ IL_1bed6: stloc V_11
+ IL_1beda: br IL_1bedf
+
+ IL_1bedf: br IL_1bee4
+
+ IL_1bee4: ldloc V_31
+ IL_1bee8: ldloc V_3
+ IL_1beec: add
+ IL_1beed: stloc V_43
+ IL_1bef1: ldloc V_11
+ IL_1bef5: ldc.i8 0x1
+ IL_1befe: add
+ IL_1beff: stloc V_11
+ IL_1bf03: ldloc V_11
+ IL_1bf07: ldc.i8 0x1
+ IL_1bf10: blt IL_1beda
+
+ IL_1bf15: ldc.i8 0x0
+ IL_1bf1e: stloc V_11
+ IL_1bf22: br IL_1bf27
+
+ IL_1bf27: ldc.i8 0x0
+ IL_1bf30: stloc V_12
+ IL_1bf34: ldloc V_12
+ IL_1bf38: ldc.i8 0x1
+ IL_1bf41: add
+ IL_1bf42: stloc V_12
+ IL_1bf46: ldloc V_12
+ IL_1bf4a: ldc.i8 0x1
+ IL_1bf53: blt IL_1bf34
+
+ IL_1bf58: ldc.i8 0x0
+ IL_1bf61: stloc V_12
+ IL_1bf65: ldloc V_12
+ IL_1bf69: ldc.i8 0x1
+ IL_1bf72: add
+ IL_1bf73: stloc V_12
+ IL_1bf77: ldloc V_12
+ IL_1bf7b: ldc.i8 0x2
+ IL_1bf84: blt IL_1bf65
+
+ IL_1bf89: ldc.i8 0x0
+ IL_1bf92: stloc V_12
+ IL_1bf96: ldloc V_12
+ IL_1bf9a: ldc.i8 0x1
+ IL_1bfa3: add
+ IL_1bfa4: stloc V_12
+ IL_1bfa8: ldloc V_12
+ IL_1bfac: ldc.i8 0x0
+ IL_1bfb5: blt IL_1bf96
+
+ IL_1bfba: ldloc V_35
+ IL_1bfbe: ldloc V_5
+ IL_1bfc2: add
+ IL_1bfc3: stloc V_35
+ IL_1bfc7: ldloc V_11
+ IL_1bfcb: ldc.i8 0x1
+ IL_1bfd4: add
+ IL_1bfd5: stloc V_11
+ IL_1bfd9: ldloc V_11
+ IL_1bfdd: ldc.i8 0x1
+ IL_1bfe6: blt IL_1bf22
+
+ IL_1bfeb: ldloc V_11
+ IL_1bfef: ldloc V_44
+ IL_1bff3: add
+ IL_1bff4: stloc V_35
+ IL_1bff8: ldloc V_10
+ IL_1bffc: ldc.i8 0x1
+ IL_1c005: add
+ IL_1c006: stloc V_10
+ IL_1c00a: ldloc V_10
+ IL_1c00e: ldc.i8 0x2
+ IL_1c017: blt IL_1becd
+
+ IL_1c01c: ldc.i8 0x0
+ IL_1c025: stloc V_10
+ IL_1c029: ldc.i8 0x0
+ IL_1c032: stloc V_11
+ IL_1c036: ldc.i8 0x0
+ IL_1c03f: stloc V_12
+ IL_1c043: ldloc V_12
+ IL_1c047: ldc.i8 0x1
+ IL_1c050: add
+ IL_1c051: stloc V_12
+ IL_1c055: ldloc V_12
+ IL_1c059: ldc.i8 0x0
+ IL_1c062: blt IL_1c043
+
+ IL_1c067: ldloc V_25
+ IL_1c06b: ldloc V_6
+ IL_1c06f: add
+ IL_1c070: ldc.i8 0x1
+ IL_1c079: add
+ IL_1c07a: stloc V_25
+ IL_1c07e: ldloc V_11
+ IL_1c082: ldc.i8 0x1
+ IL_1c08b: add
+ IL_1c08c: stloc V_11
+ IL_1c090: ldloc V_11
+ IL_1c094: ldc.i8 0x0
+ IL_1c09d: blt IL_1c036
+
+ IL_1c0a2: ldc.i8 0x0
+ IL_1c0ab: stloc V_11
+ IL_1c0af: br IL_1c0b4
+
+ IL_1c0b4: ldloc V_18
+ IL_1c0b8: ldloc V_16
+ IL_1c0bc: add
+ IL_1c0bd: stloc V_40
+ IL_1c0c1: ldloc V_11
+ IL_1c0c5: ldc.i8 0x1
+ IL_1c0ce: add
+ IL_1c0cf: stloc V_11
+ IL_1c0d3: ldloc V_11
+ IL_1c0d7: ldc.i8 0x0
+ IL_1c0e0: blt IL_1c0af
+
+ IL_1c0e5: ldloc V_31
+ IL_1c0e9: ldloc V_9
+ IL_1c0ed: add
+ IL_1c0ee: stloc V_19
+ IL_1c0f2: ldloc V_10
+ IL_1c0f6: ldc.i8 0x1
+ IL_1c0ff: add
+ IL_1c100: stloc V_10
+ IL_1c104: ldloc V_10
+ IL_1c108: ldc.i8 0x2
+ IL_1c111: blt IL_1c029
+
+ IL_1c116: ldc.i8 0x0
+ IL_1c11f: stloc V_10
+ IL_1c123: ldc.i8 0x0
+ IL_1c12c: stloc V_11
+ IL_1c130: ldc.i8 0x0
+ IL_1c139: stloc V_12
+ IL_1c13d: ldloc V_12
+ IL_1c141: ldc.i8 0x1
+ IL_1c14a: add
+ IL_1c14b: stloc V_12
+ IL_1c14f: ldloc V_12
+ IL_1c153: ldc.i8 0x0
+ IL_1c15c: blt IL_1c13d
+
+ IL_1c161: ldloc V_40
+ IL_1c165: stloc V_13
+ IL_1c169: ldloc V_11
+ IL_1c16d: ldc.i8 0x1
+ IL_1c176: add
+ IL_1c177: stloc V_11
+ IL_1c17b: ldloc V_11
+ IL_1c17f: ldc.i8 0x1
+ IL_1c188: blt IL_1c130
+
+ IL_1c18d: ldc.i8 0x0
+ IL_1c196: stloc V_11
+ IL_1c19a: br IL_1c19f
+
+ IL_1c19f: ldloc V_5
+ IL_1c1a3: ldc.i8 0x2
+ IL_1c1ac: add
+ IL_1c1ad: stloc V_24
+ IL_1c1b1: ldloc V_11
+ IL_1c1b5: ldc.i8 0x1
+ IL_1c1be: add
+ IL_1c1bf: stloc V_11
+ IL_1c1c3: ldloc V_11
+ IL_1c1c7: ldc.i8 0x1
+ IL_1c1d0: blt IL_1c19a
+
+ IL_1c1d5: ldloc V_9
+ IL_1c1d9: ldc.i8 0x4
+ IL_1c1e2: add
+ IL_1c1e3: stloc V_47
+ IL_1c1e7: ldloc V_10
+ IL_1c1eb: ldc.i8 0x1
+ IL_1c1f4: add
+ IL_1c1f5: stloc V_10
+ IL_1c1f9: ldloc V_10
+ IL_1c1fd: ldc.i8 0x2
+ IL_1c206: blt IL_1c123
+
+ IL_1c20b: ldloc V_49
+ IL_1c20f: stloc V_13
+ IL_1c213: ldloc V_9
+ IL_1c217: ldc.i8 0x1
+ IL_1c220: add
+ IL_1c221: stloc V_9
+ IL_1c225: ldloc V_9
+ IL_1c229: ldc.i8 0x2
+ IL_1c232: blt IL_1bec0
+
+ IL_1c237: ldc.i8 0x0
+ IL_1c240: stloc V_9
+ IL_1c244: ldc.i8 0x0
+ IL_1c24d: stloc V_10
+ IL_1c251: ldc.i8 0x0
+ IL_1c25a: stloc V_11
+ IL_1c25e: ldc.i8 0x0
+ IL_1c267: stloc V_12
+ IL_1c26b: ldloc V_12
+ IL_1c26f: ldc.i8 0x1
+ IL_1c278: add
+ IL_1c279: stloc V_12
+ IL_1c27d: ldloc V_12
+ IL_1c281: ldc.i8 0x1
+ IL_1c28a: blt IL_1c26b
+
+ IL_1c28f: ldloc V_48
+ IL_1c293: ldloc V_34
+ IL_1c297: add
+ IL_1c298: stloc V_48
+ IL_1c29c: ldloc V_11
+ IL_1c2a0: ldc.i8 0x1
+ IL_1c2a9: add
+ IL_1c2aa: stloc V_11
+ IL_1c2ae: ldloc V_11
+ IL_1c2b2: ldc.i8 0x2
+ IL_1c2bb: blt IL_1c25e
+
+ IL_1c2c0: ldloc V_20
+ IL_1c2c4: ldc.i8 0x6
+ IL_1c2cd: add
+ IL_1c2ce: stloc V_27
+ IL_1c2d2: ldloc V_10
+ IL_1c2d6: ldc.i8 0x1
+ IL_1c2df: add
+ IL_1c2e0: stloc V_10
+ IL_1c2e4: ldloc V_10
+ IL_1c2e8: ldc.i8 0x1
+ IL_1c2f1: blt IL_1c251
+
+ IL_1c2f6: ldc.i8 0x0
+ IL_1c2ff: stloc V_10
+ IL_1c303: ldc.i8 0x0
+ IL_1c30c: stloc V_11
+ IL_1c310: ldc.i8 0x0
+ IL_1c319: stloc V_12
+ IL_1c31d: ldloc V_12
+ IL_1c321: ldc.i8 0x1
+ IL_1c32a: add
+ IL_1c32b: stloc V_12
+ IL_1c32f: ldloc V_12
+ IL_1c333: ldc.i8 0x2
+ IL_1c33c: blt IL_1c31d
+
+ IL_1c341: ldc.i8 0x0
+ IL_1c34a: stloc V_12
+ IL_1c34e: ldloc V_12
+ IL_1c352: ldc.i8 0x1
+ IL_1c35b: add
+ IL_1c35c: stloc V_12
+ IL_1c360: ldloc V_12
+ IL_1c364: ldc.i8 0x1
+ IL_1c36d: blt IL_1c34e
+
+ IL_1c372: br IL_1c377
+
+ IL_1c377: ldloc V_49
+ IL_1c37b: ldc.i8 0x9
+ IL_1c384: add
+ IL_1c385: stloc V_46
+ IL_1c389: ldloc V_11
+ IL_1c38d: ldc.i8 0x1
+ IL_1c396: add
+ IL_1c397: stloc V_11
+ IL_1c39b: ldloc V_11
+ IL_1c39f: ldc.i8 0x0
+ IL_1c3a8: blt IL_1c310
+
+ IL_1c3ad: ldc.i8 0x0
+ IL_1c3b6: stloc V_11
+ IL_1c3ba: ldc.i8 0x0
+ IL_1c3c3: stloc V_12
+ IL_1c3c7: ldloc V_12
+ IL_1c3cb: ldc.i8 0x1
+ IL_1c3d4: add
+ IL_1c3d5: stloc V_12
+ IL_1c3d9: ldloc V_12
+ IL_1c3dd: ldc.i8 0x0
+ IL_1c3e6: blt IL_1c3c7
+
+ IL_1c3eb: ldloc V_37
+ IL_1c3ef: ldloc V_20
+ IL_1c3f3: add
+ IL_1c3f4: ldc.i8 0x1
+ IL_1c3fd: add
+ IL_1c3fe: stloc V_37
+ IL_1c402: ldloc V_11
+ IL_1c406: ldc.i8 0x1
+ IL_1c40f: add
+ IL_1c410: stloc V_11
+ IL_1c414: ldloc V_11
+ IL_1c418: ldc.i8 0x0
+ IL_1c421: blt IL_1c3ba
+
+ IL_1c426: ldc.i8 0x0
+ IL_1c42f: stloc V_11
+ IL_1c433: ldc.i8 0x0
+ IL_1c43c: stloc V_12
+ IL_1c440: ldloc V_12
+ IL_1c444: ldc.i8 0x1
+ IL_1c44d: add
+ IL_1c44e: stloc V_12
+ IL_1c452: ldloc V_12
+ IL_1c456: ldc.i8 0x0
+ IL_1c45f: blt IL_1c440
+
+ IL_1c464: br IL_1c469
+
+ IL_1c469: br IL_1c46e
+
+ IL_1c46e: ldc.i8 0x0
+ IL_1c477: stloc V_12
+ IL_1c47b: ldloc V_12
+ IL_1c47f: ldc.i8 0x1
+ IL_1c488: add
+ IL_1c489: stloc V_12
+ IL_1c48d: ldloc V_12
+ IL_1c491: ldc.i8 0x1
+ IL_1c49a: blt IL_1c47b
+
+ IL_1c49f: ldc.i8 0x4
+ IL_1c4a8: stloc V_38
+ IL_1c4ac: ldloc V_11
+ IL_1c4b0: ldc.i8 0x1
+ IL_1c4b9: add
+ IL_1c4ba: stloc V_11
+ IL_1c4be: ldloc V_11
+ IL_1c4c2: ldc.i8 0x1
+ IL_1c4cb: blt IL_1c433
+
+ IL_1c4d0: ldloc V_40
+ IL_1c4d4: ldloc V_44
+ IL_1c4d8: add
+ IL_1c4d9: stloc V_40
+ IL_1c4dd: ldloc V_10
+ IL_1c4e1: ldc.i8 0x1
+ IL_1c4ea: add
+ IL_1c4eb: stloc V_10
+ IL_1c4ef: ldloc V_10
+ IL_1c4f3: ldc.i8 0x0
+ IL_1c4fc: blt IL_1c303
+
+ IL_1c501: nop
+ IL_1c502: ldloc V_9
+ IL_1c506: ldc.i8 0x1
+ IL_1c50f: add
+ IL_1c510: stloc V_9
+ IL_1c514: ldloc V_9
+ IL_1c518: ldc.i8 0x0
+ IL_1c521: blt IL_1c244
+
+ IL_1c526: ldc.i8 0x0
+ IL_1c52f: stloc V_9
+ IL_1c533: ldloc V_35
+ IL_1c537: stloc V_29
+ IL_1c53b: ldloc V_9
+ IL_1c53f: ldc.i8 0x1
+ IL_1c548: add
+ IL_1c549: stloc V_9
+ IL_1c54d: ldloc V_9
+ IL_1c551: ldc.i8 0x0
+ IL_1c55a: blt IL_1c533
+
+ IL_1c55f: ldc.i8 0x0
+ IL_1c568: stloc V_9
+ IL_1c56c: ldc.i8 0x0
+ IL_1c575: stloc V_10
+ IL_1c579: ldc.i8 0x0
+ IL_1c582: stloc V_11
+ IL_1c586: ldc.i8 0x0
+ IL_1c58f: stloc V_12
+ IL_1c593: ldloc V_12
+ IL_1c597: ldc.i8 0x1
+ IL_1c5a0: add
+ IL_1c5a1: stloc V_12
+ IL_1c5a5: ldloc V_12
+ IL_1c5a9: ldc.i8 0x1
+ IL_1c5b2: blt IL_1c593
+
+ IL_1c5b7: ldc.i8 0x0
+ IL_1c5c0: stloc V_12
+ IL_1c5c4: ldloc V_12
+ IL_1c5c8: ldc.i8 0x1
+ IL_1c5d1: add
+ IL_1c5d2: stloc V_12
+ IL_1c5d6: ldloc V_12
+ IL_1c5da: ldc.i8 0x1
+ IL_1c5e3: blt IL_1c5c4
+
+ IL_1c5e8: ldloc V_15
+ IL_1c5ec: ldc.i8 0x4
+ IL_1c5f5: add
+ IL_1c5f6: stloc V_31
+ IL_1c5fa: ldloc V_11
+ IL_1c5fe: ldc.i8 0x1
+ IL_1c607: add
+ IL_1c608: stloc V_11
+ IL_1c60c: ldloc V_11
+ IL_1c610: ldc.i8 0x2
+ IL_1c619: blt IL_1c586
+
+ IL_1c61e: ldc.i8 0x2
+ IL_1c627: stloc V_38
+ IL_1c62b: ldloc V_10
+ IL_1c62f: ldc.i8 0x1
+ IL_1c638: add
+ IL_1c639: stloc V_10
+ IL_1c63d: ldloc V_10
+ IL_1c641: ldc.i8 0x0
+ IL_1c64a: blt IL_1c579
+
+ IL_1c64f: ldc.i8 0x0
+ IL_1c658: stloc V_10
+ IL_1c65c: br IL_1c669
+
+ IL_1c661: ldloc V_33
+ IL_1c665: stloc V_48
+ IL_1c669: ldloc V_11
+ IL_1c66d: ldc.i8 0x8
+ IL_1c676: add
+ IL_1c677: stloc V_26
+ IL_1c67b: ldloc V_10
+ IL_1c67f: ldc.i8 0x1
+ IL_1c688: add
+ IL_1c689: stloc V_10
+ IL_1c68d: ldloc V_10
+ IL_1c691: ldc.i8 0x2
+ IL_1c69a: blt IL_1c65c
+
+ IL_1c69f: ldloc V_35
+ IL_1c6a3: ldloc V_32
+ IL_1c6a7: add
+ IL_1c6a8: stloc V_47
+ IL_1c6ac: ldloc V_9
+ IL_1c6b0: ldc.i8 0x1
+ IL_1c6b9: add
+ IL_1c6ba: stloc V_9
+ IL_1c6be: ldloc V_9
+ IL_1c6c2: ldc.i8 0x0
+ IL_1c6cb: blt IL_1c56c
+
+ IL_1c6d0: ldloc V_32
+ IL_1c6d4: ldloc V_15
+ IL_1c6d8: add
+ IL_1c6d9: ldc.i8 0x2
+ IL_1c6e2: add
+ IL_1c6e3: stloc V_32
+ IL_1c6e7: ldc.i8 0x0
+ IL_1c6f0: stloc V_8
+ IL_1c6f4: br IL_1c74e
+
+ IL_1c6f9: ldc.i8 0x0
+ IL_1c702: stloc V_10
+ IL_1c706: ldloc V_30
+ IL_1c70a: ldloc V_46
+ IL_1c70e: add
+ IL_1c70f: stloc V_30
+ IL_1c713: ldloc V_10
+ IL_1c717: ldc.i8 0x1
+ IL_1c720: add
+ IL_1c721: stloc V_10
+ IL_1c725: ldloc V_10
+ IL_1c729: ldc.i8 0x2
+ IL_1c732: blt IL_1c706
+
+ IL_1c737: ldloc V_38
+ IL_1c73b: ldloc V_33
+ IL_1c73f: add
+ IL_1c740: ldc.i8 0x6
+ IL_1c749: add
+ IL_1c74a: stloc V_38
+ IL_1c74e: ldloc V_0
+ IL_1c752: ldc.i8 0x1
+ IL_1c75b: add
+ IL_1c75c: stloc V_17
+ IL_1c760: ldloc V_8
+ IL_1c764: ldc.i8 0x1
+ IL_1c76d: add
+ IL_1c76e: stloc V_8
+ IL_1c772: ldloc V_8
+ IL_1c776: ldc.i8 0x0
+ IL_1c77f: blt IL_1c6f4
+
+ IL_1c784: ldc.i8 0x3
+ IL_1c78d: stloc V_37
+ IL_1c791: br IL_1dd34
+
+ IL_1c796: ldc.i8 0x0
+ IL_1c79f: stloc V_8
+ IL_1c7a3: ldc.i8 0x0
+ IL_1c7ac: stloc V_9
+ IL_1c7b0: ldc.i8 0x0
+ IL_1c7b9: stloc V_10
+ IL_1c7bd: ldc.i8 0x0
+ IL_1c7c6: stloc V_11
+ IL_1c7ca: ldc.i8 0x0
+ IL_1c7d3: stloc V_12
+ IL_1c7d7: ldloc V_12
+ IL_1c7db: ldc.i8 0x1
+ IL_1c7e4: add
+ IL_1c7e5: stloc V_12
+ IL_1c7e9: ldloc V_12
+ IL_1c7ed: ldc.i8 0x1
+ IL_1c7f6: blt IL_1c7d7
+
+ IL_1c7fb: ldc.i8 0x0
+ IL_1c804: stloc V_12
+ IL_1c808: ldloc V_12
+ IL_1c80c: ldc.i8 0x1
+ IL_1c815: add
+ IL_1c816: stloc V_12
+ IL_1c81a: ldloc V_12
+ IL_1c81e: ldc.i8 0x0
+ IL_1c827: blt IL_1c808
+
+ IL_1c82c: ldc.i8 0x0
+ IL_1c835: stloc V_12
+ IL_1c839: ldloc V_12
+ IL_1c83d: ldc.i8 0x1
+ IL_1c846: add
+ IL_1c847: stloc V_12
+ IL_1c84b: ldloc V_12
+ IL_1c84f: ldc.i8 0x1
+ IL_1c858: blt IL_1c839
+
+ IL_1c85d: ldloc V_17
+ IL_1c861: ldc.i8 0x4
+ IL_1c86a: add
+ IL_1c86b: stloc V_30
+ IL_1c86f: ldloc V_11
+ IL_1c873: ldc.i8 0x1
+ IL_1c87c: add
+ IL_1c87d: stloc V_11
+ IL_1c881: ldloc V_11
+ IL_1c885: ldc.i8 0x2
+ IL_1c88e: blt IL_1c7ca
+
+ IL_1c893: br IL_1c8e0
+
+ IL_1c898: br IL_1c89d
+
+ IL_1c89d: br IL_1c8a2
+
+ IL_1c8a2: ldc.i8 0x0
+ IL_1c8ab: stloc V_12
+ IL_1c8af: ldloc V_12
+ IL_1c8b3: ldc.i8 0x1
+ IL_1c8bc: add
+ IL_1c8bd: stloc V_12
+ IL_1c8c1: ldloc V_12
+ IL_1c8c5: ldc.i8 0x1
+ IL_1c8ce: blt IL_1c8af
+
+ IL_1c8d3: ldloc V_29
+ IL_1c8d7: ldloc V_45
+ IL_1c8db: add
+ IL_1c8dc: stloc V_29
+ IL_1c8e0: br IL_1c901
+
+ IL_1c8e5: br IL_1c8ea
+
+ IL_1c8ea: ldloc V_18
+ IL_1c8ee: ldloc V_40
+ IL_1c8f2: add
+ IL_1c8f3: ldc.i8 0x0
+ IL_1c8fc: add
+ IL_1c8fd: stloc V_18
+ IL_1c901: nop
+ IL_1c902: ldloc V_10
+ IL_1c906: ldc.i8 0x1
+ IL_1c90f: add
+ IL_1c910: stloc V_10
+ IL_1c914: ldloc V_10
+ IL_1c918: ldc.i8 0x2
+ IL_1c921: blt IL_1c7bd
+
+ IL_1c926: br IL_1c933
+
+ IL_1c92b: ldloc V_43
+ IL_1c92f: stloc V_27
+ IL_1c933: ldloc V_19
+ IL_1c937: ldloc V_3
+ IL_1c93b: add
+ IL_1c93c: ldc.i8 0x5
+ IL_1c945: add
+ IL_1c946: stloc V_19
+ IL_1c94a: ldloc V_9
+ IL_1c94e: ldc.i8 0x1
+ IL_1c957: add
+ IL_1c958: stloc V_9
+ IL_1c95c: ldloc V_9
+ IL_1c960: ldc.i8 0x1
+ IL_1c969: blt IL_1c7b0
+
+ IL_1c96e: ldloc V_44
+ IL_1c972: stloc V_31
+ IL_1c976: ldloc V_8
+ IL_1c97a: ldc.i8 0x1
+ IL_1c983: add
+ IL_1c984: stloc V_8
+ IL_1c988: ldloc V_8
+ IL_1c98c: ldc.i8 0x1
+ IL_1c995: blt IL_1c7a3
+
+ IL_1c99a: ldc.i8 0x0
+ IL_1c9a3: stloc V_8
+ IL_1c9a7: ldloc V_9
+ IL_1c9ab: ldloc V_13
+ IL_1c9af: add
+ IL_1c9b0: stloc V_9
+ IL_1c9b4: ldloc V_8
+ IL_1c9b8: ldc.i8 0x1
+ IL_1c9c1: add
+ IL_1c9c2: stloc V_8
+ IL_1c9c6: ldloc V_8
+ IL_1c9ca: ldc.i8 0x1
+ IL_1c9d3: blt IL_1c9a7
+
+ IL_1c9d8: br IL_1d187
+
+ IL_1c9dd: br IL_1ce8b
+
+ IL_1c9e2: ldc.i8 0x0
+ IL_1c9eb: stloc V_10
+ IL_1c9ef: ldc.i8 0x0
+ IL_1c9f8: stloc V_11
+ IL_1c9fc: ldc.i8 0x0
+ IL_1ca05: stloc V_12
+ IL_1ca09: ldloc V_12
+ IL_1ca0d: ldc.i8 0x1
+ IL_1ca16: add
+ IL_1ca17: stloc V_12
+ IL_1ca1b: ldloc V_12
+ IL_1ca1f: ldc.i8 0x0
+ IL_1ca28: blt IL_1ca09
+
+ IL_1ca2d: ldloc V_29
+ IL_1ca31: ldloc V_21
+ IL_1ca35: add
+ IL_1ca36: stloc V_47
+ IL_1ca3a: ldloc V_11
+ IL_1ca3e: ldc.i8 0x1
+ IL_1ca47: add
+ IL_1ca48: stloc V_11
+ IL_1ca4c: ldloc V_11
+ IL_1ca50: ldc.i8 0x1
+ IL_1ca59: blt IL_1c9fc
+
+ IL_1ca5e: ldc.i8 0x0
+ IL_1ca67: stloc V_11
+ IL_1ca6b: ldloc V_33
+ IL_1ca6f: ldloc V_13
+ IL_1ca73: add
+ IL_1ca74: ldc.i8 0x8
+ IL_1ca7d: add
+ IL_1ca7e: stloc V_33
+ IL_1ca82: ldloc V_11
+ IL_1ca86: ldc.i8 0x1
+ IL_1ca8f: add
+ IL_1ca90: stloc V_11
+ IL_1ca94: ldloc V_11
+ IL_1ca98: ldc.i8 0x0
+ IL_1caa1: blt IL_1ca6b
+
+ IL_1caa6: ldloc V_36
+ IL_1caaa: ldc.i8 0x1
+ IL_1cab3: add
+ IL_1cab4: stloc V_45
+ IL_1cab8: ldloc V_10
+ IL_1cabc: ldc.i8 0x1
+ IL_1cac5: add
+ IL_1cac6: stloc V_10
+ IL_1caca: ldloc V_10
+ IL_1cace: ldc.i8 0x0
+ IL_1cad7: blt IL_1c9ef
+
+ IL_1cadc: ldc.i8 0x0
+ IL_1cae5: stloc V_10
+ IL_1cae9: ldc.i8 0x0
+ IL_1caf2: stloc V_11
+ IL_1caf6: ldc.i8 0x0
+ IL_1caff: stloc V_12
+ IL_1cb03: ldloc V_12
+ IL_1cb07: ldc.i8 0x1
+ IL_1cb10: add
+ IL_1cb11: stloc V_12
+ IL_1cb15: ldloc V_12
+ IL_1cb19: ldc.i8 0x2
+ IL_1cb22: blt IL_1cb03
+
+ IL_1cb27: ldc.i8 0x0
+ IL_1cb30: stloc V_12
+ IL_1cb34: ldloc V_12
+ IL_1cb38: ldc.i8 0x1
+ IL_1cb41: add
+ IL_1cb42: stloc V_12
+ IL_1cb46: ldloc V_12
+ IL_1cb4a: ldc.i8 0x1
+ IL_1cb53: blt IL_1cb34
+
+ IL_1cb58: ldc.i8 0x0
+ IL_1cb61: stloc V_12
+ IL_1cb65: ldloc V_12
+ IL_1cb69: ldc.i8 0x1
+ IL_1cb72: add
+ IL_1cb73: stloc V_12
+ IL_1cb77: ldloc V_12
+ IL_1cb7b: ldc.i8 0x2
+ IL_1cb84: blt IL_1cb65
+
+ IL_1cb89: ldc.i8 0x0
+ IL_1cb92: stloc V_12
+ IL_1cb96: ldloc V_12
+ IL_1cb9a: ldc.i8 0x1
+ IL_1cba3: add
+ IL_1cba4: stloc V_12
+ IL_1cba8: ldloc V_12
+ IL_1cbac: ldc.i8 0x0
+ IL_1cbb5: blt IL_1cb96
+
+ IL_1cbba: ldloc V_48
+ IL_1cbbe: ldloc V_17
+ IL_1cbc2: add
+ IL_1cbc3: stloc V_33
+ IL_1cbc7: ldloc V_11
+ IL_1cbcb: ldc.i8 0x1
+ IL_1cbd4: add
+ IL_1cbd5: stloc V_11
+ IL_1cbd9: ldloc V_11
+ IL_1cbdd: ldc.i8 0x1
+ IL_1cbe6: blt IL_1caf6
+
+ IL_1cbeb: br IL_1cc38
+
+ IL_1cbf0: ldc.i8 0x0
+ IL_1cbf9: stloc V_12
+ IL_1cbfd: ldloc V_12
+ IL_1cc01: ldc.i8 0x1
+ IL_1cc0a: add
+ IL_1cc0b: stloc V_12
+ IL_1cc0f: ldloc V_12
+ IL_1cc13: ldc.i8 0x1
+ IL_1cc1c: blt IL_1cbfd
+
+ IL_1cc21: ldloc V_12
+ IL_1cc25: ldloc V_33
+ IL_1cc29: add
+ IL_1cc2a: ldc.i8 0x5
+ IL_1cc33: add
+ IL_1cc34: stloc V_12
+ IL_1cc38: ldc.i8 0x0
+ IL_1cc41: stloc V_11
+ IL_1cc45: ldc.i8 0x0
+ IL_1cc4e: stloc V_12
+ IL_1cc52: ldloc V_12
+ IL_1cc56: ldc.i8 0x1
+ IL_1cc5f: add
+ IL_1cc60: stloc V_12
+ IL_1cc64: ldloc V_12
+ IL_1cc68: ldc.i8 0x2
+ IL_1cc71: blt IL_1cc52
+
+ IL_1cc76: ldc.i8 0x0
+ IL_1cc7f: stloc V_12
+ IL_1cc83: ldloc V_12
+ IL_1cc87: ldc.i8 0x1
+ IL_1cc90: add
+ IL_1cc91: stloc V_12
+ IL_1cc95: ldloc V_12
+ IL_1cc99: ldc.i8 0x1
+ IL_1cca2: blt IL_1cc83
+
+ IL_1cca7: ldc.i8 0x0
+ IL_1ccb0: stloc V_12
+ IL_1ccb4: ldloc V_12
+ IL_1ccb8: ldc.i8 0x1
+ IL_1ccc1: add
+ IL_1ccc2: stloc V_12
+ IL_1ccc6: ldloc V_12
+ IL_1ccca: ldc.i8 0x1
+ IL_1ccd3: blt IL_1ccb4
+
+ IL_1ccd8: ldc.i8 0x0
+ IL_1cce1: stloc V_12
+ IL_1cce5: ldloc V_12
+ IL_1cce9: ldc.i8 0x1
+ IL_1ccf2: add
+ IL_1ccf3: stloc V_12
+ IL_1ccf7: ldloc V_12
+ IL_1ccfb: ldc.i8 0x0
+ IL_1cd04: blt IL_1cce5
+
+ IL_1cd09: ldloc V_40
+ IL_1cd0d: ldloc V_21
+ IL_1cd11: add
+ IL_1cd12: ldc.i8 0x4
+ IL_1cd1b: add
+ IL_1cd1c: stloc V_40
+ IL_1cd20: ldloc V_11
+ IL_1cd24: ldc.i8 0x1
+ IL_1cd2d: add
+ IL_1cd2e: stloc V_11
+ IL_1cd32: ldloc V_11
+ IL_1cd36: ldc.i8 0x0
+ IL_1cd3f: blt IL_1cc45
+
+ IL_1cd44: ldloc V_49
+ IL_1cd48: stloc V_16
+ IL_1cd4c: ldloc V_10
+ IL_1cd50: ldc.i8 0x1
+ IL_1cd59: add
+ IL_1cd5a: stloc V_10
+ IL_1cd5e: ldloc V_10
+ IL_1cd62: ldc.i8 0x2
+ IL_1cd6b: blt IL_1cae9
+
+ IL_1cd70: ldc.i8 0x0
+ IL_1cd79: stloc V_10
+ IL_1cd7d: ldc.i8 0x0
+ IL_1cd86: stloc V_11
+ IL_1cd8a: nop
+ IL_1cd8b: ldloc V_11
+ IL_1cd8f: ldc.i8 0x1
+ IL_1cd98: add
+ IL_1cd99: stloc V_11
+ IL_1cd9d: ldloc V_11
+ IL_1cda1: ldc.i8 0x0
+ IL_1cdaa: blt IL_1cd8a
+
+ IL_1cdaf: ldc.i8 0x0
+ IL_1cdb8: stloc V_11
+ IL_1cdbc: ldc.i8 0x0
+ IL_1cdc5: stloc V_12
+ IL_1cdc9: ldloc V_12
+ IL_1cdcd: ldc.i8 0x1
+ IL_1cdd6: add
+ IL_1cdd7: stloc V_12
+ IL_1cddb: ldloc V_12
+ IL_1cddf: ldc.i8 0x0
+ IL_1cde8: blt IL_1cdc9
+
+ IL_1cded: br IL_1cdf2
+
+ IL_1cdf2: ldc.i8 0x0
+ IL_1cdfb: stloc V_12
+ IL_1cdff: ldloc V_12
+ IL_1ce03: ldc.i8 0x1
+ IL_1ce0c: add
+ IL_1ce0d: stloc V_12
+ IL_1ce11: ldloc V_12
+ IL_1ce15: ldc.i8 0x0
+ IL_1ce1e: blt IL_1cdff
+
+ IL_1ce23: ldloc V_12
+ IL_1ce27: ldc.i8 0x4
+ IL_1ce30: add
+ IL_1ce31: stloc V_44
+ IL_1ce35: ldloc V_11
+ IL_1ce39: ldc.i8 0x1
+ IL_1ce42: add
+ IL_1ce43: stloc V_11
+ IL_1ce47: ldloc V_11
+ IL_1ce4b: ldc.i8 0x2
+ IL_1ce54: blt IL_1cdbc
+
+ IL_1ce59: ldloc V_36
+ IL_1ce5d: ldloc V_21
+ IL_1ce61: add
+ IL_1ce62: stloc V_36
+ IL_1ce66: ldloc V_10
+ IL_1ce6a: ldc.i8 0x1
+ IL_1ce73: add
+ IL_1ce74: stloc V_10
+ IL_1ce78: ldloc V_10
+ IL_1ce7c: ldc.i8 0x1
+ IL_1ce85: blt IL_1cd7d
+
+ IL_1ce8a: nop
+ IL_1ce8b: ldc.i8 0x0
+ IL_1ce94: stloc V_9
+ IL_1ce98: ldloc V_16
+ IL_1ce9c: ldloc V_22
+ IL_1cea0: add
+ IL_1cea1: ldc.i8 0x9
+ IL_1ceaa: add
+ IL_1ceab: stloc V_16
+ IL_1ceaf: ldloc V_9
+ IL_1ceb3: ldc.i8 0x1
+ IL_1cebc: add
+ IL_1cebd: stloc V_9
+ IL_1cec1: ldloc V_9
+ IL_1cec5: ldc.i8 0x0
+ IL_1cece: blt IL_1ce98
+
+ IL_1ced3: ldc.i8 0x0
+ IL_1cedc: stloc V_9
+ IL_1cee0: ldc.i8 0x0
+ IL_1cee9: stloc V_10
+ IL_1ceed: nop
+ IL_1ceee: ldloc V_10
+ IL_1cef2: ldc.i8 0x1
+ IL_1cefb: add
+ IL_1cefc: stloc V_10
+ IL_1cf00: ldloc V_10
+ IL_1cf04: ldc.i8 0x1
+ IL_1cf0d: blt IL_1ceed
+
+ IL_1cf12: ldc.i8 0x0
+ IL_1cf1b: stloc V_10
+ IL_1cf1f: ldc.i8 0x0
+ IL_1cf28: stloc V_11
+ IL_1cf2c: ldc.i8 0x0
+ IL_1cf35: stloc V_12
+ IL_1cf39: ldloc V_12
+ IL_1cf3d: ldc.i8 0x1
+ IL_1cf46: add
+ IL_1cf47: stloc V_12
+ IL_1cf4b: ldloc V_12
+ IL_1cf4f: ldc.i8 0x0
+ IL_1cf58: blt IL_1cf39
+
+ IL_1cf5d: ldloc V_43
+ IL_1cf61: ldloc V_2
+ IL_1cf65: add
+ IL_1cf66: stloc V_43
+ IL_1cf6a: ldloc V_11
+ IL_1cf6e: ldc.i8 0x1
+ IL_1cf77: add
+ IL_1cf78: stloc V_11
+ IL_1cf7c: ldloc V_11
+ IL_1cf80: ldc.i8 0x2
+ IL_1cf89: blt IL_1cf2c
+
+ IL_1cf8e: ldc.i8 0x0
+ IL_1cf97: stloc V_11
+ IL_1cf9b: br IL_1cfa0
+
+ IL_1cfa0: br IL_1cfa5
+
+ IL_1cfa5: br IL_1cfaa
+
+ IL_1cfaa: ldc.i8 0x0
+ IL_1cfb3: stloc V_12
+ IL_1cfb7: ldloc V_12
+ IL_1cfbb: ldc.i8 0x1
+ IL_1cfc4: add
+ IL_1cfc5: stloc V_12
+ IL_1cfc9: ldloc V_12
+ IL_1cfcd: ldc.i8 0x1
+ IL_1cfd6: blt IL_1cfb7
+
+ IL_1cfdb: ldloc V_0
+ IL_1cfdf: ldc.i8 0x1
+ IL_1cfe8: add
+ IL_1cfe9: stloc V_41
+ IL_1cfed: ldloc V_11
+ IL_1cff1: ldc.i8 0x1
+ IL_1cffa: add
+ IL_1cffb: stloc V_11
+ IL_1cfff: ldloc V_11
+ IL_1d003: ldc.i8 0x2
+ IL_1d00c: blt IL_1cf9b
+
+ IL_1d011: ldloc V_4
+ IL_1d015: ldloc V_46
+ IL_1d019: add
+ IL_1d01a: stloc V_48
+ IL_1d01e: ldloc V_10
+ IL_1d022: ldc.i8 0x1
+ IL_1d02b: add
+ IL_1d02c: stloc V_10
+ IL_1d030: ldloc V_10
+ IL_1d034: ldc.i8 0x1
+ IL_1d03d: blt IL_1cf1f
+
+ IL_1d042: ldc.i8 0x0
+ IL_1d04b: stloc V_10
+ IL_1d04f: br IL_1d066
+
+ IL_1d054: br IL_1d059
+
+ IL_1d059: ldc.i8 0x3
+ IL_1d062: stloc V_47
+ IL_1d066: ldc.i8 0x0
+ IL_1d06f: stloc V_11
+ IL_1d073: ldc.i8 0x0
+ IL_1d07c: stloc V_12
+ IL_1d080: ldloc V_12
+ IL_1d084: ldc.i8 0x1
+ IL_1d08d: add
+ IL_1d08e: stloc V_12
+ IL_1d092: ldloc V_12
+ IL_1d096: ldc.i8 0x1
+ IL_1d09f: blt IL_1d080
+
+ IL_1d0a4: br IL_1d0a9
+
+ IL_1d0a9: ldc.i8 0x4
+ IL_1d0b2: stloc V_46
+ IL_1d0b6: ldloc V_11
+ IL_1d0ba: ldc.i8 0x1
+ IL_1d0c3: add
+ IL_1d0c4: stloc V_11
+ IL_1d0c8: ldloc V_11
+ IL_1d0cc: ldc.i8 0x2
+ IL_1d0d5: blt IL_1d073
+
+ IL_1d0da: ldloc V_16
+ IL_1d0de: ldc.i8 0x9
+ IL_1d0e7: add
+ IL_1d0e8: stloc V_12
+ IL_1d0ec: ldloc V_10
+ IL_1d0f0: ldc.i8 0x1
+ IL_1d0f9: add
+ IL_1d0fa: stloc V_10
+ IL_1d0fe: ldloc V_10
+ IL_1d102: ldc.i8 0x1
+ IL_1d10b: blt IL_1d04f
+
+ IL_1d110: ldloc V_13
+ IL_1d114: ldloc V_25
+ IL_1d118: add
+ IL_1d119: stloc V_13
+ IL_1d11d: ldloc V_9
+ IL_1d121: ldc.i8 0x1
+ IL_1d12a: add
+ IL_1d12b: stloc V_9
+ IL_1d12f: ldloc V_9
+ IL_1d133: ldc.i8 0x0
+ IL_1d13c: blt IL_1cee0
+
+ IL_1d141: ldc.i8 0x0
+ IL_1d14a: stloc V_9
+ IL_1d14e: ldloc V_47
+ IL_1d152: stloc V_20
+ IL_1d156: ldloc V_9
+ IL_1d15a: ldc.i8 0x1
+ IL_1d163: add
+ IL_1d164: stloc V_9
+ IL_1d168: ldloc V_9
+ IL_1d16c: ldc.i8 0x2
+ IL_1d175: blt IL_1d14e
+
+ IL_1d17a: ldloc V_33
+ IL_1d17e: ldloc V_4
+ IL_1d182: add
+ IL_1d183: stloc V_14
+ IL_1d187: ldc.i8 0x0
+ IL_1d190: stloc V_8
+ IL_1d194: ldc.i8 0x0
+ IL_1d19d: stloc V_9
+ IL_1d1a1: ldc.i8 0x0
+ IL_1d1aa: stloc V_10
+ IL_1d1ae: ldc.i8 0x3
+ IL_1d1b7: stloc V_49
+ IL_1d1bb: ldloc V_10
+ IL_1d1bf: ldc.i8 0x1
+ IL_1d1c8: add
+ IL_1d1c9: stloc V_10
+ IL_1d1cd: ldloc V_10
+ IL_1d1d1: ldc.i8 0x1
+ IL_1d1da: blt IL_1d1ae
+
+ IL_1d1df: ldc.i8 0x0
+ IL_1d1e8: stloc V_10
+ IL_1d1ec: br IL_1d291
+
+ IL_1d1f1: ldc.i8 0x0
+ IL_1d1fa: stloc V_12
+ IL_1d1fe: ldloc V_12
+ IL_1d202: ldc.i8 0x1
+ IL_1d20b: add
+ IL_1d20c: stloc V_12
+ IL_1d210: ldloc V_12
+ IL_1d214: ldc.i8 0x1
+ IL_1d21d: blt IL_1d1fe
+
+ IL_1d222: ldc.i8 0x0
+ IL_1d22b: stloc V_12
+ IL_1d22f: ldloc V_12
+ IL_1d233: ldc.i8 0x1
+ IL_1d23c: add
+ IL_1d23d: stloc V_12
+ IL_1d241: ldloc V_12
+ IL_1d245: ldc.i8 0x2
+ IL_1d24e: blt IL_1d22f
+
+ IL_1d253: ldc.i8 0x0
+ IL_1d25c: stloc V_12
+ IL_1d260: ldloc V_12
+ IL_1d264: ldc.i8 0x1
+ IL_1d26d: add
+ IL_1d26e: stloc V_12
+ IL_1d272: ldloc V_12
+ IL_1d276: ldc.i8 0x2
+ IL_1d27f: blt IL_1d260
+
+ IL_1d284: ldc.i8 0x2
+ IL_1d28d: stloc V_38
+ IL_1d291: br IL_1d2a3
+
+ IL_1d296: ldloc V_27
+ IL_1d29a: ldloc V_22
+ IL_1d29e: add
+ IL_1d29f: stloc V_27
+ IL_1d2a3: ldloc V_46
+ IL_1d2a7: ldloc V_22
+ IL_1d2ab: add
+ IL_1d2ac: stloc V_46
+ IL_1d2b0: ldloc V_10
+ IL_1d2b4: ldc.i8 0x1
+ IL_1d2bd: add
+ IL_1d2be: stloc V_10
+ IL_1d2c2: ldloc V_10
+ IL_1d2c6: ldc.i8 0x0
+ IL_1d2cf: blt IL_1d1ec
+
+ IL_1d2d4: br IL_1d3c9
+
+ IL_1d2d9: ldc.i8 0x0
+ IL_1d2e2: stloc V_11
+ IL_1d2e6: ldc.i8 0x0
+ IL_1d2ef: stloc V_12
+ IL_1d2f3: ldloc V_12
+ IL_1d2f7: ldc.i8 0x1
+ IL_1d300: add
+ IL_1d301: stloc V_12
+ IL_1d305: ldloc V_12
+ IL_1d309: ldc.i8 0x2
+ IL_1d312: blt IL_1d2f3
+
+ IL_1d317: ldloc V_34
+ IL_1d31b: stloc V_40
+ IL_1d31f: ldloc V_11
+ IL_1d323: ldc.i8 0x1
+ IL_1d32c: add
+ IL_1d32d: stloc V_11
+ IL_1d331: ldloc V_11
+ IL_1d335: ldc.i8 0x2
+ IL_1d33e: blt IL_1d2e6
+
+ IL_1d343: ldc.i8 0x0
+ IL_1d34c: stloc V_11
+ IL_1d350: ldc.i8 0x0
+ IL_1d359: stloc V_12
+ IL_1d35d: ldloc V_12
+ IL_1d361: ldc.i8 0x1
+ IL_1d36a: add
+ IL_1d36b: stloc V_12
+ IL_1d36f: ldloc V_12
+ IL_1d373: ldc.i8 0x0
+ IL_1d37c: blt IL_1d35d
+
+ IL_1d381: ldloc V_18
+ IL_1d385: ldloc V_22
+ IL_1d389: add
+ IL_1d38a: stloc V_18
+ IL_1d38e: ldloc V_11
+ IL_1d392: ldc.i8 0x1
+ IL_1d39b: add
+ IL_1d39c: stloc V_11
+ IL_1d3a0: ldloc V_11
+ IL_1d3a4: ldc.i8 0x2
+ IL_1d3ad: blt IL_1d350
+
+ IL_1d3b2: ldloc V_15
+ IL_1d3b6: ldloc V_44
+ IL_1d3ba: add
+ IL_1d3bb: ldc.i8 0x0
+ IL_1d3c4: add
+ IL_1d3c5: stloc V_15
+ IL_1d3c9: nop
+ IL_1d3ca: ldloc V_9
+ IL_1d3ce: ldc.i8 0x1
+ IL_1d3d7: add
+ IL_1d3d8: stloc V_9
+ IL_1d3dc: ldloc V_9
+ IL_1d3e0: ldc.i8 0x2
+ IL_1d3e9: blt IL_1d1a1
+
+ IL_1d3ee: br IL_1d981
+
+ IL_1d3f3: ldc.i8 0x0
+ IL_1d3fc: stloc V_10
+ IL_1d400: ldc.i8 0x0
+ IL_1d409: stloc V_11
+ IL_1d40d: ldloc V_15
+ IL_1d411: ldloc V_47
+ IL_1d415: add
+ IL_1d416: stloc V_40
+ IL_1d41a: ldloc V_11
+ IL_1d41e: ldc.i8 0x1
+ IL_1d427: add
+ IL_1d428: stloc V_11
+ IL_1d42c: ldloc V_11
+ IL_1d430: ldc.i8 0x1
+ IL_1d439: blt IL_1d40d
+
+ IL_1d43e: ldloc V_22
+ IL_1d442: ldloc V_36
+ IL_1d446: add
+ IL_1d447: ldc.i8 0x0
+ IL_1d450: add
+ IL_1d451: stloc V_22
+ IL_1d455: ldloc V_10
+ IL_1d459: ldc.i8 0x1
+ IL_1d462: add
+ IL_1d463: stloc V_10
+ IL_1d467: ldloc V_10
+ IL_1d46b: ldc.i8 0x1
+ IL_1d474: blt IL_1d400
+
+ IL_1d479: ldc.i8 0x0
+ IL_1d482: stloc V_10
+ IL_1d486: ldc.i8 0x0
+ IL_1d48f: stloc V_11
+ IL_1d493: ldc.i8 0x0
+ IL_1d49c: stloc V_12
+ IL_1d4a0: ldloc V_12
+ IL_1d4a4: ldc.i8 0x1
+ IL_1d4ad: add
+ IL_1d4ae: stloc V_12
+ IL_1d4b2: ldloc V_12
+ IL_1d4b6: ldc.i8 0x0
+ IL_1d4bf: blt IL_1d4a0
+
+ IL_1d4c4: br IL_1d4c9
+
+ IL_1d4c9: ldloc V_35
+ IL_1d4cd: ldloc V_28
+ IL_1d4d1: add
+ IL_1d4d2: stloc V_35
+ IL_1d4d6: ldloc V_11
+ IL_1d4da: ldc.i8 0x1
+ IL_1d4e3: add
+ IL_1d4e4: stloc V_11
+ IL_1d4e8: ldloc V_11
+ IL_1d4ec: ldc.i8 0x1
+ IL_1d4f5: blt IL_1d493
+
+ IL_1d4fa: br IL_1d538
+
+ IL_1d4ff: ldc.i8 0x0
+ IL_1d508: stloc V_12
+ IL_1d50c: ldloc V_12
+ IL_1d510: ldc.i8 0x1
+ IL_1d519: add
+ IL_1d51a: stloc V_12
+ IL_1d51e: ldloc V_12
+ IL_1d522: ldc.i8 0x1
+ IL_1d52b: blt IL_1d50c
+
+ IL_1d530: ldloc V_9
+ IL_1d534: stloc V_35
+ IL_1d538: br IL_1d5e2
+
+ IL_1d53d: ldc.i8 0x0
+ IL_1d546: stloc V_12
+ IL_1d54a: ldloc V_12
+ IL_1d54e: ldc.i8 0x1
+ IL_1d557: add
+ IL_1d558: stloc V_12
+ IL_1d55c: ldloc V_12
+ IL_1d560: ldc.i8 0x2
+ IL_1d569: blt IL_1d54a
+
+ IL_1d56e: ldc.i8 0x0
+ IL_1d577: stloc V_12
+ IL_1d57b: ldloc V_12
+ IL_1d57f: ldc.i8 0x1
+ IL_1d588: add
+ IL_1d589: stloc V_12
+ IL_1d58d: ldloc V_12
+ IL_1d591: ldc.i8 0x2
+ IL_1d59a: blt IL_1d57b
+
+ IL_1d59f: br IL_1d5a4
+
+ IL_1d5a4: ldc.i8 0x0
+ IL_1d5ad: stloc V_12
+ IL_1d5b1: ldloc V_12
+ IL_1d5b5: ldc.i8 0x1
+ IL_1d5be: add
+ IL_1d5bf: stloc V_12
+ IL_1d5c3: ldloc V_12
+ IL_1d5c7: ldc.i8 0x1
+ IL_1d5d0: blt IL_1d5b1
+
+ IL_1d5d5: ldc.i8 0x7
+ IL_1d5de: stloc V_27
+ IL_1d5e2: ldloc V_28
+ IL_1d5e6: stloc V_37
+ IL_1d5ea: ldloc V_10
+ IL_1d5ee: ldc.i8 0x1
+ IL_1d5f7: add
+ IL_1d5f8: stloc V_10
+ IL_1d5fc: ldloc V_10
+ IL_1d600: ldc.i8 0x0
+ IL_1d609: blt IL_1d486
+
+ IL_1d60e: ldc.i8 0x0
+ IL_1d617: stloc V_10
+ IL_1d61b: ldc.i8 0x0
+ IL_1d624: stloc V_11
+ IL_1d628: ldc.i8 0x0
+ IL_1d631: stloc V_12
+ IL_1d635: ldloc V_12
+ IL_1d639: ldc.i8 0x1
+ IL_1d642: add
+ IL_1d643: stloc V_12
+ IL_1d647: ldloc V_12
+ IL_1d64b: ldc.i8 0x2
+ IL_1d654: blt IL_1d635
+
+ IL_1d659: nop
+ IL_1d65a: ldloc V_11
+ IL_1d65e: ldc.i8 0x1
+ IL_1d667: add
+ IL_1d668: stloc V_11
+ IL_1d66c: ldloc V_11
+ IL_1d670: ldc.i8 0x1
+ IL_1d679: blt IL_1d628
+
+ IL_1d67e: ldc.i8 0x0
+ IL_1d687: stloc V_11
+ IL_1d68b: br IL_1d690
+
+ IL_1d690: ldc.i8 0x0
+ IL_1d699: stloc V_12
+ IL_1d69d: ldloc V_12
+ IL_1d6a1: ldc.i8 0x1
+ IL_1d6aa: add
+ IL_1d6ab: stloc V_12
+ IL_1d6af: ldloc V_12
+ IL_1d6b3: ldc.i8 0x1
+ IL_1d6bc: blt IL_1d69d
+
+ IL_1d6c1: ldc.i8 0x0
+ IL_1d6ca: stloc V_12
+ IL_1d6ce: ldloc V_12
+ IL_1d6d2: ldc.i8 0x1
+ IL_1d6db: add
+ IL_1d6dc: stloc V_12
+ IL_1d6e0: ldloc V_12
+ IL_1d6e4: ldc.i8 0x2
+ IL_1d6ed: blt IL_1d6ce
+
+ IL_1d6f2: nop
+ IL_1d6f3: ldloc V_11
+ IL_1d6f7: ldc.i8 0x1
+ IL_1d700: add
+ IL_1d701: stloc V_11
+ IL_1d705: ldloc V_11
+ IL_1d709: ldc.i8 0x2
+ IL_1d712: blt IL_1d68b
+
+ IL_1d717: ldc.i8 0x3
+ IL_1d720: stloc V_29
+ IL_1d724: ldloc V_10
+ IL_1d728: ldc.i8 0x1
+ IL_1d731: add
+ IL_1d732: stloc V_10
+ IL_1d736: ldloc V_10
+ IL_1d73a: ldc.i8 0x2
+ IL_1d743: blt IL_1d61b
+
+ IL_1d748: ldc.i8 0x0
+ IL_1d751: stloc V_10
+ IL_1d755: ldc.i8 0x0
+ IL_1d75e: stloc V_11
+ IL_1d762: ldc.i8 0x0
+ IL_1d76b: stloc V_12
+ IL_1d76f: ldloc V_12
+ IL_1d773: ldc.i8 0x1
+ IL_1d77c: add
+ IL_1d77d: stloc V_12
+ IL_1d781: ldloc V_12
+ IL_1d785: ldc.i8 0x2
+ IL_1d78e: blt IL_1d76f
+
+ IL_1d793: br IL_1d798
+
+ IL_1d798: br IL_1d79d
+
+ IL_1d79d: ldc.i8 0x0
+ IL_1d7a6: stloc V_12
+ IL_1d7aa: ldloc V_12
+ IL_1d7ae: ldc.i8 0x1
+ IL_1d7b7: add
+ IL_1d7b8: stloc V_12
+ IL_1d7bc: ldloc V_12
+ IL_1d7c0: ldc.i8 0x0
+ IL_1d7c9: blt IL_1d7aa
+
+ IL_1d7ce: ldloc V_21
+ IL_1d7d2: ldloc V_45
+ IL_1d7d6: add
+ IL_1d7d7: stloc V_44
+ IL_1d7db: ldloc V_11
+ IL_1d7df: ldc.i8 0x1
+ IL_1d7e8: add
+ IL_1d7e9: stloc V_11
+ IL_1d7ed: ldloc V_11
+ IL_1d7f1: ldc.i8 0x0
+ IL_1d7fa: blt IL_1d762
+
+ IL_1d7ff: br IL_1d84c
+
+ IL_1d804: br IL_1d809
+
+ IL_1d809: br IL_1d80e
+
+ IL_1d80e: ldc.i8 0x0
+ IL_1d817: stloc V_12
+ IL_1d81b: ldloc V_12
+ IL_1d81f: ldc.i8 0x1
+ IL_1d828: add
+ IL_1d829: stloc V_12
+ IL_1d82d: ldloc V_12
+ IL_1d831: ldc.i8 0x0
+ IL_1d83a: blt IL_1d81b
+
+ IL_1d83f: ldc.i8 0x2
+ IL_1d848: stloc V_48
+ IL_1d84c: ldc.i8 0x0
+ IL_1d855: stloc V_11
+ IL_1d859: ldc.i8 0x0
+ IL_1d862: stloc V_12
+ IL_1d866: ldloc V_12
+ IL_1d86a: ldc.i8 0x1
+ IL_1d873: add
+ IL_1d874: stloc V_12
+ IL_1d878: ldloc V_12
+ IL_1d87c: ldc.i8 0x2
+ IL_1d885: blt IL_1d866
+
+ IL_1d88a: ldloc V_33
+ IL_1d88e: ldloc V_20
+ IL_1d892: add
+ IL_1d893: ldc.i8 0x7
+ IL_1d89c: add
+ IL_1d89d: stloc V_33
+ IL_1d8a1: ldloc V_11
+ IL_1d8a5: ldc.i8 0x1
+ IL_1d8ae: add
+ IL_1d8af: stloc V_11
+ IL_1d8b3: ldloc V_11
+ IL_1d8b7: ldc.i8 0x0
+ IL_1d8c0: blt IL_1d859
+
+ IL_1d8c5: ldc.i8 0x0
+ IL_1d8ce: stloc V_11
+ IL_1d8d2: ldc.i8 0x0
+ IL_1d8db: stloc V_12
+ IL_1d8df: ldloc V_12
+ IL_1d8e3: ldc.i8 0x1
+ IL_1d8ec: add
+ IL_1d8ed: stloc V_12
+ IL_1d8f1: ldloc V_12
+ IL_1d8f5: ldc.i8 0x0
+ IL_1d8fe: blt IL_1d8df
+
+ IL_1d903: br IL_1d908
+
+ IL_1d908: ldloc V_36
+ IL_1d90c: ldloc V_39
+ IL_1d910: add
+ IL_1d911: stloc V_29
+ IL_1d915: ldloc V_11
+ IL_1d919: ldc.i8 0x1
+ IL_1d922: add
+ IL_1d923: stloc V_11
+ IL_1d927: ldloc V_11
+ IL_1d92b: ldc.i8 0x1
+ IL_1d934: blt IL_1d8d2
+
+ IL_1d939: ldloc V_34
+ IL_1d93d: ldloc V_24
+ IL_1d941: add
+ IL_1d942: stloc V_34
+ IL_1d946: ldloc V_10
+ IL_1d94a: ldc.i8 0x1
+ IL_1d953: add
+ IL_1d954: stloc V_10
+ IL_1d958: ldloc V_10
+ IL_1d95c: ldc.i8 0x2
+ IL_1d965: blt IL_1d755
+
+ IL_1d96a: ldloc V_21
+ IL_1d96e: ldloc V_31
+ IL_1d972: add
+ IL_1d973: ldc.i8 0x8
+ IL_1d97c: add
+ IL_1d97d: stloc V_21
+ IL_1d981: br IL_1dcf1
+
+ IL_1d986: ldc.i8 0x0
+ IL_1d98f: stloc V_10
+ IL_1d993: br IL_1d9b4
+
+ IL_1d998: br IL_1d99d
+
+ IL_1d99d: ldloc V_17
+ IL_1d9a1: ldloc V_19
+ IL_1d9a5: add
+ IL_1d9a6: ldc.i8 0x1
+ IL_1d9af: add
+ IL_1d9b0: stloc V_17
+ IL_1d9b4: ldc.i8 0x0
+ IL_1d9bd: stloc V_11
+ IL_1d9c1: ldloc V_6
+ IL_1d9c5: ldc.i8 0x6
+ IL_1d9ce: add
+ IL_1d9cf: stloc V_12
+ IL_1d9d3: ldloc V_11
+ IL_1d9d7: ldc.i8 0x1
+ IL_1d9e0: add
+ IL_1d9e1: stloc V_11
+ IL_1d9e5: ldloc V_11
+ IL_1d9e9: ldc.i8 0x0
+ IL_1d9f2: blt IL_1d9c1
+
+ IL_1d9f7: ldc.i8 0x0
+ IL_1da00: stloc V_11
+ IL_1da04: ldc.i8 0x0
+ IL_1da0d: stloc V_12
+ IL_1da11: ldloc V_12
+ IL_1da15: ldc.i8 0x1
+ IL_1da1e: add
+ IL_1da1f: stloc V_12
+ IL_1da23: ldloc V_12
+ IL_1da27: ldc.i8 0x1
+ IL_1da30: blt IL_1da11
+
+ IL_1da35: ldc.i8 0x0
+ IL_1da3e: stloc V_12
+ IL_1da42: ldloc V_12
+ IL_1da46: ldc.i8 0x1
+ IL_1da4f: add
+ IL_1da50: stloc V_12
+ IL_1da54: ldloc V_12
+ IL_1da58: ldc.i8 0x2
+ IL_1da61: blt IL_1da42
+
+ IL_1da66: ldc.i8 0x0
+ IL_1da6f: stloc V_12
+ IL_1da73: ldloc V_12
+ IL_1da77: ldc.i8 0x1
+ IL_1da80: add
+ IL_1da81: stloc V_12
+ IL_1da85: ldloc V_12
+ IL_1da89: ldc.i8 0x2
+ IL_1da92: blt IL_1da73
+
+ IL_1da97: ldc.i8 0x0
+ IL_1daa0: stloc V_12
+ IL_1daa4: ldloc V_12
+ IL_1daa8: ldc.i8 0x1
+ IL_1dab1: add
+ IL_1dab2: stloc V_12
+ IL_1dab6: ldloc V_12
+ IL_1daba: ldc.i8 0x0
+ IL_1dac3: blt IL_1daa4
+
+ IL_1dac8: ldloc V_43
+ IL_1dacc: stloc V_30
+ IL_1dad0: ldloc V_11
+ IL_1dad4: ldc.i8 0x1
+ IL_1dadd: add
+ IL_1dade: stloc V_11
+ IL_1dae2: ldloc V_11
+ IL_1dae6: ldc.i8 0x0
+ IL_1daef: blt IL_1da04
+
+ IL_1daf4: ldloc V_35
+ IL_1daf8: stloc V_19
+ IL_1dafc: ldloc V_10
+ IL_1db00: ldc.i8 0x1
+ IL_1db09: add
+ IL_1db0a: stloc V_10
+ IL_1db0e: ldloc V_10
+ IL_1db12: ldc.i8 0x0
+ IL_1db1b: blt IL_1d993
+
+ IL_1db20: ldc.i8 0x0
+ IL_1db29: stloc V_10
+ IL_1db2d: br IL_1db69
+
+ IL_1db32: br IL_1db37
+
+ IL_1db37: ldc.i8 0x0
+ IL_1db40: stloc V_12
+ IL_1db44: ldloc V_12
+ IL_1db48: ldc.i8 0x1
+ IL_1db51: add
+ IL_1db52: stloc V_12
+ IL_1db56: ldloc V_12
+ IL_1db5a: ldc.i8 0x2
+ IL_1db63: blt IL_1db44
+
+ IL_1db68: nop
+ IL_1db69: br IL_1dc13
+
+ IL_1db6e: br IL_1db73
+
+ IL_1db73: ldc.i8 0x0
+ IL_1db7c: stloc V_12
+ IL_1db80: ldloc V_12
+ IL_1db84: ldc.i8 0x1
+ IL_1db8d: add
+ IL_1db8e: stloc V_12
+ IL_1db92: ldloc V_12
+ IL_1db96: ldc.i8 0x1
+ IL_1db9f: blt IL_1db80
+
+ IL_1dba4: ldc.i8 0x0
+ IL_1dbad: stloc V_12
+ IL_1dbb1: ldloc V_12
+ IL_1dbb5: ldc.i8 0x1
+ IL_1dbbe: add
+ IL_1dbbf: stloc V_12
+ IL_1dbc3: ldloc V_12
+ IL_1dbc7: ldc.i8 0x1
+ IL_1dbd0: blt IL_1dbb1
+
+ IL_1dbd5: ldc.i8 0x0
+ IL_1dbde: stloc V_12
+ IL_1dbe2: ldloc V_12
+ IL_1dbe6: ldc.i8 0x1
+ IL_1dbef: add
+ IL_1dbf0: stloc V_12
+ IL_1dbf4: ldloc V_12
+ IL_1dbf8: ldc.i8 0x1
+ IL_1dc01: blt IL_1dbe2
+
+ IL_1dc06: ldloc V_25
+ IL_1dc0a: ldloc V_20
+ IL_1dc0e: add
+ IL_1dc0f: stloc V_25
+ IL_1dc13: ldc.i8 0x0
+ IL_1dc1c: stloc V_11
+ IL_1dc20: ldc.i8 0x0
+ IL_1dc29: stloc V_12
+ IL_1dc2d: ldloc V_12
+ IL_1dc31: ldc.i8 0x1
+ IL_1dc3a: add
+ IL_1dc3b: stloc V_12
+ IL_1dc3f: ldloc V_12
+ IL_1dc43: ldc.i8 0x1
+ IL_1dc4c: blt IL_1dc2d
+
+ IL_1dc51: br IL_1dc56
+
+ IL_1dc56: ldc.i8 0x0
+ IL_1dc5f: stloc V_12
+ IL_1dc63: ldloc V_12
+ IL_1dc67: ldc.i8 0x1
+ IL_1dc70: add
+ IL_1dc71: stloc V_12
+ IL_1dc75: ldloc V_12
+ IL_1dc79: ldc.i8 0x1
+ IL_1dc82: blt IL_1dc63
+
+ IL_1dc87: ldloc V_47
+ IL_1dc8b: stloc V_15
+ IL_1dc8f: ldloc V_11
+ IL_1dc93: ldc.i8 0x1
+ IL_1dc9c: add
+ IL_1dc9d: stloc V_11
+ IL_1dca1: ldloc V_11
+ IL_1dca5: ldc.i8 0x1
+ IL_1dcae: blt IL_1dc20
+
+ IL_1dcb3: ldc.i8 0x1
+ IL_1dcbc: stloc V_20
+ IL_1dcc0: ldloc V_10
+ IL_1dcc4: ldc.i8 0x1
+ IL_1dccd: add
+ IL_1dcce: stloc V_10
+ IL_1dcd2: ldloc V_10
+ IL_1dcd6: ldc.i8 0x2
+ IL_1dcdf: blt IL_1db2d
+
+ IL_1dce4: ldloc V_5
+ IL_1dce8: ldloc V_13
+ IL_1dcec: add
+ IL_1dced: stloc V_11
+ IL_1dcf1: ldloc V_21
+ IL_1dcf5: ldc.i8 0x3
+ IL_1dcfe: add
+ IL_1dcff: stloc V_21
+ IL_1dd03: ldloc V_8
+ IL_1dd07: ldc.i8 0x1
+ IL_1dd10: add
+ IL_1dd11: stloc V_8
+ IL_1dd15: ldloc V_8
+ IL_1dd19: ldc.i8 0x2
+ IL_1dd22: blt IL_1d194
+
+ IL_1dd27: ldloc V_36
+ IL_1dd2b: ldloc V_20
+ IL_1dd2f: add
+ IL_1dd30: stloc V_43
+ IL_1dd34: ldloc V_24
+ IL_1dd38: ldc.i8 0x6
+ IL_1dd41: add
+ IL_1dd42: stloc V_27
+ IL_1dd46: br IL_20112
+
+ IL_1dd4b: ldc.i8 0x0
+ IL_1dd54: stloc V_7
+ IL_1dd58: ldc.i8 0x0
+ IL_1dd61: stloc V_8
+ IL_1dd65: ldc.i8 0x0
+ IL_1dd6e: stloc V_9
+ IL_1dd72: ldloc V_36
+ IL_1dd76: ldloc V_34
+ IL_1dd7a: add
+ IL_1dd7b: stloc V_37
+ IL_1dd7f: ldloc V_9
+ IL_1dd83: ldc.i8 0x1
+ IL_1dd8c: add
+ IL_1dd8d: stloc V_9
+ IL_1dd91: ldloc V_9
+ IL_1dd95: ldc.i8 0x1
+ IL_1dd9e: blt IL_1dd72
+
+ IL_1dda3: br IL_1e03d
+
+ IL_1dda8: br IL_1ddba
+
+ IL_1ddad: ldloc V_17
+ IL_1ddb1: ldloc V_8
+ IL_1ddb5: add
+ IL_1ddb6: stloc V_17
+ IL_1ddba: br IL_1dfbb
+
+ IL_1ddbf: ldc.i8 0x0
+ IL_1ddc8: stloc V_11
+ IL_1ddcc: ldc.i8 0x0
+ IL_1ddd5: stloc V_12
+ IL_1ddd9: ldloc V_12
+ IL_1dddd: ldc.i8 0x1
+ IL_1dde6: add
+ IL_1dde7: stloc V_12
+ IL_1ddeb: ldloc V_12
+ IL_1ddef: ldc.i8 0x0
+ IL_1ddf8: blt IL_1ddd9
+
+ IL_1ddfd: ldc.i8 0x0
+ IL_1de06: stloc V_12
+ IL_1de0a: ldloc V_12
+ IL_1de0e: ldc.i8 0x1
+ IL_1de17: add
+ IL_1de18: stloc V_12
+ IL_1de1c: ldloc V_12
+ IL_1de20: ldc.i8 0x1
+ IL_1de29: blt IL_1de0a
+
+ IL_1de2e: ldc.i8 0x0
+ IL_1de37: stloc V_12
+ IL_1de3b: ldloc V_12
+ IL_1de3f: ldc.i8 0x1
+ IL_1de48: add
+ IL_1de49: stloc V_12
+ IL_1de4d: ldloc V_12
+ IL_1de51: ldc.i8 0x1
+ IL_1de5a: blt IL_1de3b
+
+ IL_1de5f: ldloc V_16
+ IL_1de63: ldloc V_12
+ IL_1de67: add
+ IL_1de68: stloc V_23
+ IL_1de6c: ldloc V_11
+ IL_1de70: ldc.i8 0x1
+ IL_1de79: add
+ IL_1de7a: stloc V_11
+ IL_1de7e: ldloc V_11
+ IL_1de82: ldc.i8 0x0
+ IL_1de8b: blt IL_1ddcc
+
+ IL_1de90: ldc.i8 0x0
+ IL_1de99: stloc V_11
+ IL_1de9d: ldc.i8 0x0
+ IL_1dea6: stloc V_12
+ IL_1deaa: ldloc V_12
+ IL_1deae: ldc.i8 0x1
+ IL_1deb7: add
+ IL_1deb8: stloc V_12
+ IL_1debc: ldloc V_12
+ IL_1dec0: ldc.i8 0x0
+ IL_1dec9: blt IL_1deaa
+
+ IL_1dece: br IL_1ded3
+
+ IL_1ded3: ldc.i8 0x0
+ IL_1dedc: stloc V_12
+ IL_1dee0: ldloc V_12
+ IL_1dee4: ldc.i8 0x1
+ IL_1deed: add
+ IL_1deee: stloc V_12
+ IL_1def2: ldloc V_12
+ IL_1def6: ldc.i8 0x2
+ IL_1deff: blt IL_1dee0
+
+ IL_1df04: ldc.i8 0x5
+ IL_1df0d: stloc V_30
+ IL_1df11: ldloc V_11
+ IL_1df15: ldc.i8 0x1
+ IL_1df1e: add
+ IL_1df1f: stloc V_11
+ IL_1df23: ldloc V_11
+ IL_1df27: ldc.i8 0x0
+ IL_1df30: blt IL_1de9d
+
+ IL_1df35: br IL_1dfa9
+
+ IL_1df3a: ldc.i8 0x0
+ IL_1df43: stloc V_12
+ IL_1df47: ldloc V_12
+ IL_1df4b: ldc.i8 0x1
+ IL_1df54: add
+ IL_1df55: stloc V_12
+ IL_1df59: ldloc V_12
+ IL_1df5d: ldc.i8 0x1
+ IL_1df66: blt IL_1df47
+
+ IL_1df6b: br IL_1df70
+
+ IL_1df70: ldc.i8 0x0
+ IL_1df79: stloc V_12
+ IL_1df7d: ldloc V_12
+ IL_1df81: ldc.i8 0x1
+ IL_1df8a: add
+ IL_1df8b: stloc V_12
+ IL_1df8f: ldloc V_12
+ IL_1df93: ldc.i8 0x1
+ IL_1df9c: blt IL_1df7d
+
+ IL_1dfa1: ldloc V_22
+ IL_1dfa5: stloc V_31
+ IL_1dfa9: ldloc V_35
+ IL_1dfad: ldc.i8 0x6
+ IL_1dfb6: add
+ IL_1dfb7: stloc V_24
+ IL_1dfbb: br IL_1e03c
+
+ IL_1dfc0: br IL_1dfcb
+
+ IL_1dfc5: br IL_1dfca
+
+ IL_1dfca: nop
+ IL_1dfcb: br IL_1e013
+
+ IL_1dfd0: ldc.i8 0x0
+ IL_1dfd9: stloc V_12
+ IL_1dfdd: ldloc V_12
+ IL_1dfe1: ldc.i8 0x1
+ IL_1dfea: add
+ IL_1dfeb: stloc V_12
+ IL_1dfef: ldloc V_12
+ IL_1dff3: ldc.i8 0x1
+ IL_1dffc: blt IL_1dfdd
+
+ IL_1e001: br IL_1e006
+
+ IL_1e006: br IL_1e00b
+
+ IL_1e00b: ldloc V_16
+ IL_1e00f: stloc V_37
+ IL_1e013: br IL_1e02f
+
+ IL_1e018: br IL_1e01d
+
+ IL_1e01d: ldloc V_28
+ IL_1e021: ldc.i8 0x8
+ IL_1e02a: add
+ IL_1e02b: stloc V_31
+ IL_1e02f: ldloc V_24
+ IL_1e033: ldloc V_31
+ IL_1e037: add
+ IL_1e038: stloc V_26
+ IL_1e03c: nop
+ IL_1e03d: br IL_1e04f
+
+ IL_1e042: ldloc V_41
+ IL_1e046: ldloc V_38
+ IL_1e04a: add
+ IL_1e04b: stloc V_41
+ IL_1e04f: ldloc V_12
+ IL_1e053: ldloc V_11
+ IL_1e057: add
+ IL_1e058: stloc V_12
+ IL_1e05c: ldloc V_8
+ IL_1e060: ldc.i8 0x1
+ IL_1e069: add
+ IL_1e06a: stloc V_8
+ IL_1e06e: ldloc V_8
+ IL_1e072: ldc.i8 0x0
+ IL_1e07b: blt IL_1dd65
+
+ IL_1e080: ldc.i8 0x0
+ IL_1e089: stloc V_8
+ IL_1e08d: ldc.i8 0x0
+ IL_1e096: stloc V_9
+ IL_1e09a: nop
+ IL_1e09b: ldloc V_9
+ IL_1e09f: ldc.i8 0x1
+ IL_1e0a8: add
+ IL_1e0a9: stloc V_9
+ IL_1e0ad: ldloc V_9
+ IL_1e0b1: ldc.i8 0x2
+ IL_1e0ba: blt IL_1e09a
+
+ IL_1e0bf: ldc.i8 0x0
+ IL_1e0c8: stloc V_9
+ IL_1e0cc: ldc.i8 0x0
+ IL_1e0d5: stloc V_10
+ IL_1e0d9: ldc.i8 0x0
+ IL_1e0e2: stloc V_11
+ IL_1e0e6: ldloc V_36
+ IL_1e0ea: ldloc V_49
+ IL_1e0ee: add
+ IL_1e0ef: ldc.i8 0x6
+ IL_1e0f8: add
+ IL_1e0f9: stloc V_36
+ IL_1e0fd: ldloc V_11
+ IL_1e101: ldc.i8 0x1
+ IL_1e10a: add
+ IL_1e10b: stloc V_11
+ IL_1e10f: ldloc V_11
+ IL_1e113: ldc.i8 0x0
+ IL_1e11c: blt IL_1e0e6
+
+ IL_1e121: ldc.i8 0x0
+ IL_1e12a: stloc V_11
+ IL_1e12e: ldc.i8 0x0
+ IL_1e137: stloc V_12
+ IL_1e13b: ldloc V_12
+ IL_1e13f: ldc.i8 0x1
+ IL_1e148: add
+ IL_1e149: stloc V_12
+ IL_1e14d: ldloc V_12
+ IL_1e151: ldc.i8 0x1
+ IL_1e15a: blt IL_1e13b
+
+ IL_1e15f: ldc.i8 0x0
+ IL_1e168: stloc V_12
+ IL_1e16c: ldloc V_12
+ IL_1e170: ldc.i8 0x1
+ IL_1e179: add
+ IL_1e17a: stloc V_12
+ IL_1e17e: ldloc V_12
+ IL_1e182: ldc.i8 0x0
+ IL_1e18b: blt IL_1e16c
+
+ IL_1e190: ldc.i8 0x0
+ IL_1e199: stloc V_12
+ IL_1e19d: ldloc V_12
+ IL_1e1a1: ldc.i8 0x1
+ IL_1e1aa: add
+ IL_1e1ab: stloc V_12
+ IL_1e1af: ldloc V_12
+ IL_1e1b3: ldc.i8 0x2
+ IL_1e1bc: blt IL_1e19d
+
+ IL_1e1c1: ldc.i8 0x0
+ IL_1e1ca: stloc V_12
+ IL_1e1ce: ldloc V_12
+ IL_1e1d2: ldc.i8 0x1
+ IL_1e1db: add
+ IL_1e1dc: stloc V_12
+ IL_1e1e0: ldloc V_12
+ IL_1e1e4: ldc.i8 0x2
+ IL_1e1ed: blt IL_1e1ce
+
+ IL_1e1f2: nop
+ IL_1e1f3: ldloc V_11
+ IL_1e1f7: ldc.i8 0x1
+ IL_1e200: add
+ IL_1e201: stloc V_11
+ IL_1e205: ldloc V_11
+ IL_1e209: ldc.i8 0x0
+ IL_1e212: blt IL_1e12e
+
+ IL_1e217: ldloc V_1
+ IL_1e21b: stloc V_14
+ IL_1e21f: ldloc V_10
+ IL_1e223: ldc.i8 0x1
+ IL_1e22c: add
+ IL_1e22d: stloc V_10
+ IL_1e231: ldloc V_10
+ IL_1e235: ldc.i8 0x2
+ IL_1e23e: blt IL_1e0d9
+
+ IL_1e243: ldc.i8 0x0
+ IL_1e24c: stloc V_10
+ IL_1e250: br IL_1e2a2
+
+ IL_1e255: br IL_1e25a
+
+ IL_1e25a: ldc.i8 0x0
+ IL_1e263: stloc V_12
+ IL_1e267: ldloc V_12
+ IL_1e26b: ldc.i8 0x1
+ IL_1e274: add
+ IL_1e275: stloc V_12
+ IL_1e279: ldloc V_12
+ IL_1e27d: ldc.i8 0x2
+ IL_1e286: blt IL_1e267
+
+ IL_1e28b: br IL_1e290
+
+ IL_1e290: br IL_1e295
+
+ IL_1e295: ldloc V_15
+ IL_1e299: ldloc V_18
+ IL_1e29d: add
+ IL_1e29e: stloc V_15
+ IL_1e2a2: ldloc V_35
+ IL_1e2a6: stloc V_35
+ IL_1e2aa: ldloc V_10
+ IL_1e2ae: ldc.i8 0x1
+ IL_1e2b7: add
+ IL_1e2b8: stloc V_10
+ IL_1e2bc: ldloc V_10
+ IL_1e2c0: ldc.i8 0x1
+ IL_1e2c9: blt IL_1e250
+
+ IL_1e2ce: ldc.i8 0x0
+ IL_1e2d7: stloc V_10
+ IL_1e2db: ldloc V_39
+ IL_1e2df: ldloc V_26
+ IL_1e2e3: add
+ IL_1e2e4: stloc V_11
+ IL_1e2e8: ldloc V_10
+ IL_1e2ec: ldc.i8 0x1
+ IL_1e2f5: add
+ IL_1e2f6: stloc V_10
+ IL_1e2fa: ldloc V_10
+ IL_1e2fe: ldc.i8 0x1
+ IL_1e307: blt IL_1e2db
+
+ IL_1e30c: ldloc V_43
+ IL_1e310: ldloc V_19
+ IL_1e314: add
+ IL_1e315: ldc.i8 0x8
+ IL_1e31e: add
+ IL_1e31f: stloc V_43
+ IL_1e323: ldloc V_9
+ IL_1e327: ldc.i8 0x1
+ IL_1e330: add
+ IL_1e331: stloc V_9
+ IL_1e335: ldloc V_9
+ IL_1e339: ldc.i8 0x2
+ IL_1e342: blt IL_1e0cc
+
+ IL_1e347: ldc.i8 0x0
+ IL_1e350: stloc V_9
+ IL_1e354: br IL_1e36b
+
+ IL_1e359: ldloc V_29
+ IL_1e35d: ldc.i8 0x5
+ IL_1e366: add
+ IL_1e367: stloc V_15
+ IL_1e36b: br IL_1e420
+
+ IL_1e370: ldc.i8 0x0
+ IL_1e379: stloc V_11
+ IL_1e37d: nop
+ IL_1e37e: ldloc V_11
+ IL_1e382: ldc.i8 0x1
+ IL_1e38b: add
+ IL_1e38c: stloc V_11
+ IL_1e390: ldloc V_11
+ IL_1e394: ldc.i8 0x1
+ IL_1e39d: blt IL_1e37d
+
+ IL_1e3a2: ldc.i8 0x0
+ IL_1e3ab: stloc V_11
+ IL_1e3af: ldloc V_16
+ IL_1e3b3: ldloc V_43
+ IL_1e3b7: add
+ IL_1e3b8: ldc.i8 0x8
+ IL_1e3c1: add
+ IL_1e3c2: stloc V_16
+ IL_1e3c6: ldloc V_11
+ IL_1e3ca: ldc.i8 0x1
+ IL_1e3d3: add
+ IL_1e3d4: stloc V_11
+ IL_1e3d8: ldloc V_11
+ IL_1e3dc: ldc.i8 0x2
+ IL_1e3e5: blt IL_1e3af
+
+ IL_1e3ea: br IL_1e401
+
+ IL_1e3ef: ldloc V_30
+ IL_1e3f3: ldc.i8 0x9
+ IL_1e3fc: add
+ IL_1e3fd: stloc V_33
+ IL_1e401: br IL_1e413
+
+ IL_1e406: ldloc V_13
+ IL_1e40a: ldloc V_11
+ IL_1e40e: add
+ IL_1e40f: stloc V_13
+ IL_1e413: ldloc V_14
+ IL_1e417: ldloc V_31
+ IL_1e41b: add
+ IL_1e41c: stloc V_14
+ IL_1e420: ldc.i8 0x0
+ IL_1e429: stloc V_10
+ IL_1e42d: ldc.i8 0x0
+ IL_1e436: stloc V_11
+ IL_1e43a: br IL_1e43f
+
+ IL_1e43f: ldc.i8 0x0
+ IL_1e448: stloc V_12
+ IL_1e44c: ldloc V_12
+ IL_1e450: ldc.i8 0x1
+ IL_1e459: add
+ IL_1e45a: stloc V_12
+ IL_1e45e: ldloc V_12
+ IL_1e462: ldc.i8 0x0
+ IL_1e46b: blt IL_1e44c
+
+ IL_1e470: ldc.i8 0x0
+ IL_1e479: stloc V_12
+ IL_1e47d: ldloc V_12
+ IL_1e481: ldc.i8 0x1
+ IL_1e48a: add
+ IL_1e48b: stloc V_12
+ IL_1e48f: ldloc V_12
+ IL_1e493: ldc.i8 0x0
+ IL_1e49c: blt IL_1e47d
+
+ IL_1e4a1: ldc.i8 0x0
+ IL_1e4aa: stloc V_12
+ IL_1e4ae: ldloc V_12
+ IL_1e4b2: ldc.i8 0x1
+ IL_1e4bb: add
+ IL_1e4bc: stloc V_12
+ IL_1e4c0: ldloc V_12
+ IL_1e4c4: ldc.i8 0x2
+ IL_1e4cd: blt IL_1e4ae
+
+ IL_1e4d2: nop
+ IL_1e4d3: ldloc V_11
+ IL_1e4d7: ldc.i8 0x1
+ IL_1e4e0: add
+ IL_1e4e1: stloc V_11
+ IL_1e4e5: ldloc V_11
+ IL_1e4e9: ldc.i8 0x0
+ IL_1e4f2: blt IL_1e43a
+
+ IL_1e4f7: ldc.i8 0x0
+ IL_1e500: stloc V_11
+ IL_1e504: ldc.i8 0x0
+ IL_1e50d: stloc V_12
+ IL_1e511: ldloc V_12
+ IL_1e515: ldc.i8 0x1
+ IL_1e51e: add
+ IL_1e51f: stloc V_12
+ IL_1e523: ldloc V_12
+ IL_1e527: ldc.i8 0x0
+ IL_1e530: blt IL_1e511
+
+ IL_1e535: ldc.i8 0x0
+ IL_1e53e: stloc V_44
+ IL_1e542: ldloc V_11
+ IL_1e546: ldc.i8 0x1
+ IL_1e54f: add
+ IL_1e550: stloc V_11
+ IL_1e554: ldloc V_11
+ IL_1e558: ldc.i8 0x2
+ IL_1e561: blt IL_1e504
+
+ IL_1e566: br IL_1e5df
+
+ IL_1e56b: br IL_1e570
+
+ IL_1e570: ldc.i8 0x0
+ IL_1e579: stloc V_12
+ IL_1e57d: ldloc V_12
+ IL_1e581: ldc.i8 0x1
+ IL_1e58a: add
+ IL_1e58b: stloc V_12
+ IL_1e58f: ldloc V_12
+ IL_1e593: ldc.i8 0x0
+ IL_1e59c: blt IL_1e57d
+
+ IL_1e5a1: ldc.i8 0x0
+ IL_1e5aa: stloc V_12
+ IL_1e5ae: ldloc V_12
+ IL_1e5b2: ldc.i8 0x1
+ IL_1e5bb: add
+ IL_1e5bc: stloc V_12
+ IL_1e5c0: ldloc V_12
+ IL_1e5c4: ldc.i8 0x2
+ IL_1e5cd: blt IL_1e5ae
+
+ IL_1e5d2: ldloc V_43
+ IL_1e5d6: ldloc V_3
+ IL_1e5da: add
+ IL_1e5db: stloc V_43
+ IL_1e5df: ldc.i8 0x0
+ IL_1e5e8: stloc V_11
+ IL_1e5ec: ldc.i8 0x0
+ IL_1e5f5: stloc V_12
+ IL_1e5f9: ldloc V_12
+ IL_1e5fd: ldc.i8 0x1
+ IL_1e606: add
+ IL_1e607: stloc V_12
+ IL_1e60b: ldloc V_12
+ IL_1e60f: ldc.i8 0x1
+ IL_1e618: blt IL_1e5f9
+
+ IL_1e61d: ldc.i8 0x0
+ IL_1e626: stloc V_12
+ IL_1e62a: ldloc V_12
+ IL_1e62e: ldc.i8 0x1
+ IL_1e637: add
+ IL_1e638: stloc V_12
+ IL_1e63c: ldloc V_12
+ IL_1e640: ldc.i8 0x2
+ IL_1e649: blt IL_1e62a
+
+ IL_1e64e: ldloc V_32
+ IL_1e652: ldloc V_0
+ IL_1e656: add
+ IL_1e657: stloc V_40
+ IL_1e65b: ldloc V_11
+ IL_1e65f: ldc.i8 0x1
+ IL_1e668: add
+ IL_1e669: stloc V_11
+ IL_1e66d: ldloc V_11
+ IL_1e671: ldc.i8 0x0
+ IL_1e67a: blt IL_1e5ec
+
+ IL_1e67f: ldloc V_4
+ IL_1e683: stloc V_44
+ IL_1e687: ldloc V_10
+ IL_1e68b: ldc.i8 0x1
+ IL_1e694: add
+ IL_1e695: stloc V_10
+ IL_1e699: ldloc V_10
+ IL_1e69d: ldc.i8 0x0
+ IL_1e6a6: blt IL_1e42d
+
+ IL_1e6ab: nop
+ IL_1e6ac: ldloc V_9
+ IL_1e6b0: ldc.i8 0x1
+ IL_1e6b9: add
+ IL_1e6ba: stloc V_9
+ IL_1e6be: ldloc V_9
+ IL_1e6c2: ldc.i8 0x2
+ IL_1e6cb: blt IL_1e354
+
+ IL_1e6d0: br IL_1e933
+
+ IL_1e6d5: ldc.i8 0x0
+ IL_1e6de: stloc V_10
+ IL_1e6e2: br IL_1e72a
+
+ IL_1e6e7: ldc.i8 0x0
+ IL_1e6f0: stloc V_12
+ IL_1e6f4: ldloc V_12
+ IL_1e6f8: ldc.i8 0x1
+ IL_1e701: add
+ IL_1e702: stloc V_12
+ IL_1e706: ldloc V_12
+ IL_1e70a: ldc.i8 0x1
+ IL_1e713: blt IL_1e6f4
+
+ IL_1e718: ldloc V_4
+ IL_1e71c: ldc.i8 0x9
+ IL_1e725: add
+ IL_1e726: stloc V_15
+ IL_1e72a: ldc.i8 0x0
+ IL_1e733: stloc V_11
+ IL_1e737: ldc.i8 0x0
+ IL_1e740: stloc V_12
+ IL_1e744: ldloc V_12
+ IL_1e748: ldc.i8 0x1
+ IL_1e751: add
+ IL_1e752: stloc V_12
+ IL_1e756: ldloc V_12
+ IL_1e75a: ldc.i8 0x0
+ IL_1e763: blt IL_1e744
+
+ IL_1e768: br IL_1e76d
+
+ IL_1e76d: ldc.i8 0x0
+ IL_1e776: stloc V_12
+ IL_1e77a: ldloc V_12
+ IL_1e77e: ldc.i8 0x1
+ IL_1e787: add
+ IL_1e788: stloc V_12
+ IL_1e78c: ldloc V_12
+ IL_1e790: ldc.i8 0x1
+ IL_1e799: blt IL_1e77a
+
+ IL_1e79e: ldloc V_41
+ IL_1e7a2: ldloc V_46
+ IL_1e7a6: add
+ IL_1e7a7: ldc.i8 0x9
+ IL_1e7b0: add
+ IL_1e7b1: stloc V_41
+ IL_1e7b5: ldloc V_11
+ IL_1e7b9: ldc.i8 0x1
+ IL_1e7c2: add
+ IL_1e7c3: stloc V_11
+ IL_1e7c7: ldloc V_11
+ IL_1e7cb: ldc.i8 0x2
+ IL_1e7d4: blt IL_1e737
+
+ IL_1e7d9: br IL_1e810
+
+ IL_1e7de: ldc.i8 0x0
+ IL_1e7e7: stloc V_12
+ IL_1e7eb: ldloc V_12
+ IL_1e7ef: ldc.i8 0x1
+ IL_1e7f8: add
+ IL_1e7f9: stloc V_12
+ IL_1e7fd: ldloc V_12
+ IL_1e801: ldc.i8 0x2
+ IL_1e80a: blt IL_1e7eb
+
+ IL_1e80f: nop
+ IL_1e810: ldc.i8 0x0
+ IL_1e819: stloc V_11
+ IL_1e81d: ldc.i8 0x0
+ IL_1e826: stloc V_12
+ IL_1e82a: ldloc V_12
+ IL_1e82e: ldc.i8 0x1
+ IL_1e837: add
+ IL_1e838: stloc V_12
+ IL_1e83c: ldloc V_12
+ IL_1e840: ldc.i8 0x2
+ IL_1e849: blt IL_1e82a
+
+ IL_1e84e: ldc.i8 0x0
+ IL_1e857: stloc V_12
+ IL_1e85b: ldloc V_12
+ IL_1e85f: ldc.i8 0x1
+ IL_1e868: add
+ IL_1e869: stloc V_12
+ IL_1e86d: ldloc V_12
+ IL_1e871: ldc.i8 0x0
+ IL_1e87a: blt IL_1e85b
+
+ IL_1e87f: br IL_1e884
+
+ IL_1e884: ldc.i8 0x0
+ IL_1e88d: stloc V_12
+ IL_1e891: ldloc V_12
+ IL_1e895: ldc.i8 0x1
+ IL_1e89e: add
+ IL_1e89f: stloc V_12
+ IL_1e8a3: ldloc V_12
+ IL_1e8a7: ldc.i8 0x1
+ IL_1e8b0: blt IL_1e891
+
+ IL_1e8b5: ldc.i8 0x6
+ IL_1e8be: stloc V_13
+ IL_1e8c2: ldloc V_11
+ IL_1e8c6: ldc.i8 0x1
+ IL_1e8cf: add
+ IL_1e8d0: stloc V_11
+ IL_1e8d4: ldloc V_11
+ IL_1e8d8: ldc.i8 0x2
+ IL_1e8e1: blt IL_1e81d
+
+ IL_1e8e6: ldloc V_42
+ IL_1e8ea: ldloc V_11
+ IL_1e8ee: add
+ IL_1e8ef: ldc.i8 0x5
+ IL_1e8f8: add
+ IL_1e8f9: stloc V_42
+ IL_1e8fd: ldloc V_10
+ IL_1e901: ldc.i8 0x1
+ IL_1e90a: add
+ IL_1e90b: stloc V_10
+ IL_1e90f: ldloc V_10
+ IL_1e913: ldc.i8 0x1
+ IL_1e91c: blt IL_1e6e2
+
+ IL_1e921: ldloc V_22
+ IL_1e925: ldc.i8 0x4
+ IL_1e92e: add
+ IL_1e92f: stloc V_33
+ IL_1e933: ldloc V_49
+ IL_1e937: stloc V_35
+ IL_1e93b: ldloc V_8
+ IL_1e93f: ldc.i8 0x1
+ IL_1e948: add
+ IL_1e949: stloc V_8
+ IL_1e94d: ldloc V_8
+ IL_1e951: ldc.i8 0x1
+ IL_1e95a: blt IL_1e08d
+
+ IL_1e95f: br IL_1eb26
+
+ IL_1e964: ldc.i8 0x0
+ IL_1e96d: stloc V_9
+ IL_1e971: br IL_1e983
+
+ IL_1e976: ldloc V_47
+ IL_1e97a: ldloc V_47
+ IL_1e97e: add
+ IL_1e97f: stloc V_22
+ IL_1e983: br IL_1ea68
+
+ IL_1e988: ldc.i8 0x0
+ IL_1e991: stloc V_11
+ IL_1e995: ldc.i8 0x8
+ IL_1e99e: stloc V_13
+ IL_1e9a2: ldloc V_11
+ IL_1e9a6: ldc.i8 0x1
+ IL_1e9af: add
+ IL_1e9b0: stloc V_11
+ IL_1e9b4: ldloc V_11
+ IL_1e9b8: ldc.i8 0x0
+ IL_1e9c1: blt IL_1e995
+
+ IL_1e9c6: br IL_1ea18
+
+ IL_1e9cb: ldc.i8 0x0
+ IL_1e9d4: stloc V_12
+ IL_1e9d8: ldloc V_12
+ IL_1e9dc: ldc.i8 0x1
+ IL_1e9e5: add
+ IL_1e9e6: stloc V_12
+ IL_1e9ea: ldloc V_12
+ IL_1e9ee: ldc.i8 0x0
+ IL_1e9f7: blt IL_1e9d8
+
+ IL_1e9fc: br IL_1ea01
+
+ IL_1ea01: ldloc V_45
+ IL_1ea05: ldloc V_21
+ IL_1ea09: add
+ IL_1ea0a: ldc.i8 0x9
+ IL_1ea13: add
+ IL_1ea14: stloc V_45
+ IL_1ea18: ldc.i8 0x0
+ IL_1ea21: stloc V_11
+ IL_1ea25: ldloc V_33
+ IL_1ea29: ldloc V_44
+ IL_1ea2d: add
+ IL_1ea2e: stloc V_33
+ IL_1ea32: ldloc V_11
+ IL_1ea36: ldc.i8 0x1
+ IL_1ea3f: add
+ IL_1ea40: stloc V_11
+ IL_1ea44: ldloc V_11
+ IL_1ea48: ldc.i8 0x1
+ IL_1ea51: blt IL_1ea25
+
+ IL_1ea56: ldloc V_7
+ IL_1ea5a: ldc.i8 0x9
+ IL_1ea63: add
+ IL_1ea64: stloc V_32
+ IL_1ea68: br IL_1eaf4
+
+ IL_1ea6d: br IL_1ea7f
+
+ IL_1ea72: ldloc V_42
+ IL_1ea76: ldloc V_48
+ IL_1ea7a: add
+ IL_1ea7b: stloc V_42
+ IL_1ea7f: ldc.i8 0x0
+ IL_1ea88: stloc V_11
+ IL_1ea8c: ldc.i8 0x0
+ IL_1ea95: stloc V_12
+ IL_1ea99: ldloc V_12
+ IL_1ea9d: ldc.i8 0x1
+ IL_1eaa6: add
+ IL_1eaa7: stloc V_12
+ IL_1eaab: ldloc V_12
+ IL_1eaaf: ldc.i8 0x1
+ IL_1eab8: blt IL_1ea99
+
+ IL_1eabd: br IL_1eac2
+
+ IL_1eac2: ldloc V_23
+ IL_1eac6: ldloc V_25
+ IL_1eaca: add
+ IL_1eacb: stloc V_47
+ IL_1eacf: ldloc V_11
+ IL_1ead3: ldc.i8 0x1
+ IL_1eadc: add
+ IL_1eadd: stloc V_11
+ IL_1eae1: ldloc V_11
+ IL_1eae5: ldc.i8 0x1
+ IL_1eaee: blt IL_1ea8c
+
+ IL_1eaf3: nop
+ IL_1eaf4: nop
+ IL_1eaf5: ldloc V_9
+ IL_1eaf9: ldc.i8 0x1
+ IL_1eb02: add
+ IL_1eb03: stloc V_9
+ IL_1eb07: ldloc V_9
+ IL_1eb0b: ldc.i8 0x1
+ IL_1eb14: blt IL_1e971
+
+ IL_1eb19: ldc.i8 0x6
+ IL_1eb22: stloc V_30
+ IL_1eb26: ldc.i8 0x1
+ IL_1eb2f: stloc V_9
+ IL_1eb33: ldloc V_7
+ IL_1eb37: ldc.i8 0x1
+ IL_1eb40: add
+ IL_1eb41: stloc V_7
+ IL_1eb45: ldloc V_7
+ IL_1eb49: ldc.i8 0x0
+ IL_1eb52: blt IL_1dd58
+
+ IL_1eb57: br IL_1f095
+
+ IL_1eb5c: ldc.i8 0x0
+ IL_1eb65: stloc V_8
+ IL_1eb69: nop
+ IL_1eb6a: ldloc V_8
+ IL_1eb6e: ldc.i8 0x1
+ IL_1eb77: add
+ IL_1eb78: stloc V_8
+ IL_1eb7c: ldloc V_8
+ IL_1eb80: ldc.i8 0x0
+ IL_1eb89: blt IL_1eb69
+
+ IL_1eb8e: ldc.i8 0x0
+ IL_1eb97: stloc V_8
+ IL_1eb9b: ldc.i8 0x0
+ IL_1eba4: stloc V_9
+ IL_1eba8: ldc.i8 0x0
+ IL_1ebb1: stloc V_10
+ IL_1ebb5: br IL_1ec29
+
+ IL_1ebba: ldc.i8 0x0
+ IL_1ebc3: stloc V_12
+ IL_1ebc7: ldloc V_12
+ IL_1ebcb: ldc.i8 0x1
+ IL_1ebd4: add
+ IL_1ebd5: stloc V_12
+ IL_1ebd9: ldloc V_12
+ IL_1ebdd: ldc.i8 0x2
+ IL_1ebe6: blt IL_1ebc7
+
+ IL_1ebeb: ldc.i8 0x0
+ IL_1ebf4: stloc V_12
+ IL_1ebf8: ldloc V_12
+ IL_1ebfc: ldc.i8 0x1
+ IL_1ec05: add
+ IL_1ec06: stloc V_12
+ IL_1ec0a: ldloc V_12
+ IL_1ec0e: ldc.i8 0x1
+ IL_1ec17: blt IL_1ebf8
+
+ IL_1ec1c: ldloc V_3
+ IL_1ec20: ldloc V_19
+ IL_1ec24: add
+ IL_1ec25: stloc V_41
+ IL_1ec29: ldc.i8 0x0
+ IL_1ec32: stloc V_11
+ IL_1ec36: br IL_1ec3b
+
+ IL_1ec3b: ldc.i8 0x0
+ IL_1ec44: stloc V_12
+ IL_1ec48: ldloc V_12
+ IL_1ec4c: ldc.i8 0x1
+ IL_1ec55: add
+ IL_1ec56: stloc V_12
+ IL_1ec5a: ldloc V_12
+ IL_1ec5e: ldc.i8 0x2
+ IL_1ec67: blt IL_1ec48
+
+ IL_1ec6c: ldc.i8 0x0
+ IL_1ec75: stloc V_12
+ IL_1ec79: ldloc V_12
+ IL_1ec7d: ldc.i8 0x1
+ IL_1ec86: add
+ IL_1ec87: stloc V_12
+ IL_1ec8b: ldloc V_12
+ IL_1ec8f: ldc.i8 0x2
+ IL_1ec98: blt IL_1ec79
+
+ IL_1ec9d: ldc.i8 0x0
+ IL_1eca6: stloc V_12
+ IL_1ecaa: ldloc V_12
+ IL_1ecae: ldc.i8 0x1
+ IL_1ecb7: add
+ IL_1ecb8: stloc V_12
+ IL_1ecbc: ldloc V_12
+ IL_1ecc0: ldc.i8 0x2
+ IL_1ecc9: blt IL_1ecaa
+
+ IL_1ecce: ldloc V_24
+ IL_1ecd2: ldloc V_13
+ IL_1ecd6: add
+ IL_1ecd7: stloc V_37
+ IL_1ecdb: ldloc V_11
+ IL_1ecdf: ldc.i8 0x1
+ IL_1ece8: add
+ IL_1ece9: stloc V_11
+ IL_1eced: ldloc V_11
+ IL_1ecf1: ldc.i8 0x2
+ IL_1ecfa: blt IL_1ec36
+
+ IL_1ecff: ldloc V_23
+ IL_1ed03: ldloc V_21
+ IL_1ed07: add
+ IL_1ed08: stloc V_42
+ IL_1ed0c: ldloc V_10
+ IL_1ed10: ldc.i8 0x1
+ IL_1ed19: add
+ IL_1ed1a: stloc V_10
+ IL_1ed1e: ldloc V_10
+ IL_1ed22: ldc.i8 0x1
+ IL_1ed2b: blt IL_1ebb5
+
+ IL_1ed30: ldc.i8 0x0
+ IL_1ed39: stloc V_10
+ IL_1ed3d: ldc.i8 0x5
+ IL_1ed46: stloc V_13
+ IL_1ed4a: ldloc V_10
+ IL_1ed4e: ldc.i8 0x1
+ IL_1ed57: add
+ IL_1ed58: stloc V_10
+ IL_1ed5c: ldloc V_10
+ IL_1ed60: ldc.i8 0x1
+ IL_1ed69: blt IL_1ed3d
+
+ IL_1ed6e: ldc.i8 0x0
+ IL_1ed77: stloc V_10
+ IL_1ed7b: br IL_1ee25
+
+ IL_1ed80: ldc.i8 0x0
+ IL_1ed89: stloc V_12
+ IL_1ed8d: ldloc V_12
+ IL_1ed91: ldc.i8 0x1
+ IL_1ed9a: add
+ IL_1ed9b: stloc V_12
+ IL_1ed9f: ldloc V_12
+ IL_1eda3: ldc.i8 0x1
+ IL_1edac: blt IL_1ed8d
+
+ IL_1edb1: ldc.i8 0x0
+ IL_1edba: stloc V_12
+ IL_1edbe: ldloc V_12
+ IL_1edc2: ldc.i8 0x1
+ IL_1edcb: add
+ IL_1edcc: stloc V_12
+ IL_1edd0: ldloc V_12
+ IL_1edd4: ldc.i8 0x1
+ IL_1eddd: blt IL_1edbe
+
+ IL_1ede2: ldc.i8 0x0
+ IL_1edeb: stloc V_12
+ IL_1edef: ldloc V_12
+ IL_1edf3: ldc.i8 0x1
+ IL_1edfc: add
+ IL_1edfd: stloc V_12
+ IL_1ee01: ldloc V_12
+ IL_1ee05: ldc.i8 0x1
+ IL_1ee0e: blt IL_1edef
+
+ IL_1ee13: ldloc V_48
+ IL_1ee17: ldc.i8 0x2
+ IL_1ee20: add
+ IL_1ee21: stloc V_12
+ IL_1ee25: ldc.i8 0x0
+ IL_1ee2e: stloc V_11
+ IL_1ee32: ldc.i8 0x0
+ IL_1ee3b: stloc V_12
+ IL_1ee3f: ldloc V_12
+ IL_1ee43: ldc.i8 0x1
+ IL_1ee4c: add
+ IL_1ee4d: stloc V_12
+ IL_1ee51: ldloc V_12
+ IL_1ee55: ldc.i8 0x1
+ IL_1ee5e: blt IL_1ee3f
+
+ IL_1ee63: ldc.i8 0x0
+ IL_1ee6c: stloc V_12
+ IL_1ee70: ldloc V_12
+ IL_1ee74: ldc.i8 0x1
+ IL_1ee7d: add
+ IL_1ee7e: stloc V_12
+ IL_1ee82: ldloc V_12
+ IL_1ee86: ldc.i8 0x0
+ IL_1ee8f: blt IL_1ee70
+
+ IL_1ee94: br IL_1ee99
+
+ IL_1ee99: ldc.i8 0x0
+ IL_1eea2: stloc V_12
+ IL_1eea6: ldloc V_12
+ IL_1eeaa: ldc.i8 0x1
+ IL_1eeb3: add
+ IL_1eeb4: stloc V_12
+ IL_1eeb8: ldloc V_12
+ IL_1eebc: ldc.i8 0x1
+ IL_1eec5: blt IL_1eea6
+
+ IL_1eeca: ldloc V_43
+ IL_1eece: ldloc V_12
+ IL_1eed2: add
+ IL_1eed3: ldc.i8 0x4
+ IL_1eedc: add
+ IL_1eedd: stloc V_43
+ IL_1eee1: ldloc V_11
+ IL_1eee5: ldc.i8 0x1
+ IL_1eeee: add
+ IL_1eeef: stloc V_11
+ IL_1eef3: ldloc V_11
+ IL_1eef7: ldc.i8 0x0
+ IL_1ef00: blt IL_1ee32
+
+ IL_1ef05: ldc.i8 0x0
+ IL_1ef0e: stloc V_11
+ IL_1ef12: nop
+ IL_1ef13: ldloc V_11
+ IL_1ef17: ldc.i8 0x1
+ IL_1ef20: add
+ IL_1ef21: stloc V_11
+ IL_1ef25: ldloc V_11
+ IL_1ef29: ldc.i8 0x2
+ IL_1ef32: blt IL_1ef12
+
+ IL_1ef37: br IL_1ef4e
+
+ IL_1ef3c: br IL_1ef41
+
+ IL_1ef41: ldloc V_35
+ IL_1ef45: ldloc V_23
+ IL_1ef49: add
+ IL_1ef4a: stloc V_28
+ IL_1ef4e: ldc.i8 0x7
+ IL_1ef57: stloc V_42
+ IL_1ef5b: ldloc V_10
+ IL_1ef5f: ldc.i8 0x1
+ IL_1ef68: add
+ IL_1ef69: stloc V_10
+ IL_1ef6d: ldloc V_10
+ IL_1ef71: ldc.i8 0x0
+ IL_1ef7a: blt IL_1ed7b
+
+ IL_1ef7f: ldc.i8 0x0
+ IL_1ef88: stloc V_10
+ IL_1ef8c: ldloc V_23
+ IL_1ef90: ldloc V_4
+ IL_1ef94: add
+ IL_1ef95: ldc.i8 0x4
+ IL_1ef9e: add
+ IL_1ef9f: stloc V_23
+ IL_1efa3: ldloc V_10
+ IL_1efa7: ldc.i8 0x1
+ IL_1efb0: add
+ IL_1efb1: stloc V_10
+ IL_1efb5: ldloc V_10
+ IL_1efb9: ldc.i8 0x2
+ IL_1efc2: blt IL_1ef8c
+
+ IL_1efc7: ldloc V_27
+ IL_1efcb: ldloc V_23
+ IL_1efcf: add
+ IL_1efd0: stloc V_27
+ IL_1efd4: ldloc V_9
+ IL_1efd8: ldc.i8 0x1
+ IL_1efe1: add
+ IL_1efe2: stloc V_9
+ IL_1efe6: ldloc V_9
+ IL_1efea: ldc.i8 0x2
+ IL_1eff3: blt IL_1eba8
+
+ IL_1eff8: ldloc V_38
+ IL_1effc: ldloc V_24
+ IL_1f000: add
+ IL_1f001: stloc V_38
+ IL_1f005: ldloc V_8
+ IL_1f009: ldc.i8 0x1
+ IL_1f012: add
+ IL_1f013: stloc V_8
+ IL_1f017: ldloc V_8
+ IL_1f01b: ldc.i8 0x2
+ IL_1f024: blt IL_1eb9b
+
+ IL_1f029: ldc.i8 0x0
+ IL_1f032: stloc V_8
+ IL_1f036: ldloc V_15
+ IL_1f03a: ldc.i8 0x7
+ IL_1f043: add
+ IL_1f044: stloc V_41
+ IL_1f048: ldloc V_8
+ IL_1f04c: ldc.i8 0x1
+ IL_1f055: add
+ IL_1f056: stloc V_8
+ IL_1f05a: ldloc V_8
+ IL_1f05e: ldc.i8 0x1
+ IL_1f067: blt IL_1f036
+
+ IL_1f06c: br IL_1f07e
+
+ IL_1f071: ldloc V_46
+ IL_1f075: ldloc V_0
+ IL_1f079: add
+ IL_1f07a: stloc V_46
+ IL_1f07e: ldloc V_32
+ IL_1f082: ldloc V_7
+ IL_1f086: add
+ IL_1f087: ldc.i8 0x8
+ IL_1f090: add
+ IL_1f091: stloc V_32
+ IL_1f095: ldc.i8 0x0
+ IL_1f09e: stloc V_7
+ IL_1f0a2: nop
+ IL_1f0a3: ldloc V_7
+ IL_1f0a7: ldc.i8 0x1
+ IL_1f0b0: add
+ IL_1f0b1: stloc V_7
+ IL_1f0b5: ldloc V_7
+ IL_1f0b9: ldc.i8 0x0
+ IL_1f0c2: blt IL_1f0a2
+
+ IL_1f0c7: ldc.i8 0x0
+ IL_1f0d0: stloc V_7
+ IL_1f0d4: br IL_1f336
+
+ IL_1f0d9: br IL_1f0df
+
+ IL_1f0de: nop
+ IL_1f0df: ldc.i8 0x0
+ IL_1f0e8: stloc V_9
+ IL_1f0ec: ldc.i8 0x0
+ IL_1f0f5: stloc V_10
+ IL_1f0f9: br IL_1f1d9
+
+ IL_1f0fe: ldc.i8 0x0
+ IL_1f107: stloc V_12
+ IL_1f10b: ldloc V_12
+ IL_1f10f: ldc.i8 0x1
+ IL_1f118: add
+ IL_1f119: stloc V_12
+ IL_1f11d: ldloc V_12
+ IL_1f121: ldc.i8 0x2
+ IL_1f12a: blt IL_1f10b
+
+ IL_1f12f: ldc.i8 0x0
+ IL_1f138: stloc V_12
+ IL_1f13c: ldloc V_12
+ IL_1f140: ldc.i8 0x1
+ IL_1f149: add
+ IL_1f14a: stloc V_12
+ IL_1f14e: ldloc V_12
+ IL_1f152: ldc.i8 0x1
+ IL_1f15b: blt IL_1f13c
+
+ IL_1f160: ldc.i8 0x0
+ IL_1f169: stloc V_12
+ IL_1f16d: ldloc V_12
+ IL_1f171: ldc.i8 0x1
+ IL_1f17a: add
+ IL_1f17b: stloc V_12
+ IL_1f17f: ldloc V_12
+ IL_1f183: ldc.i8 0x0
+ IL_1f18c: blt IL_1f16d
+
+ IL_1f191: ldc.i8 0x0
+ IL_1f19a: stloc V_12
+ IL_1f19e: ldloc V_12
+ IL_1f1a2: ldc.i8 0x1
+ IL_1f1ab: add
+ IL_1f1ac: stloc V_12
+ IL_1f1b0: ldloc V_12
+ IL_1f1b4: ldc.i8 0x2
+ IL_1f1bd: blt IL_1f19e
+
+ IL_1f1c2: ldloc V_12
+ IL_1f1c6: ldloc V_21
+ IL_1f1ca: add
+ IL_1f1cb: ldc.i8 0x0
+ IL_1f1d4: add
+ IL_1f1d5: stloc V_12
+ IL_1f1d9: br IL_1f252
+
+ IL_1f1de: ldc.i8 0x0
+ IL_1f1e7: stloc V_12
+ IL_1f1eb: ldloc V_12
+ IL_1f1ef: ldc.i8 0x1
+ IL_1f1f8: add
+ IL_1f1f9: stloc V_12
+ IL_1f1fd: ldloc V_12
+ IL_1f201: ldc.i8 0x0
+ IL_1f20a: blt IL_1f1eb
+
+ IL_1f20f: ldc.i8 0x0
+ IL_1f218: stloc V_12
+ IL_1f21c: ldloc V_12
+ IL_1f220: ldc.i8 0x1
+ IL_1f229: add
+ IL_1f22a: stloc V_12
+ IL_1f22e: ldloc V_12
+ IL_1f232: ldc.i8 0x0
+ IL_1f23b: blt IL_1f21c
+
+ IL_1f240: ldloc V_8
+ IL_1f244: ldc.i8 0x4
+ IL_1f24d: add
+ IL_1f24e: stloc V_15
+ IL_1f252: ldc.i8 0x3
+ IL_1f25b: stloc V_41
+ IL_1f25f: ldloc V_10
+ IL_1f263: ldc.i8 0x1
+ IL_1f26c: add
+ IL_1f26d: stloc V_10
+ IL_1f271: ldloc V_10
+ IL_1f275: ldc.i8 0x1
+ IL_1f27e: blt IL_1f0f9
+
+ IL_1f283: ldc.i8 0x0
+ IL_1f28c: stloc V_10
+ IL_1f290: br IL_1f2d8
+
+ IL_1f295: ldc.i8 0x0
+ IL_1f29e: stloc V_12
+ IL_1f2a2: ldloc V_12
+ IL_1f2a6: ldc.i8 0x1
+ IL_1f2af: add
+ IL_1f2b0: stloc V_12
+ IL_1f2b4: ldloc V_12
+ IL_1f2b8: ldc.i8 0x1
+ IL_1f2c1: blt IL_1f2a2
+
+ IL_1f2c6: ldloc V_49
+ IL_1f2ca: ldc.i8 0x1
+ IL_1f2d3: add
+ IL_1f2d4: stloc V_22
+ IL_1f2d8: ldloc V_37
+ IL_1f2dc: ldloc V_46
+ IL_1f2e0: add
+ IL_1f2e1: stloc V_42
+ IL_1f2e5: ldloc V_10
+ IL_1f2e9: ldc.i8 0x1
+ IL_1f2f2: add
+ IL_1f2f3: stloc V_10
+ IL_1f2f7: ldloc V_10
+ IL_1f2fb: ldc.i8 0x1
+ IL_1f304: blt IL_1f290
+
+ IL_1f309: nop
+ IL_1f30a: ldloc V_9
+ IL_1f30e: ldc.i8 0x1
+ IL_1f317: add
+ IL_1f318: stloc V_9
+ IL_1f31c: ldloc V_9
+ IL_1f320: ldc.i8 0x0
+ IL_1f329: blt IL_1f0ec
+
+ IL_1f32e: ldloc V_28
+ IL_1f332: stloc V_12
+ IL_1f336: ldc.i8 0x0
+ IL_1f33f: stloc V_8
+ IL_1f343: ldc.i8 0x0
+ IL_1f34c: stloc V_9
+ IL_1f350: ldc.i8 0x0
+ IL_1f359: stloc V_10
+ IL_1f35d: ldc.i8 0x0
+ IL_1f366: stloc V_11
+ IL_1f36a: br IL_1f36f
+
+ IL_1f36f: br IL_1f374
+
+ IL_1f374: ldc.i8 0x0
+ IL_1f37d: stloc V_12
+ IL_1f381: ldloc V_12
+ IL_1f385: ldc.i8 0x1
+ IL_1f38e: add
+ IL_1f38f: stloc V_12
+ IL_1f393: ldloc V_12
+ IL_1f397: ldc.i8 0x1
+ IL_1f3a0: blt IL_1f381
+
+ IL_1f3a5: ldc.i8 0x0
+ IL_1f3ae: stloc V_12
+ IL_1f3b2: ldloc V_12
+ IL_1f3b6: ldc.i8 0x1
+ IL_1f3bf: add
+ IL_1f3c0: stloc V_12
+ IL_1f3c4: ldloc V_12
+ IL_1f3c8: ldc.i8 0x2
+ IL_1f3d1: blt IL_1f3b2
+
+ IL_1f3d6: ldloc V_1
+ IL_1f3da: ldloc V_45
+ IL_1f3de: add
+ IL_1f3df: stloc V_22
+ IL_1f3e3: ldloc V_11
+ IL_1f3e7: ldc.i8 0x1
+ IL_1f3f0: add
+ IL_1f3f1: stloc V_11
+ IL_1f3f5: ldloc V_11
+ IL_1f3f9: ldc.i8 0x0
+ IL_1f402: blt IL_1f36a
+
+ IL_1f407: br IL_1f414
+
+ IL_1f40c: ldloc V_15
+ IL_1f410: stloc V_45
+ IL_1f414: nop
+ IL_1f415: ldloc V_10
+ IL_1f419: ldc.i8 0x1
+ IL_1f422: add
+ IL_1f423: stloc V_10
+ IL_1f427: ldloc V_10
+ IL_1f42b: ldc.i8 0x2
+ IL_1f434: blt IL_1f35d
+
+ IL_1f439: ldc.i8 0x0
+ IL_1f442: stloc V_10
+ IL_1f446: br IL_1f48e
+
+ IL_1f44b: ldc.i8 0x0
+ IL_1f454: stloc V_12
+ IL_1f458: ldloc V_12
+ IL_1f45c: ldc.i8 0x1
+ IL_1f465: add
+ IL_1f466: stloc V_12
+ IL_1f46a: ldloc V_12
+ IL_1f46e: ldc.i8 0x2
+ IL_1f477: blt IL_1f458
+
+ IL_1f47c: ldloc V_15
+ IL_1f480: ldc.i8 0x1
+ IL_1f489: add
+ IL_1f48a: stloc V_48
+ IL_1f48e: ldc.i8 0x0
+ IL_1f497: stloc V_11
+ IL_1f49b: ldc.i8 0x0
+ IL_1f4a4: stloc V_12
+ IL_1f4a8: ldloc V_12
+ IL_1f4ac: ldc.i8 0x1
+ IL_1f4b5: add
+ IL_1f4b6: stloc V_12
+ IL_1f4ba: ldloc V_12
+ IL_1f4be: ldc.i8 0x0
+ IL_1f4c7: blt IL_1f4a8
+
+ IL_1f4cc: ldloc V_12
+ IL_1f4d0: stloc V_12
+ IL_1f4d4: ldloc V_11
+ IL_1f4d8: ldc.i8 0x1
+ IL_1f4e1: add
+ IL_1f4e2: stloc V_11
+ IL_1f4e6: ldloc V_11
+ IL_1f4ea: ldc.i8 0x1
+ IL_1f4f3: blt IL_1f49b
+
+ IL_1f4f8: ldloc V_49
+ IL_1f4fc: ldloc V_40
+ IL_1f500: add
+ IL_1f501: stloc V_49
+ IL_1f505: ldloc V_10
+ IL_1f509: ldc.i8 0x1
+ IL_1f512: add
+ IL_1f513: stloc V_10
+ IL_1f517: ldloc V_10
+ IL_1f51b: ldc.i8 0x2
+ IL_1f524: blt IL_1f446
+
+ IL_1f529: nop
+ IL_1f52a: ldloc V_9
+ IL_1f52e: ldc.i8 0x1
+ IL_1f537: add
+ IL_1f538: stloc V_9
+ IL_1f53c: ldloc V_9
+ IL_1f540: ldc.i8 0x2
+ IL_1f549: blt IL_1f350
+
+ IL_1f54e: ldc.i8 0x0
+ IL_1f557: stloc V_9
+ IL_1f55b: ldc.i8 0x0
+ IL_1f564: stloc V_10
+ IL_1f568: ldc.i8 0x0
+ IL_1f571: stloc V_11
+ IL_1f575: br IL_1f57a
+
+ IL_1f57a: br IL_1f57f
+
+ IL_1f57f: ldloc V_0
+ IL_1f583: stloc V_16
+ IL_1f587: ldloc V_11
+ IL_1f58b: ldc.i8 0x1
+ IL_1f594: add
+ IL_1f595: stloc V_11
+ IL_1f599: ldloc V_11
+ IL_1f59d: ldc.i8 0x0
+ IL_1f5a6: blt IL_1f575
+
+ IL_1f5ab: ldc.i8 0x0
+ IL_1f5b4: stloc V_11
+ IL_1f5b8: ldc.i8 0x0
+ IL_1f5c1: stloc V_12
+ IL_1f5c5: ldloc V_12
+ IL_1f5c9: ldc.i8 0x1
+ IL_1f5d2: add
+ IL_1f5d3: stloc V_12
+ IL_1f5d7: ldloc V_12
+ IL_1f5db: ldc.i8 0x2
+ IL_1f5e4: blt IL_1f5c5
+
+ IL_1f5e9: ldc.i8 0x6
+ IL_1f5f2: stloc V_45
+ IL_1f5f6: ldloc V_11
+ IL_1f5fa: ldc.i8 0x1
+ IL_1f603: add
+ IL_1f604: stloc V_11
+ IL_1f608: ldloc V_11
+ IL_1f60c: ldc.i8 0x0
+ IL_1f615: blt IL_1f5b8
+
+ IL_1f61a: ldc.i8 0x0
+ IL_1f623: stloc V_11
+ IL_1f627: ldloc V_13
+ IL_1f62b: ldloc V_20
+ IL_1f62f: add
+ IL_1f630: stloc V_25
+ IL_1f634: ldloc V_11
+ IL_1f638: ldc.i8 0x1
+ IL_1f641: add
+ IL_1f642: stloc V_11
+ IL_1f646: ldloc V_11
+ IL_1f64a: ldc.i8 0x1
+ IL_1f653: blt IL_1f627
+
+ IL_1f658: br IL_1f6fd
+
+ IL_1f65d: ldc.i8 0x0
+ IL_1f666: stloc V_12
+ IL_1f66a: ldloc V_12
+ IL_1f66e: ldc.i8 0x1
+ IL_1f677: add
+ IL_1f678: stloc V_12
+ IL_1f67c: ldloc V_12
+ IL_1f680: ldc.i8 0x2
+ IL_1f689: blt IL_1f66a
+
+ IL_1f68e: ldc.i8 0x0
+ IL_1f697: stloc V_12
+ IL_1f69b: ldloc V_12
+ IL_1f69f: ldc.i8 0x1
+ IL_1f6a8: add
+ IL_1f6a9: stloc V_12
+ IL_1f6ad: ldloc V_12
+ IL_1f6b1: ldc.i8 0x2
+ IL_1f6ba: blt IL_1f69b
+
+ IL_1f6bf: ldc.i8 0x0
+ IL_1f6c8: stloc V_12
+ IL_1f6cc: ldloc V_12
+ IL_1f6d0: ldc.i8 0x1
+ IL_1f6d9: add
+ IL_1f6da: stloc V_12
+ IL_1f6de: ldloc V_12
+ IL_1f6e2: ldc.i8 0x2
+ IL_1f6eb: blt IL_1f6cc
+
+ IL_1f6f0: ldloc V_17
+ IL_1f6f4: ldloc V_9
+ IL_1f6f8: add
+ IL_1f6f9: stloc V_17
+ IL_1f6fd: nop
+ IL_1f6fe: ldloc V_10
+ IL_1f702: ldc.i8 0x1
+ IL_1f70b: add
+ IL_1f70c: stloc V_10
+ IL_1f710: ldloc V_10
+ IL_1f714: ldc.i8 0x2
+ IL_1f71d: blt IL_1f568
+
+ IL_1f722: br IL_1f8ee
+
+ IL_1f727: ldc.i8 0x0
+ IL_1f730: stloc V_11
+ IL_1f734: ldc.i8 0x0
+ IL_1f73d: stloc V_12
+ IL_1f741: ldloc V_12
+ IL_1f745: ldc.i8 0x1
+ IL_1f74e: add
+ IL_1f74f: stloc V_12
+ IL_1f753: ldloc V_12
+ IL_1f757: ldc.i8 0x0
+ IL_1f760: blt IL_1f741
+
+ IL_1f765: ldc.i8 0x0
+ IL_1f76e: stloc V_12
+ IL_1f772: ldloc V_12
+ IL_1f776: ldc.i8 0x1
+ IL_1f77f: add
+ IL_1f780: stloc V_12
+ IL_1f784: ldloc V_12
+ IL_1f788: ldc.i8 0x2
+ IL_1f791: blt IL_1f772
+
+ IL_1f796: ldc.i8 0x0
+ IL_1f79f: stloc V_12
+ IL_1f7a3: ldloc V_12
+ IL_1f7a7: ldc.i8 0x1
+ IL_1f7b0: add
+ IL_1f7b1: stloc V_12
+ IL_1f7b5: ldloc V_12
+ IL_1f7b9: ldc.i8 0x1
+ IL_1f7c2: blt IL_1f7a3
+
+ IL_1f7c7: ldloc V_37
+ IL_1f7cb: ldloc V_12
+ IL_1f7cf: add
+ IL_1f7d0: stloc V_37
+ IL_1f7d4: ldloc V_11
+ IL_1f7d8: ldc.i8 0x1
+ IL_1f7e1: add
+ IL_1f7e2: stloc V_11
+ IL_1f7e6: ldloc V_11
+ IL_1f7ea: ldc.i8 0x2
+ IL_1f7f3: blt IL_1f734
+
+ IL_1f7f8: ldc.i8 0x0
+ IL_1f801: stloc V_11
+ IL_1f805: ldc.i8 0x0
+ IL_1f80e: stloc V_12
+ IL_1f812: ldloc V_12
+ IL_1f816: ldc.i8 0x1
+ IL_1f81f: add
+ IL_1f820: stloc V_12
+ IL_1f824: ldloc V_12
+ IL_1f828: ldc.i8 0x1
+ IL_1f831: blt IL_1f812
+
+ IL_1f836: ldloc V_34
+ IL_1f83a: ldloc V_25
+ IL_1f83e: add
+ IL_1f83f: stloc V_34
+ IL_1f843: ldloc V_11
+ IL_1f847: ldc.i8 0x1
+ IL_1f850: add
+ IL_1f851: stloc V_11
+ IL_1f855: ldloc V_11
+ IL_1f859: ldc.i8 0x0
+ IL_1f862: blt IL_1f805
+
+ IL_1f867: ldc.i8 0x0
+ IL_1f870: stloc V_11
+ IL_1f874: nop
+ IL_1f875: ldloc V_11
+ IL_1f879: ldc.i8 0x1
+ IL_1f882: add
+ IL_1f883: stloc V_11
+ IL_1f887: ldloc V_11
+ IL_1f88b: ldc.i8 0x2
+ IL_1f894: blt IL_1f874
+
+ IL_1f899: br IL_1f8e1
+
+ IL_1f89e: ldc.i8 0x0
+ IL_1f8a7: stloc V_12
+ IL_1f8ab: ldloc V_12
+ IL_1f8af: ldc.i8 0x1
+ IL_1f8b8: add
+ IL_1f8b9: stloc V_12
+ IL_1f8bd: ldloc V_12
+ IL_1f8c1: ldc.i8 0x2
+ IL_1f8ca: blt IL_1f8ab
+
+ IL_1f8cf: br IL_1f8d4
+
+ IL_1f8d4: ldloc V_15
+ IL_1f8d8: ldloc V_15
+ IL_1f8dc: add
+ IL_1f8dd: stloc V_17
+ IL_1f8e1: ldc.i8 0x2
+ IL_1f8ea: stloc V_19
+ IL_1f8ee: ldloc V_49
+ IL_1f8f2: ldloc V_46
+ IL_1f8f6: add
+ IL_1f8f7: ldc.i8 0x5
+ IL_1f900: add
+ IL_1f901: stloc V_49
+ IL_1f905: ldloc V_9
+ IL_1f909: ldc.i8 0x1
+ IL_1f912: add
+ IL_1f913: stloc V_9
+ IL_1f917: ldloc V_9
+ IL_1f91b: ldc.i8 0x0
+ IL_1f924: blt IL_1f55b
+
+ IL_1f929: ldloc V_20
+ IL_1f92d: ldloc V_5
+ IL_1f931: add
+ IL_1f932: stloc V_9
+ IL_1f936: ldloc V_8
+ IL_1f93a: ldc.i8 0x1
+ IL_1f943: add
+ IL_1f944: stloc V_8
+ IL_1f948: ldloc V_8
+ IL_1f94c: ldc.i8 0x1
+ IL_1f955: blt IL_1f343
+
+ IL_1f95a: br IL_1f971
+
+ IL_1f95f: ldloc V_45
+ IL_1f963: ldc.i8 0x4
+ IL_1f96c: add
+ IL_1f96d: stloc V_36
+ IL_1f971: br IL_200d4
+
+ IL_1f976: ldc.i8 0x0
+ IL_1f97f: stloc V_9
+ IL_1f983: br IL_1fbf6
+
+ IL_1f988: ldc.i8 0x0
+ IL_1f991: stloc V_11
+ IL_1f995: ldc.i8 0x0
+ IL_1f99e: stloc V_12
+ IL_1f9a2: ldloc V_12
+ IL_1f9a6: ldc.i8 0x1
+ IL_1f9af: add
+ IL_1f9b0: stloc V_12
+ IL_1f9b4: ldloc V_12
+ IL_1f9b8: ldc.i8 0x0
+ IL_1f9c1: blt IL_1f9a2
+
+ IL_1f9c6: br IL_1f9cb
+
+ IL_1f9cb: br IL_1f9d0
+
+ IL_1f9d0: ldc.i8 0x0
+ IL_1f9d9: stloc V_12
+ IL_1f9dd: ldloc V_12
+ IL_1f9e1: ldc.i8 0x1
+ IL_1f9ea: add
+ IL_1f9eb: stloc V_12
+ IL_1f9ef: ldloc V_12
+ IL_1f9f3: ldc.i8 0x2
+ IL_1f9fc: blt IL_1f9dd
+
+ IL_1fa01: nop
+ IL_1fa02: ldloc V_11
+ IL_1fa06: ldc.i8 0x1
+ IL_1fa0f: add
+ IL_1fa10: stloc V_11
+ IL_1fa14: ldloc V_11
+ IL_1fa18: ldc.i8 0x1
+ IL_1fa21: blt IL_1f995
+
+ IL_1fa26: br IL_1fa9a
+
+ IL_1fa2b: ldc.i8 0x0
+ IL_1fa34: stloc V_12
+ IL_1fa38: ldloc V_12
+ IL_1fa3c: ldc.i8 0x1
+ IL_1fa45: add
+ IL_1fa46: stloc V_12
+ IL_1fa4a: ldloc V_12
+ IL_1fa4e: ldc.i8 0x1
+ IL_1fa57: blt IL_1fa38
+
+ IL_1fa5c: ldc.i8 0x0
+ IL_1fa65: stloc V_12
+ IL_1fa69: ldloc V_12
+ IL_1fa6d: ldc.i8 0x1
+ IL_1fa76: add
+ IL_1fa77: stloc V_12
+ IL_1fa7b: ldloc V_12
+ IL_1fa7f: ldc.i8 0x0
+ IL_1fa88: blt IL_1fa69
+
+ IL_1fa8d: ldc.i8 0x4
+ IL_1fa96: stloc V_33
+ IL_1fa9a: ldc.i8 0x0
+ IL_1faa3: stloc V_11
+ IL_1faa7: ldc.i8 0x0
+ IL_1fab0: stloc V_12
+ IL_1fab4: ldloc V_12
+ IL_1fab8: ldc.i8 0x1
+ IL_1fac1: add
+ IL_1fac2: stloc V_12
+ IL_1fac6: ldloc V_12
+ IL_1faca: ldc.i8 0x1
+ IL_1fad3: blt IL_1fab4
+
+ IL_1fad8: br IL_1fadd
+
+ IL_1fadd: ldc.i8 0x0
+ IL_1fae6: stloc V_12
+ IL_1faea: ldloc V_12
+ IL_1faee: ldc.i8 0x1
+ IL_1faf7: add
+ IL_1faf8: stloc V_12
+ IL_1fafc: ldloc V_12
+ IL_1fb00: ldc.i8 0x2
+ IL_1fb09: blt IL_1faea
+
+ IL_1fb0e: br IL_1fb13
+
+ IL_1fb13: ldc.i8 0x2
+ IL_1fb1c: stloc V_48
+ IL_1fb20: ldloc V_11
+ IL_1fb24: ldc.i8 0x1
+ IL_1fb2d: add
+ IL_1fb2e: stloc V_11
+ IL_1fb32: ldloc V_11
+ IL_1fb36: ldc.i8 0x1
+ IL_1fb3f: blt IL_1faa7
+
+ IL_1fb44: ldc.i8 0x0
+ IL_1fb4d: stloc V_11
+ IL_1fb51: ldc.i8 0x0
+ IL_1fb5a: stloc V_12
+ IL_1fb5e: ldloc V_12
+ IL_1fb62: ldc.i8 0x1
+ IL_1fb6b: add
+ IL_1fb6c: stloc V_12
+ IL_1fb70: ldloc V_12
+ IL_1fb74: ldc.i8 0x1
+ IL_1fb7d: blt IL_1fb5e
+
+ IL_1fb82: ldc.i8 0x0
+ IL_1fb8b: stloc V_12
+ IL_1fb8f: ldloc V_12
+ IL_1fb93: ldc.i8 0x1
+ IL_1fb9c: add
+ IL_1fb9d: stloc V_12
+ IL_1fba1: ldloc V_12
+ IL_1fba5: ldc.i8 0x1
+ IL_1fbae: blt IL_1fb8f
+
+ IL_1fbb3: ldloc V_39
+ IL_1fbb7: stloc V_34
+ IL_1fbbb: ldloc V_11
+ IL_1fbbf: ldc.i8 0x1
+ IL_1fbc8: add
+ IL_1fbc9: stloc V_11
+ IL_1fbcd: ldloc V_11
+ IL_1fbd1: ldc.i8 0x0
+ IL_1fbda: blt IL_1fb51
+
+ IL_1fbdf: ldloc V_43
+ IL_1fbe3: ldloc V_13
+ IL_1fbe7: add
+ IL_1fbe8: ldc.i8 0x6
+ IL_1fbf1: add
+ IL_1fbf2: stloc V_43
+ IL_1fbf6: ldc.i8 0x0
+ IL_1fbff: stloc V_10
+ IL_1fc03: ldloc V_32
+ IL_1fc07: ldc.i8 0x2
+ IL_1fc10: add
+ IL_1fc11: stloc V_39
+ IL_1fc15: ldloc V_10
+ IL_1fc19: ldc.i8 0x1
+ IL_1fc22: add
+ IL_1fc23: stloc V_10
+ IL_1fc27: ldloc V_10
+ IL_1fc2b: ldc.i8 0x0
+ IL_1fc34: blt IL_1fc03
+
+ IL_1fc39: ldc.i8 0x0
+ IL_1fc42: stloc V_10
+ IL_1fc46: br IL_1fc98
+
+ IL_1fc4b: br IL_1fc50
+
+ IL_1fc50: br IL_1fc55
+
+ IL_1fc55: ldc.i8 0x0
+ IL_1fc5e: stloc V_12
+ IL_1fc62: ldloc V_12
+ IL_1fc66: ldc.i8 0x1
+ IL_1fc6f: add
+ IL_1fc70: stloc V_12
+ IL_1fc74: ldloc V_12
+ IL_1fc78: ldc.i8 0x2
+ IL_1fc81: blt IL_1fc62
+
+ IL_1fc86: br IL_1fc8b
+
+ IL_1fc8b: ldloc V_13
+ IL_1fc8f: ldloc V_40
+ IL_1fc93: add
+ IL_1fc94: stloc V_14
+ IL_1fc98: ldc.i8 0x0
+ IL_1fca1: stloc V_11
+ IL_1fca5: ldc.i8 0x0
+ IL_1fcae: stloc V_12
+ IL_1fcb2: ldloc V_12
+ IL_1fcb6: ldc.i8 0x1
+ IL_1fcbf: add
+ IL_1fcc0: stloc V_12
+ IL_1fcc4: ldloc V_12
+ IL_1fcc8: ldc.i8 0x2
+ IL_1fcd1: blt IL_1fcb2
+
+ IL_1fcd6: nop
+ IL_1fcd7: ldloc V_11
+ IL_1fcdb: ldc.i8 0x1
+ IL_1fce4: add
+ IL_1fce5: stloc V_11
+ IL_1fce9: ldloc V_11
+ IL_1fced: ldc.i8 0x1
+ IL_1fcf6: blt IL_1fca5
+
+ IL_1fcfb: ldc.i8 0x0
+ IL_1fd04: stloc V_11
+ IL_1fd08: br IL_1fd0d
+
+ IL_1fd0d: ldc.i8 0x0
+ IL_1fd16: stloc V_12
+ IL_1fd1a: ldloc V_12
+ IL_1fd1e: ldc.i8 0x1
+ IL_1fd27: add
+ IL_1fd28: stloc V_12
+ IL_1fd2c: ldloc V_12
+ IL_1fd30: ldc.i8 0x2
+ IL_1fd39: blt IL_1fd1a
+
+ IL_1fd3e: ldloc V_29
+ IL_1fd42: ldloc V_48
+ IL_1fd46: add
+ IL_1fd47: stloc V_37
+ IL_1fd4b: ldloc V_11
+ IL_1fd4f: ldc.i8 0x1
+ IL_1fd58: add
+ IL_1fd59: stloc V_11
+ IL_1fd5d: ldloc V_11
+ IL_1fd61: ldc.i8 0x0
+ IL_1fd6a: blt IL_1fd08
+
+ IL_1fd6f: ldc.i8 0x0
+ IL_1fd78: stloc V_11
+ IL_1fd7c: ldc.i8 0x0
+ IL_1fd85: stloc V_12
+ IL_1fd89: ldloc V_12
+ IL_1fd8d: ldc.i8 0x1
+ IL_1fd96: add
+ IL_1fd97: stloc V_12
+ IL_1fd9b: ldloc V_12
+ IL_1fd9f: ldc.i8 0x1
+ IL_1fda8: blt IL_1fd89
+
+ IL_1fdad: nop
+ IL_1fdae: ldloc V_11
+ IL_1fdb2: ldc.i8 0x1
+ IL_1fdbb: add
+ IL_1fdbc: stloc V_11
+ IL_1fdc0: ldloc V_11
+ IL_1fdc4: ldc.i8 0x2
+ IL_1fdcd: blt IL_1fd7c
+
+ IL_1fdd2: ldloc V_20
+ IL_1fdd6: ldloc V_39
+ IL_1fdda: add
+ IL_1fddb: stloc V_20
+ IL_1fddf: ldloc V_10
+ IL_1fde3: ldc.i8 0x1
+ IL_1fdec: add
+ IL_1fded: stloc V_10
+ IL_1fdf1: ldloc V_10
+ IL_1fdf5: ldc.i8 0x2
+ IL_1fdfe: blt IL_1fc46
+
+ IL_1fe03: ldc.i8 0x0
+ IL_1fe0c: stloc V_10
+ IL_1fe10: ldc.i8 0x0
+ IL_1fe19: stloc V_11
+ IL_1fe1d: ldc.i8 0x0
+ IL_1fe26: stloc V_12
+ IL_1fe2a: ldloc V_12
+ IL_1fe2e: ldc.i8 0x1
+ IL_1fe37: add
+ IL_1fe38: stloc V_12
+ IL_1fe3c: ldloc V_12
+ IL_1fe40: ldc.i8 0x0
+ IL_1fe49: blt IL_1fe2a
+
+ IL_1fe4e: ldloc V_15
+ IL_1fe52: ldloc V_48
+ IL_1fe56: add
+ IL_1fe57: stloc V_33
+ IL_1fe5b: ldloc V_11
+ IL_1fe5f: ldc.i8 0x1
+ IL_1fe68: add
+ IL_1fe69: stloc V_11
+ IL_1fe6d: ldloc V_11
+ IL_1fe71: ldc.i8 0x0
+ IL_1fe7a: blt IL_1fe1d
+
+ IL_1fe7f: br IL_1ff5f
+
+ IL_1fe84: ldc.i8 0x0
+ IL_1fe8d: stloc V_12
+ IL_1fe91: ldloc V_12
+ IL_1fe95: ldc.i8 0x1
+ IL_1fe9e: add
+ IL_1fe9f: stloc V_12
+ IL_1fea3: ldloc V_12
+ IL_1fea7: ldc.i8 0x2
+ IL_1feb0: blt IL_1fe91
+
+ IL_1feb5: ldc.i8 0x0
+ IL_1febe: stloc V_12
+ IL_1fec2: ldloc V_12
+ IL_1fec6: ldc.i8 0x1
+ IL_1fecf: add
+ IL_1fed0: stloc V_12
+ IL_1fed4: ldloc V_12
+ IL_1fed8: ldc.i8 0x0
+ IL_1fee1: blt IL_1fec2
+
+ IL_1fee6: ldc.i8 0x0
+ IL_1feef: stloc V_12
+ IL_1fef3: ldloc V_12
+ IL_1fef7: ldc.i8 0x1
+ IL_1ff00: add
+ IL_1ff01: stloc V_12
+ IL_1ff05: ldloc V_12
+ IL_1ff09: ldc.i8 0x1
+ IL_1ff12: blt IL_1fef3
+
+ IL_1ff17: ldc.i8 0x0
+ IL_1ff20: stloc V_12
+ IL_1ff24: ldloc V_12
+ IL_1ff28: ldc.i8 0x1
+ IL_1ff31: add
+ IL_1ff32: stloc V_12
+ IL_1ff36: ldloc V_12
+ IL_1ff3a: ldc.i8 0x2
+ IL_1ff43: blt IL_1ff24
+
+ IL_1ff48: ldloc V_33
+ IL_1ff4c: ldloc V_39
+ IL_1ff50: add
+ IL_1ff51: ldc.i8 0x4
+ IL_1ff5a: add
+ IL_1ff5b: stloc V_33
+ IL_1ff5f: ldc.i8 0x0
+ IL_1ff68: stloc V_11
+ IL_1ff6c: ldc.i8 0x0
+ IL_1ff75: stloc V_12
+ IL_1ff79: ldloc V_12
+ IL_1ff7d: ldc.i8 0x1
+ IL_1ff86: add
+ IL_1ff87: stloc V_12
+ IL_1ff8b: ldloc V_12
+ IL_1ff8f: ldc.i8 0x0
+ IL_1ff98: blt IL_1ff79
+
+ IL_1ff9d: ldc.i8 0x0
+ IL_1ffa6: stloc V_12
+ IL_1ffaa: ldloc V_12
+ IL_1ffae: ldc.i8 0x1
+ IL_1ffb7: add
+ IL_1ffb8: stloc V_12
+ IL_1ffbc: ldloc V_12
+ IL_1ffc0: ldc.i8 0x2
+ IL_1ffc9: blt IL_1ffaa
+
+ IL_1ffce: ldc.i8 0x0
+ IL_1ffd7: stloc V_12
+ IL_1ffdb: ldloc V_12
+ IL_1ffdf: ldc.i8 0x1
+ IL_1ffe8: add
+ IL_1ffe9: stloc V_12
+ IL_1ffed: ldloc V_12
+ IL_1fff1: ldc.i8 0x1
+ IL_1fffa: blt IL_1ffdb
+
+ IL_1ffff: br IL_20004
+
+ IL_20004: nop
+ IL_20005: ldloc V_11
+ IL_20009: ldc.i8 0x1
+ IL_20012: add
+ IL_20013: stloc V_11
+ IL_20017: ldloc V_11
+ IL_2001b: ldc.i8 0x0
+ IL_20024: blt IL_1ff6c
+
+ IL_20029: ldc.i8 0x0
+ IL_20032: stloc V_11
+ IL_20036: br IL_2003b
+
+ IL_2003b: nop
+ IL_2003c: ldloc V_11
+ IL_20040: ldc.i8 0x1
+ IL_20049: add
+ IL_2004a: stloc V_11
+ IL_2004e: ldloc V_11
+ IL_20052: ldc.i8 0x1
+ IL_2005b: blt IL_20036
+
+ IL_20060: ldloc V_19
+ IL_20064: ldloc V_24
+ IL_20068: add
+ IL_20069: stloc V_19
+ IL_2006d: ldloc V_10
+ IL_20071: ldc.i8 0x1
+ IL_2007a: add
+ IL_2007b: stloc V_10
+ IL_2007f: ldloc V_10
+ IL_20083: ldc.i8 0x1
+ IL_2008c: blt IL_1fe10
+
+ IL_20091: ldloc V_23
+ IL_20095: ldc.i8 0x9
+ IL_2009e: add
+ IL_2009f: stloc V_20
+ IL_200a3: ldloc V_9
+ IL_200a7: ldc.i8 0x1
+ IL_200b0: add
+ IL_200b1: stloc V_9
+ IL_200b5: ldloc V_9
+ IL_200b9: ldc.i8 0x0
+ IL_200c2: blt IL_1f983
+
+ IL_200c7: ldc.i8 0x2
+ IL_200d0: stloc V_30
+ IL_200d4: ldloc V_11
+ IL_200d8: ldloc V_40
+ IL_200dc: add
+ IL_200dd: stloc V_19
+ IL_200e1: ldloc V_7
+ IL_200e5: ldc.i8 0x1
+ IL_200ee: add
+ IL_200ef: stloc V_7
+ IL_200f3: ldloc V_7
+ IL_200f7: ldc.i8 0x1
+ IL_20100: blt IL_1f0d4
+
+ IL_20105: ldloc V_24
+ IL_20109: ldloc V_34
+ IL_2010d: add
+ IL_2010e: stloc V_33
+ IL_20112: ldc.i8 0x0
+ IL_2011b: stloc V_6
+ IL_2011f: ldc.i8 0x0
+ IL_20128: stloc V_7
+ IL_2012c: ldc.i8 0x0
+ IL_20135: stloc V_8
+ IL_20139: ldloc V_49
+ IL_2013d: ldloc V_48
+ IL_20141: add
+ IL_20142: stloc V_49
+ IL_20146: ldloc V_8
+ IL_2014a: ldc.i8 0x1
+ IL_20153: add
+ IL_20154: stloc V_8
+ IL_20158: ldloc V_8
+ IL_2015c: ldc.i8 0x2
+ IL_20165: blt IL_20139
+
+ IL_2016a: ldc.i8 0x0
+ IL_20173: stloc V_8
+ IL_20177: ldc.i8 0x0
+ IL_20180: stloc V_9
+ IL_20184: ldloc V_38
+ IL_20188: ldloc V_34
+ IL_2018c: add
+ IL_2018d: ldc.i8 0x4
+ IL_20196: add
+ IL_20197: stloc V_38
+ IL_2019b: ldloc V_9
+ IL_2019f: ldc.i8 0x1
+ IL_201a8: add
+ IL_201a9: stloc V_9
+ IL_201ad: ldloc V_9
+ IL_201b1: ldc.i8 0x1
+ IL_201ba: blt IL_20184
+
+ IL_201bf: br IL_20215
+
+ IL_201c4: br IL_20208
+
+ IL_201c9: ldc.i8 0x0
+ IL_201d2: stloc V_11
+ IL_201d6: nop
+ IL_201d7: ldloc V_11
+ IL_201db: ldc.i8 0x1
+ IL_201e4: add
+ IL_201e5: stloc V_11
+ IL_201e9: ldloc V_11
+ IL_201ed: ldc.i8 0x0
+ IL_201f6: blt IL_201d6
+
+ IL_201fb: ldloc V_31
+ IL_201ff: ldloc V_46
+ IL_20203: add
+ IL_20204: stloc V_25
+ IL_20208: ldc.i8 0x3
+ IL_20211: stloc V_24
+ IL_20215: ldloc V_28
+ IL_20219: stloc V_14
+ IL_2021d: ldloc V_8
+ IL_20221: ldc.i8 0x1
+ IL_2022a: add
+ IL_2022b: stloc V_8
+ IL_2022f: ldloc V_8
+ IL_20233: ldc.i8 0x1
+ IL_2023c: blt IL_20177
+
+ IL_20241: br IL_20253
+
+ IL_20246: ldc.i8 0x6
+ IL_2024f: stloc V_30
+ IL_20253: nop
+ IL_20254: ldloc V_7
+ IL_20258: ldc.i8 0x1
+ IL_20261: add
+ IL_20262: stloc V_7
+ IL_20266: ldloc V_7
+ IL_2026a: ldc.i8 0x2
+ IL_20273: blt IL_2012c
+
+ IL_20278: ldloc V_1
+ IL_2027c: ldc.i8 0x6
+ IL_20285: add
+ IL_20286: stloc V_47
+ IL_2028a: ldloc V_6
+ IL_2028e: ldc.i8 0x1
+ IL_20297: add
+ IL_20298: stloc V_6
+ IL_2029c: ldloc V_6
+ IL_202a0: ldc.i8 0x0
+ IL_202a9: blt IL_2011f
+
+ IL_202ae: ldloc V_29
+ IL_202b2: stloc V_38
+ IL_202b6: ldloc V_5
+ IL_202ba: ldc.i8 0x1
+ IL_202c3: add
+ IL_202c4: stloc V_5
+ IL_202c8: ldloc V_5
+ IL_202cc: ldc.i8 0x0
+ IL_202d5: blt IL_1b603
+
+ IL_202da: ldloc V_7
+ IL_202de: ldc.i8 0x2
+ IL_202e7: add
+ IL_202e8: stloc V_40
+ IL_202ec: ldloc V_4
+ IL_202f0: ldc.i8 0x1
+ IL_202f9: add
+ IL_202fa: stloc V_4
+ IL_202fe: ldloc V_4
+ IL_20302: ldc.i8 0x2
+ IL_2030b: blt IL_12eef
+
+ IL_20310: br IL_203f8
+
+ IL_20315: br IL_20327
+
+ IL_2031a: ldc.i8 0x5
+ IL_20323: stloc V_29
+ IL_20327: ldc.i8 0x0
+ IL_20330: stloc V_5
+ IL_20334: ldloc V_35
+ IL_20338: stloc V_48
+ IL_2033c: ldloc V_5
+ IL_20340: ldc.i8 0x1
+ IL_20349: add
+ IL_2034a: stloc V_5
+ IL_2034e: ldloc V_5
+ IL_20352: ldc.i8 0x0
+ IL_2035b: blt IL_20334
+
+ IL_20360: ldc.i8 0x0
+ IL_20369: stloc V_5
+ IL_2036d: ldloc V_17
+ IL_20371: ldloc V_5
+ IL_20375: add
+ IL_20376: stloc V_17
+ IL_2037a: ldloc V_5
+ IL_2037e: ldc.i8 0x1
+ IL_20387: add
+ IL_20388: stloc V_5
+ IL_2038c: ldloc V_5
+ IL_20390: ldc.i8 0x1
+ IL_20399: blt IL_2036d
+
+ IL_2039e: ldc.i8 0x0
+ IL_203a7: stloc V_5
+ IL_203ab: ldloc V_48
+ IL_203af: ldloc V_20
+ IL_203b3: add
+ IL_203b4: ldc.i8 0x0
+ IL_203bd: add
+ IL_203be: stloc V_48
+ IL_203c2: ldloc V_5
+ IL_203c6: ldc.i8 0x1
+ IL_203cf: add
+ IL_203d0: stloc V_5
+ IL_203d4: ldloc V_5
+ IL_203d8: ldc.i8 0x0
+ IL_203e1: blt IL_203ab
+
+ IL_203e6: ldloc V_11
+ IL_203ea: ldc.i8 0x2
+ IL_203f3: add
+ IL_203f4: stloc V_48
+ IL_203f8: ldc.i8 0x0
+ IL_20401: stloc V_4
+ IL_20405: ldc.i8 0x0
+ IL_2040e: stloc V_5
+ IL_20412: ldc.i8 0x0
+ IL_2041b: stloc V_6
+ IL_2041f: br IL_21d40
+
+ IL_20424: br IL_20f6b
+
+ IL_20429: ldc.i8 0x0
+ IL_20432: stloc V_9
+ IL_20436: br IL_204bc
+
+ IL_2043b: ldc.i8 0x0
+ IL_20444: stloc V_11
+ IL_20448: br IL_2044d
+
+ IL_2044d: ldc.i8 0x0
+ IL_20456: stloc V_12
+ IL_2045a: ldloc V_12
+ IL_2045e: ldc.i8 0x1
+ IL_20467: add
+ IL_20468: stloc V_12
+ IL_2046c: ldloc V_12
+ IL_20470: ldc.i8 0x0
+ IL_20479: blt IL_2045a
+
+ IL_2047e: ldloc V_41
+ IL_20482: ldloc V_27
+ IL_20486: add
+ IL_20487: stloc V_41
+ IL_2048b: ldloc V_11
+ IL_2048f: ldc.i8 0x1
+ IL_20498: add
+ IL_20499: stloc V_11
+ IL_2049d: ldloc V_11
+ IL_204a1: ldc.i8 0x1
+ IL_204aa: blt IL_20448
+
+ IL_204af: ldloc V_49
+ IL_204b3: ldloc V_10
+ IL_204b7: add
+ IL_204b8: stloc V_49
+ IL_204bc: ldc.i8 0x0
+ IL_204c5: stloc V_10
+ IL_204c9: br IL_20531
+
+ IL_204ce: ldc.i8 0x0
+ IL_204d7: stloc V_12
+ IL_204db: ldloc V_12
+ IL_204df: ldc.i8 0x1
+ IL_204e8: add
+ IL_204e9: stloc V_12
+ IL_204ed: ldloc V_12
+ IL_204f1: ldc.i8 0x1
+ IL_204fa: blt IL_204db
+
+ IL_204ff: ldc.i8 0x0
+ IL_20508: stloc V_12
+ IL_2050c: ldloc V_12
+ IL_20510: ldc.i8 0x1
+ IL_20519: add
+ IL_2051a: stloc V_12
+ IL_2051e: ldloc V_12
+ IL_20522: ldc.i8 0x1
+ IL_2052b: blt IL_2050c
+
+ IL_20530: nop
+ IL_20531: ldc.i8 0x0
+ IL_2053a: stloc V_11
+ IL_2053e: ldc.i8 0x0
+ IL_20547: stloc V_12
+ IL_2054b: ldloc V_12
+ IL_2054f: ldc.i8 0x1
+ IL_20558: add
+ IL_20559: stloc V_12
+ IL_2055d: ldloc V_12
+ IL_20561: ldc.i8 0x1
+ IL_2056a: blt IL_2054b
+
+ IL_2056f: ldc.i8 0x0
+ IL_20578: stloc V_12
+ IL_2057c: ldloc V_12
+ IL_20580: ldc.i8 0x1
+ IL_20589: add
+ IL_2058a: stloc V_12
+ IL_2058e: ldloc V_12
+ IL_20592: ldc.i8 0x1
+ IL_2059b: blt IL_2057c
+
+ IL_205a0: ldc.i8 0x6
+ IL_205a9: stloc V_48
+ IL_205ad: ldloc V_11
+ IL_205b1: ldc.i8 0x1
+ IL_205ba: add
+ IL_205bb: stloc V_11
+ IL_205bf: ldloc V_11
+ IL_205c3: ldc.i8 0x0
+ IL_205cc: blt IL_2053e
+
+ IL_205d1: ldloc V_48
+ IL_205d5: stloc V_31
+ IL_205d9: ldloc V_10
+ IL_205dd: ldc.i8 0x1
+ IL_205e6: add
+ IL_205e7: stloc V_10
+ IL_205eb: ldloc V_10
+ IL_205ef: ldc.i8 0x0
+ IL_205f8: blt IL_204c9
+
+ IL_205fd: ldloc V_40
+ IL_20601: ldloc V_33
+ IL_20605: add
+ IL_20606: ldc.i8 0x3
+ IL_2060f: add
+ IL_20610: stloc V_40
+ IL_20614: ldloc V_9
+ IL_20618: ldc.i8 0x1
+ IL_20621: add
+ IL_20622: stloc V_9
+ IL_20626: ldloc V_9
+ IL_2062a: ldc.i8 0x2
+ IL_20633: blt IL_20436
+
+ IL_20638: ldc.i8 0x0
+ IL_20641: stloc V_9
+ IL_20645: br IL_20776
+
+ IL_2064a: br IL_206b9
+
+ IL_2064f: ldc.i8 0x0
+ IL_20658: stloc V_12
+ IL_2065c: ldloc V_12
+ IL_20660: ldc.i8 0x1
+ IL_20669: add
+ IL_2066a: stloc V_12
+ IL_2066e: ldloc V_12
+ IL_20672: ldc.i8 0x1
+ IL_2067b: blt IL_2065c
+
+ IL_20680: ldc.i8 0x0
+ IL_20689: stloc V_12
+ IL_2068d: ldloc V_12
+ IL_20691: ldc.i8 0x1
+ IL_2069a: add
+ IL_2069b: stloc V_12
+ IL_2069f: ldloc V_12
+ IL_206a3: ldc.i8 0x0
+ IL_206ac: blt IL_2068d
+
+ IL_206b1: ldloc V_24
+ IL_206b5: stloc V_45
+ IL_206b9: ldc.i8 0x0
+ IL_206c2: stloc V_11
+ IL_206c6: ldc.i8 0x0
+ IL_206cf: stloc V_12
+ IL_206d3: ldloc V_12
+ IL_206d7: ldc.i8 0x1
+ IL_206e0: add
+ IL_206e1: stloc V_12
+ IL_206e5: ldloc V_12
+ IL_206e9: ldc.i8 0x1
+ IL_206f2: blt IL_206d3
+
+ IL_206f7: ldloc V_39
+ IL_206fb: ldloc V_3
+ IL_206ff: add
+ IL_20700: ldc.i8 0x5
+ IL_20709: add
+ IL_2070a: stloc V_39
+ IL_2070e: ldloc V_11
+ IL_20712: ldc.i8 0x1
+ IL_2071b: add
+ IL_2071c: stloc V_11
+ IL_20720: ldloc V_11
+ IL_20724: ldc.i8 0x1
+ IL_2072d: blt IL_206c6
+
+ IL_20732: br IL_20769
+
+ IL_20737: ldc.i8 0x0
+ IL_20740: stloc V_12
+ IL_20744: ldloc V_12
+ IL_20748: ldc.i8 0x1
+ IL_20751: add
+ IL_20752: stloc V_12
+ IL_20756: ldloc V_12
+ IL_2075a: ldc.i8 0x0
+ IL_20763: blt IL_20744
+
+ IL_20768: nop
+ IL_20769: ldloc V_19
+ IL_2076d: ldloc V_33
+ IL_20771: add
+ IL_20772: stloc V_35
+ IL_20776: ldc.i8 0x0
+ IL_2077f: stloc V_10
+ IL_20783: ldc.i8 0x8
+ IL_2078c: stloc V_15
+ IL_20790: ldloc V_10
+ IL_20794: ldc.i8 0x1
+ IL_2079d: add
+ IL_2079e: stloc V_10
+ IL_207a2: ldloc V_10
+ IL_207a6: ldc.i8 0x1
+ IL_207af: blt IL_20783
+
+ IL_207b4: ldc.i8 0x0
+ IL_207bd: stloc V_10
+ IL_207c1: br IL_2089c
+
+ IL_207c6: ldc.i8 0x0
+ IL_207cf: stloc V_12
+ IL_207d3: ldloc V_12
+ IL_207d7: ldc.i8 0x1
+ IL_207e0: add
+ IL_207e1: stloc V_12
+ IL_207e5: ldloc V_12
+ IL_207e9: ldc.i8 0x1
+ IL_207f2: blt IL_207d3
+
+ IL_207f7: ldc.i8 0x0
+ IL_20800: stloc V_12
+ IL_20804: ldloc V_12
+ IL_20808: ldc.i8 0x1
+ IL_20811: add
+ IL_20812: stloc V_12
+ IL_20816: ldloc V_12
+ IL_2081a: ldc.i8 0x2
+ IL_20823: blt IL_20804
+
+ IL_20828: ldc.i8 0x0
+ IL_20831: stloc V_12
+ IL_20835: ldloc V_12
+ IL_20839: ldc.i8 0x1
+ IL_20842: add
+ IL_20843: stloc V_12
+ IL_20847: ldloc V_12
+ IL_2084b: ldc.i8 0x2
+ IL_20854: blt IL_20835
+
+ IL_20859: ldc.i8 0x0
+ IL_20862: stloc V_12
+ IL_20866: ldloc V_12
+ IL_2086a: ldc.i8 0x1
+ IL_20873: add
+ IL_20874: stloc V_12
+ IL_20878: ldloc V_12
+ IL_2087c: ldc.i8 0x0
+ IL_20885: blt IL_20866
+
+ IL_2088a: ldloc V_26
+ IL_2088e: ldc.i8 0x0
+ IL_20897: add
+ IL_20898: stloc V_17
+ IL_2089c: ldloc V_32
+ IL_208a0: ldloc V_13
+ IL_208a4: add
+ IL_208a5: ldc.i8 0x8
+ IL_208ae: add
+ IL_208af: stloc V_32
+ IL_208b3: ldloc V_10
+ IL_208b7: ldc.i8 0x1
+ IL_208c0: add
+ IL_208c1: stloc V_10
+ IL_208c5: ldloc V_10
+ IL_208c9: ldc.i8 0x0
+ IL_208d2: blt IL_207c1
+
+ IL_208d7: br IL_20936
+
+ IL_208dc: ldc.i8 0x0
+ IL_208e5: stloc V_11
+ IL_208e9: br IL_208ee
+
+ IL_208ee: ldloc V_30
+ IL_208f2: ldc.i8 0x5
+ IL_208fb: add
+ IL_208fc: stloc V_17
+ IL_20900: ldloc V_11
+ IL_20904: ldc.i8 0x1
+ IL_2090d: add
+ IL_2090e: stloc V_11
+ IL_20912: ldloc V_11
+ IL_20916: ldc.i8 0x1
+ IL_2091f: blt IL_208e9
+
+ IL_20924: ldloc V_1
+ IL_20928: ldc.i8 0x8
+ IL_20931: add
+ IL_20932: stloc V_35
+ IL_20936: ldloc V_20
+ IL_2093a: ldloc V_30
+ IL_2093e: add
+ IL_2093f: stloc V_20
+ IL_20943: ldloc V_9
+ IL_20947: ldc.i8 0x1
+ IL_20950: add
+ IL_20951: stloc V_9
+ IL_20955: ldloc V_9
+ IL_20959: ldc.i8 0x0
+ IL_20962: blt IL_20645
+
+ IL_20967: ldc.i8 0x0
+ IL_20970: stloc V_9
+ IL_20974: ldc.i8 0x0
+ IL_2097d: stloc V_10
+ IL_20981: ldc.i8 0x0
+ IL_2098a: stloc V_11
+ IL_2098e: ldloc V_8
+ IL_20992: ldloc V_44
+ IL_20996: add
+ IL_20997: stloc V_17
+ IL_2099b: ldloc V_11
+ IL_2099f: ldc.i8 0x1
+ IL_209a8: add
+ IL_209a9: stloc V_11
+ IL_209ad: ldloc V_11
+ IL_209b1: ldc.i8 0x1
+ IL_209ba: blt IL_2098e
+
+ IL_209bf: ldloc V_1
+ IL_209c3: ldloc V_33
+ IL_209c7: add
+ IL_209c8: stloc V_22
+ IL_209cc: ldloc V_10
+ IL_209d0: ldc.i8 0x1
+ IL_209d9: add
+ IL_209da: stloc V_10
+ IL_209de: ldloc V_10
+ IL_209e2: ldc.i8 0x2
+ IL_209eb: blt IL_20981
+
+ IL_209f0: br IL_20b8d
+
+ IL_209f5: br IL_20a9f
+
+ IL_209fa: br IL_209ff
+
+ IL_209ff: ldc.i8 0x0
+ IL_20a08: stloc V_12
+ IL_20a0c: ldloc V_12
+ IL_20a10: ldc.i8 0x1
+ IL_20a19: add
+ IL_20a1a: stloc V_12
+ IL_20a1e: ldloc V_12
+ IL_20a22: ldc.i8 0x0
+ IL_20a2b: blt IL_20a0c
+
+ IL_20a30: ldc.i8 0x0
+ IL_20a39: stloc V_12
+ IL_20a3d: ldloc V_12
+ IL_20a41: ldc.i8 0x1
+ IL_20a4a: add
+ IL_20a4b: stloc V_12
+ IL_20a4f: ldloc V_12
+ IL_20a53: ldc.i8 0x0
+ IL_20a5c: blt IL_20a3d
+
+ IL_20a61: ldc.i8 0x0
+ IL_20a6a: stloc V_12
+ IL_20a6e: ldloc V_12
+ IL_20a72: ldc.i8 0x1
+ IL_20a7b: add
+ IL_20a7c: stloc V_12
+ IL_20a80: ldloc V_12
+ IL_20a84: ldc.i8 0x0
+ IL_20a8d: blt IL_20a6e
+
+ IL_20a92: ldc.i8 0x8
+ IL_20a9b: stloc V_34
+ IL_20a9f: ldc.i8 0x0
+ IL_20aa8: stloc V_11
+ IL_20aac: br IL_20ab1
+
+ IL_20ab1: br IL_20ab6
+
+ IL_20ab6: ldc.i8 0x0
+ IL_20abf: stloc V_12
+ IL_20ac3: ldloc V_12
+ IL_20ac7: ldc.i8 0x1
+ IL_20ad0: add
+ IL_20ad1: stloc V_12
+ IL_20ad5: ldloc V_12
+ IL_20ad9: ldc.i8 0x1
+ IL_20ae2: blt IL_20ac3
+
+ IL_20ae7: ldloc V_13
+ IL_20aeb: ldloc V_45
+ IL_20aef: add
+ IL_20af0: stloc V_21
+ IL_20af4: ldloc V_11
+ IL_20af8: ldc.i8 0x1
+ IL_20b01: add
+ IL_20b02: stloc V_11
+ IL_20b06: ldloc V_11
+ IL_20b0a: ldc.i8 0x2
+ IL_20b13: blt IL_20aac
+
+ IL_20b18: br IL_20b85
+
+ IL_20b1d: br IL_20b22
+
+ IL_20b22: ldc.i8 0x0
+ IL_20b2b: stloc V_12
+ IL_20b2f: ldloc V_12
+ IL_20b33: ldc.i8 0x1
+ IL_20b3c: add
+ IL_20b3d: stloc V_12
+ IL_20b41: ldloc V_12
+ IL_20b45: ldc.i8 0x0
+ IL_20b4e: blt IL_20b2f
+
+ IL_20b53: ldc.i8 0x0
+ IL_20b5c: stloc V_12
+ IL_20b60: ldloc V_12
+ IL_20b64: ldc.i8 0x1
+ IL_20b6d: add
+ IL_20b6e: stloc V_12
+ IL_20b72: ldloc V_12
+ IL_20b76: ldc.i8 0x1
+ IL_20b7f: blt IL_20b60
+
+ IL_20b84: nop
+ IL_20b85: ldloc V_6
+ IL_20b89: stloc V_11
+ IL_20b8d: ldloc V_14
+ IL_20b91: ldloc V_4
+ IL_20b95: add
+ IL_20b96: stloc V_14
+ IL_20b9a: ldloc V_9
+ IL_20b9e: ldc.i8 0x1
+ IL_20ba7: add
+ IL_20ba8: stloc V_9
+ IL_20bac: ldloc V_9
+ IL_20bb0: ldc.i8 0x1
+ IL_20bb9: blt IL_20974
+
+ IL_20bbe: ldc.i8 0x0
+ IL_20bc7: stloc V_9
+ IL_20bcb: ldc.i8 0x0
+ IL_20bd4: stloc V_10
+ IL_20bd8: br IL_20c25
+
+ IL_20bdd: br IL_20be2
+
+ IL_20be2: ldc.i8 0x0
+ IL_20beb: stloc V_12
+ IL_20bef: ldloc V_12
+ IL_20bf3: ldc.i8 0x1
+ IL_20bfc: add
+ IL_20bfd: stloc V_12
+ IL_20c01: ldloc V_12
+ IL_20c05: ldc.i8 0x0
+ IL_20c0e: blt IL_20bef
+
+ IL_20c13: ldloc V_4
+ IL_20c17: ldc.i8 0x5
+ IL_20c20: add
+ IL_20c21: stloc V_39
+ IL_20c25: ldc.i8 0x0
+ IL_20c2e: stloc V_11
+ IL_20c32: nop
+ IL_20c33: ldloc V_11
+ IL_20c37: ldc.i8 0x1
+ IL_20c40: add
+ IL_20c41: stloc V_11
+ IL_20c45: ldloc V_11
+ IL_20c49: ldc.i8 0x2
+ IL_20c52: blt IL_20c32
+
+ IL_20c57: br IL_20ca4
+
+ IL_20c5c: ldc.i8 0x0
+ IL_20c65: stloc V_12
+ IL_20c69: ldloc V_12
+ IL_20c6d: ldc.i8 0x1
+ IL_20c76: add
+ IL_20c77: stloc V_12
+ IL_20c7b: ldloc V_12
+ IL_20c7f: ldc.i8 0x1
+ IL_20c88: blt IL_20c69
+
+ IL_20c8d: br IL_20c92
+
+ IL_20c92: br IL_20c97
+
+ IL_20c97: ldloc V_16
+ IL_20c9b: ldloc V_47
+ IL_20c9f: add
+ IL_20ca0: stloc V_29
+ IL_20ca4: ldc.i8 0x0
+ IL_20cad: stloc V_11
+ IL_20cb1: ldc.i8 0x0
+ IL_20cba: stloc V_12
+ IL_20cbe: ldloc V_12
+ IL_20cc2: ldc.i8 0x1
+ IL_20ccb: add
+ IL_20ccc: stloc V_12
+ IL_20cd0: ldloc V_12
+ IL_20cd4: ldc.i8 0x1
+ IL_20cdd: blt IL_20cbe
+
+ IL_20ce2: ldloc V_34
+ IL_20ce6: ldloc V_4
+ IL_20cea: add
+ IL_20ceb: stloc V_37
+ IL_20cef: ldloc V_11
+ IL_20cf3: ldc.i8 0x1
+ IL_20cfc: add
+ IL_20cfd: stloc V_11
+ IL_20d01: ldloc V_11
+ IL_20d05: ldc.i8 0x2
+ IL_20d0e: blt IL_20cb1
+
+ IL_20d13: ldloc V_25
+ IL_20d17: ldloc V_18
+ IL_20d1b: add
+ IL_20d1c: ldc.i8 0x8
+ IL_20d25: add
+ IL_20d26: stloc V_25
+ IL_20d2a: ldloc V_10
+ IL_20d2e: ldc.i8 0x1
+ IL_20d37: add
+ IL_20d38: stloc V_10
+ IL_20d3c: ldloc V_10
+ IL_20d40: ldc.i8 0x0
+ IL_20d49: blt IL_20bd8
+
+ IL_20d4e: ldc.i8 0x0
+ IL_20d57: stloc V_10
+ IL_20d5b: ldc.i8 0x0
+ IL_20d64: stloc V_11
+ IL_20d68: br IL_20d6d
+
+ IL_20d6d: br IL_20d72
+
+ IL_20d72: ldc.i8 0x0
+ IL_20d7b: stloc V_12
+ IL_20d7f: ldloc V_12
+ IL_20d83: ldc.i8 0x1
+ IL_20d8c: add
+ IL_20d8d: stloc V_12
+ IL_20d91: ldloc V_12
+ IL_20d95: ldc.i8 0x0
+ IL_20d9e: blt IL_20d7f
+
+ IL_20da3: ldc.i8 0x0
+ IL_20dac: stloc V_12
+ IL_20db0: ldloc V_12
+ IL_20db4: ldc.i8 0x1
+ IL_20dbd: add
+ IL_20dbe: stloc V_12
+ IL_20dc2: ldloc V_12
+ IL_20dc6: ldc.i8 0x1
+ IL_20dcf: blt IL_20db0
+
+ IL_20dd4: ldloc V_43
+ IL_20dd8: ldc.i8 0x2
+ IL_20de1: add
+ IL_20de2: stloc V_18
+ IL_20de6: ldloc V_11
+ IL_20dea: ldc.i8 0x1
+ IL_20df3: add
+ IL_20df4: stloc V_11
+ IL_20df8: ldloc V_11
+ IL_20dfc: ldc.i8 0x1
+ IL_20e05: blt IL_20d68
+
+ IL_20e0a: ldc.i8 0x0
+ IL_20e13: stloc V_11
+ IL_20e17: ldc.i8 0x0
+ IL_20e20: stloc V_12
+ IL_20e24: ldloc V_12
+ IL_20e28: ldc.i8 0x1
+ IL_20e31: add
+ IL_20e32: stloc V_12
+ IL_20e36: ldloc V_12
+ IL_20e3a: ldc.i8 0x2
+ IL_20e43: blt IL_20e24
+
+ IL_20e48: ldloc V_46
+ IL_20e4c: ldloc V_30
+ IL_20e50: add
+ IL_20e51: stloc V_46
+ IL_20e55: ldloc V_11
+ IL_20e59: ldc.i8 0x1
+ IL_20e62: add
+ IL_20e63: stloc V_11
+ IL_20e67: ldloc V_11
+ IL_20e6b: ldc.i8 0x1
+ IL_20e74: blt IL_20e17
+
+ IL_20e79: ldc.i8 0x0
+ IL_20e82: stloc V_11
+ IL_20e86: br IL_20e8b
+
+ IL_20e8b: ldc.i8 0x0
+ IL_20e94: stloc V_12
+ IL_20e98: ldloc V_12
+ IL_20e9c: ldc.i8 0x1
+ IL_20ea5: add
+ IL_20ea6: stloc V_12
+ IL_20eaa: ldloc V_12
+ IL_20eae: ldc.i8 0x1
+ IL_20eb7: blt IL_20e98
+
+ IL_20ebc: br IL_20ec1
+
+ IL_20ec1: ldc.i8 0x9
+ IL_20eca: stloc V_38
+ IL_20ece: ldloc V_11
+ IL_20ed2: ldc.i8 0x1
+ IL_20edb: add
+ IL_20edc: stloc V_11
+ IL_20ee0: ldloc V_11
+ IL_20ee4: ldc.i8 0x1
+ IL_20eed: blt IL_20e86
+
+ IL_20ef2: ldloc V_29
+ IL_20ef6: ldloc V_3
+ IL_20efa: add
+ IL_20efb: stloc V_29
+ IL_20eff: ldloc V_10
+ IL_20f03: ldc.i8 0x1
+ IL_20f0c: add
+ IL_20f0d: stloc V_10
+ IL_20f11: ldloc V_10
+ IL_20f15: ldc.i8 0x2
+ IL_20f1e: blt IL_20d5b
+
+ IL_20f23: ldloc V_10
+ IL_20f27: ldloc V_30
+ IL_20f2b: add
+ IL_20f2c: ldc.i8 0x4
+ IL_20f35: add
+ IL_20f36: stloc V_10
+ IL_20f3a: ldloc V_9
+ IL_20f3e: ldc.i8 0x1
+ IL_20f47: add
+ IL_20f48: stloc V_9
+ IL_20f4c: ldloc V_9
+ IL_20f50: ldc.i8 0x1
+ IL_20f59: blt IL_20bcb
+
+ IL_20f5e: ldloc V_47
+ IL_20f62: ldloc V_3
+ IL_20f66: add
+ IL_20f67: stloc V_22
+ IL_20f6b: br IL_21765
+
+ IL_20f70: ldc.i8 0x0
+ IL_20f79: stloc V_9
+ IL_20f7d: ldc.i8 0x0
+ IL_20f86: stloc V_10
+ IL_20f8a: ldc.i8 0x0
+ IL_20f93: stloc V_11
+ IL_20f97: ldloc V_16
+ IL_20f9b: ldloc V_26
+ IL_20f9f: add
+ IL_20fa0: stloc V_24
+ IL_20fa4: ldloc V_11
+ IL_20fa8: ldc.i8 0x1
+ IL_20fb1: add
+ IL_20fb2: stloc V_11
+ IL_20fb6: ldloc V_11
+ IL_20fba: ldc.i8 0x1
+ IL_20fc3: blt IL_20f97
+
+ IL_20fc8: ldc.i8 0x0
+ IL_20fd1: stloc V_11
+ IL_20fd5: ldc.i8 0x0
+ IL_20fde: stloc V_12
+ IL_20fe2: ldloc V_12
+ IL_20fe6: ldc.i8 0x1
+ IL_20fef: add
+ IL_20ff0: stloc V_12
+ IL_20ff4: ldloc V_12
+ IL_20ff8: ldc.i8 0x0
+ IL_21001: blt IL_20fe2
+
+ IL_21006: ldc.i8 0x0
+ IL_2100f: stloc V_12
+ IL_21013: ldloc V_12
+ IL_21017: ldc.i8 0x1
+ IL_21020: add
+ IL_21021: stloc V_12
+ IL_21025: ldloc V_12
+ IL_21029: ldc.i8 0x0
+ IL_21032: blt IL_21013
+
+ IL_21037: br IL_2103c
+
+ IL_2103c: ldloc V_44
+ IL_21040: stloc V_25
+ IL_21044: ldloc V_11
+ IL_21048: ldc.i8 0x1
+ IL_21051: add
+ IL_21052: stloc V_11
+ IL_21056: ldloc V_11
+ IL_2105a: ldc.i8 0x2
+ IL_21063: blt IL_20fd5
+
+ IL_21068: nop
+ IL_21069: ldloc V_10
+ IL_2106d: ldc.i8 0x1
+ IL_21076: add
+ IL_21077: stloc V_10
+ IL_2107b: ldloc V_10
+ IL_2107f: ldc.i8 0x0
+ IL_21088: blt IL_20f8a
+
+ IL_2108d: ldc.i8 0x0
+ IL_21096: stloc V_10
+ IL_2109a: ldc.i8 0x0
+ IL_210a3: stloc V_11
+ IL_210a7: ldc.i8 0x0
+ IL_210b0: stloc V_12
+ IL_210b4: ldloc V_12
+ IL_210b8: ldc.i8 0x1
+ IL_210c1: add
+ IL_210c2: stloc V_12
+ IL_210c6: ldloc V_12
+ IL_210ca: ldc.i8 0x2
+ IL_210d3: blt IL_210b4
+
+ IL_210d8: ldc.i8 0x0
+ IL_210e1: stloc V_12
+ IL_210e5: ldloc V_12
+ IL_210e9: ldc.i8 0x1
+ IL_210f2: add
+ IL_210f3: stloc V_12
+ IL_210f7: ldloc V_12
+ IL_210fb: ldc.i8 0x1
+ IL_21104: blt IL_210e5
+
+ IL_21109: br IL_2110e
+
+ IL_2110e: ldloc V_21
+ IL_21112: stloc V_17
+ IL_21116: ldloc V_11
+ IL_2111a: ldc.i8 0x1
+ IL_21123: add
+ IL_21124: stloc V_11
+ IL_21128: ldloc V_11
+ IL_2112c: ldc.i8 0x0
+ IL_21135: blt IL_210a7
+
+ IL_2113a: ldloc V_17
+ IL_2113e: stloc V_35
+ IL_21142: ldloc V_10
+ IL_21146: ldc.i8 0x1
+ IL_2114f: add
+ IL_21150: stloc V_10
+ IL_21154: ldloc V_10
+ IL_21158: ldc.i8 0x1
+ IL_21161: blt IL_2109a
+
+ IL_21166: ldc.i8 0x0
+ IL_2116f: stloc V_10
+ IL_21173: ldc.i8 0x0
+ IL_2117c: stloc V_11
+ IL_21180: br IL_21185
+
+ IL_21185: ldc.i8 0x0
+ IL_2118e: stloc V_12
+ IL_21192: ldloc V_12
+ IL_21196: ldc.i8 0x1
+ IL_2119f: add
+ IL_211a0: stloc V_12
+ IL_211a4: ldloc V_12
+ IL_211a8: ldc.i8 0x1
+ IL_211b1: blt IL_21192
+
+ IL_211b6: ldc.i8 0x0
+ IL_211bf: stloc V_12
+ IL_211c3: ldloc V_12
+ IL_211c7: ldc.i8 0x1
+ IL_211d0: add
+ IL_211d1: stloc V_12
+ IL_211d5: ldloc V_12
+ IL_211d9: ldc.i8 0x2
+ IL_211e2: blt IL_211c3
+
+ IL_211e7: br IL_211ec
+
+ IL_211ec: ldloc V_48
+ IL_211f0: ldloc V_27
+ IL_211f4: add
+ IL_211f5: stloc V_42
+ IL_211f9: ldloc V_11
+ IL_211fd: ldc.i8 0x1
+ IL_21206: add
+ IL_21207: stloc V_11
+ IL_2120b: ldloc V_11
+ IL_2120f: ldc.i8 0x2
+ IL_21218: blt IL_21180
+
+ IL_2121d: ldc.i8 0x0
+ IL_21226: stloc V_11
+ IL_2122a: br IL_2122f
+
+ IL_2122f: ldc.i8 0x0
+ IL_21238: stloc V_12
+ IL_2123c: ldloc V_12
+ IL_21240: ldc.i8 0x1
+ IL_21249: add
+ IL_2124a: stloc V_12
+ IL_2124e: ldloc V_12
+ IL_21252: ldc.i8 0x0
+ IL_2125b: blt IL_2123c
+
+ IL_21260: ldc.i8 0x0
+ IL_21269: stloc V_12
+ IL_2126d: ldloc V_12
+ IL_21271: ldc.i8 0x1
+ IL_2127a: add
+ IL_2127b: stloc V_12
+ IL_2127f: ldloc V_12
+ IL_21283: ldc.i8 0x2
+ IL_2128c: blt IL_2126d
+
+ IL_21291: ldc.i8 0x0
+ IL_2129a: stloc V_12
+ IL_2129e: ldloc V_12
+ IL_212a2: ldc.i8 0x1
+ IL_212ab: add
+ IL_212ac: stloc V_12
+ IL_212b0: ldloc V_12
+ IL_212b4: ldc.i8 0x1
+ IL_212bd: blt IL_2129e
+
+ IL_212c2: ldc.i8 0x1
+ IL_212cb: stloc V_23
+ IL_212cf: ldloc V_11
+ IL_212d3: ldc.i8 0x1
+ IL_212dc: add
+ IL_212dd: stloc V_11
+ IL_212e1: ldloc V_11
+ IL_212e5: ldc.i8 0x1
+ IL_212ee: blt IL_2122a
+
+ IL_212f3: ldc.i8 0x0
+ IL_212fc: stloc V_11
+ IL_21300: ldc.i8 0x0
+ IL_21309: stloc V_12
+ IL_2130d: ldloc V_12
+ IL_21311: ldc.i8 0x1
+ IL_2131a: add
+ IL_2131b: stloc V_12
+ IL_2131f: ldloc V_12
+ IL_21323: ldc.i8 0x0
+ IL_2132c: blt IL_2130d
+
+ IL_21331: ldc.i8 0x0
+ IL_2133a: stloc V_12
+ IL_2133e: ldloc V_12
+ IL_21342: ldc.i8 0x1
+ IL_2134b: add
+ IL_2134c: stloc V_12
+ IL_21350: ldloc V_12
+ IL_21354: ldc.i8 0x0
+ IL_2135d: blt IL_2133e
+
+ IL_21362: ldc.i8 0x6
+ IL_2136b: stloc V_47
+ IL_2136f: ldloc V_11
+ IL_21373: ldc.i8 0x1
+ IL_2137c: add
+ IL_2137d: stloc V_11
+ IL_21381: ldloc V_11
+ IL_21385: ldc.i8 0x2
+ IL_2138e: blt IL_21300
+
+ IL_21393: ldc.i8 0x0
+ IL_2139c: stloc V_11
+ IL_213a0: br IL_213a5
+
+ IL_213a5: ldloc V_8
+ IL_213a9: ldc.i8 0x8
+ IL_213b2: add
+ IL_213b3: stloc V_47
+ IL_213b7: ldloc V_11
+ IL_213bb: ldc.i8 0x1
+ IL_213c4: add
+ IL_213c5: stloc V_11
+ IL_213c9: ldloc V_11
+ IL_213cd: ldc.i8 0x0
+ IL_213d6: blt IL_213a0
+
+ IL_213db: ldloc V_26
+ IL_213df: ldloc V_27
+ IL_213e3: add
+ IL_213e4: stloc V_28
+ IL_213e8: ldloc V_10
+ IL_213ec: ldc.i8 0x1
+ IL_213f5: add
+ IL_213f6: stloc V_10
+ IL_213fa: ldloc V_10
+ IL_213fe: ldc.i8 0x0
+ IL_21407: blt IL_21173
+
+ IL_2140c: ldloc V_46
+ IL_21410: ldloc V_42
+ IL_21414: add
+ IL_21415: ldc.i8 0x3
+ IL_2141e: add
+ IL_2141f: stloc V_46
+ IL_21423: ldloc V_9
+ IL_21427: ldc.i8 0x1
+ IL_21430: add
+ IL_21431: stloc V_9
+ IL_21435: ldloc V_9
+ IL_21439: ldc.i8 0x2
+ IL_21442: blt IL_20f7d
+
+ IL_21447: br IL_21764
+
+ IL_2144c: ldc.i8 0x0
+ IL_21455: stloc V_10
+ IL_21459: ldc.i8 0x0
+ IL_21462: stloc V_11
+ IL_21466: br IL_2146b
+
+ IL_2146b: ldc.i8 0x0
+ IL_21474: stloc V_12
+ IL_21478: ldloc V_12
+ IL_2147c: ldc.i8 0x1
+ IL_21485: add
+ IL_21486: stloc V_12
+ IL_2148a: ldloc V_12
+ IL_2148e: ldc.i8 0x1
+ IL_21497: blt IL_21478
+
+ IL_2149c: ldloc V_18
+ IL_214a0: ldc.i8 0x6
+ IL_214a9: add
+ IL_214aa: stloc V_24
+ IL_214ae: ldloc V_11
+ IL_214b2: ldc.i8 0x1
+ IL_214bb: add
+ IL_214bc: stloc V_11
+ IL_214c0: ldloc V_11
+ IL_214c4: ldc.i8 0x2
+ IL_214cd: blt IL_21466
+
+ IL_214d2: br IL_214e9
+
+ IL_214d7: br IL_214dc
+
+ IL_214dc: ldc.i8 0x4
+ IL_214e5: stloc V_41
+ IL_214e9: ldloc V_42
+ IL_214ed: ldloc V_16
+ IL_214f1: add
+ IL_214f2: ldc.i8 0x2
+ IL_214fb: add
+ IL_214fc: stloc V_42
+ IL_21500: ldloc V_10
+ IL_21504: ldc.i8 0x1
+ IL_2150d: add
+ IL_2150e: stloc V_10
+ IL_21512: ldloc V_10
+ IL_21516: ldc.i8 0x2
+ IL_2151f: blt IL_21459
+
+ IL_21524: ldc.i8 0x0
+ IL_2152d: stloc V_10
+ IL_21531: ldc.i8 0x0
+ IL_2153a: stloc V_11
+ IL_2153e: br IL_21543
+
+ IL_21543: ldc.i8 0x5
+ IL_2154c: stloc V_28
+ IL_21550: ldloc V_11
+ IL_21554: ldc.i8 0x1
+ IL_2155d: add
+ IL_2155e: stloc V_11
+ IL_21562: ldloc V_11
+ IL_21566: ldc.i8 0x1
+ IL_2156f: blt IL_2153e
+
+ IL_21574: ldloc V_40
+ IL_21578: stloc V_45
+ IL_2157c: ldloc V_10
+ IL_21580: ldc.i8 0x1
+ IL_21589: add
+ IL_2158a: stloc V_10
+ IL_2158e: ldloc V_10
+ IL_21592: ldc.i8 0x1
+ IL_2159b: blt IL_21531
+
+ IL_215a0: ldc.i8 0x0
+ IL_215a9: stloc V_10
+ IL_215ad: br IL_21683
+
+ IL_215b2: ldc.i8 0x0
+ IL_215bb: stloc V_12
+ IL_215bf: ldloc V_12
+ IL_215c3: ldc.i8 0x1
+ IL_215cc: add
+ IL_215cd: stloc V_12
+ IL_215d1: ldloc V_12
+ IL_215d5: ldc.i8 0x1
+ IL_215de: blt IL_215bf
+
+ IL_215e3: ldc.i8 0x0
+ IL_215ec: stloc V_12
+ IL_215f0: ldloc V_12
+ IL_215f4: ldc.i8 0x1
+ IL_215fd: add
+ IL_215fe: stloc V_12
+ IL_21602: ldloc V_12
+ IL_21606: ldc.i8 0x0
+ IL_2160f: blt IL_215f0
+
+ IL_21614: ldc.i8 0x0
+ IL_2161d: stloc V_12
+ IL_21621: ldloc V_12
+ IL_21625: ldc.i8 0x1
+ IL_2162e: add
+ IL_2162f: stloc V_12
+ IL_21633: ldloc V_12
+ IL_21637: ldc.i8 0x2
+ IL_21640: blt IL_21621
+
+ IL_21645: ldc.i8 0x0
+ IL_2164e: stloc V_12
+ IL_21652: ldloc V_12
+ IL_21656: ldc.i8 0x1
+ IL_2165f: add
+ IL_21660: stloc V_12
+ IL_21664: ldloc V_12
+ IL_21668: ldc.i8 0x0
+ IL_21671: blt IL_21652
+
+ IL_21676: ldloc V_11
+ IL_2167a: ldloc V_24
+ IL_2167e: add
+ IL_2167f: stloc V_22
+ IL_21683: ldc.i8 0x0
+ IL_2168c: stloc V_11
+ IL_21690: ldc.i8 0x0
+ IL_21699: stloc V_12
+ IL_2169d: ldloc V_12
+ IL_216a1: ldc.i8 0x1
+ IL_216aa: add
+ IL_216ab: stloc V_12
+ IL_216af: ldloc V_12
+ IL_216b3: ldc.i8 0x2
+ IL_216bc: blt IL_2169d
+
+ IL_216c1: ldc.i8 0x0
+ IL_216ca: stloc V_12
+ IL_216ce: ldloc V_12
+ IL_216d2: ldc.i8 0x1
+ IL_216db: add
+ IL_216dc: stloc V_12
+ IL_216e0: ldloc V_12
+ IL_216e4: ldc.i8 0x0
+ IL_216ed: blt IL_216ce
+
+ IL_216f2: ldloc V_36
+ IL_216f6: ldloc V_35
+ IL_216fa: add
+ IL_216fb: ldc.i8 0x0
+ IL_21704: add
+ IL_21705: stloc V_36
+ IL_21709: ldloc V_11
+ IL_2170d: ldc.i8 0x1
+ IL_21716: add
+ IL_21717: stloc V_11
+ IL_2171b: ldloc V_11
+ IL_2171f: ldc.i8 0x0
+ IL_21728: blt IL_21690
+
+ IL_2172d: ldloc V_35
+ IL_21731: ldc.i8 0x5
+ IL_2173a: add
+ IL_2173b: stloc V_43
+ IL_2173f: ldloc V_10
+ IL_21743: ldc.i8 0x1
+ IL_2174c: add
+ IL_2174d: stloc V_10
+ IL_21751: ldloc V_10
+ IL_21755: ldc.i8 0x0
+ IL_2175e: blt IL_215ad
+
+ IL_21763: nop
+ IL_21764: nop
+ IL_21765: ldc.i8 0x0
+ IL_2176e: stloc V_8
+ IL_21772: br IL_21d1a
+
+ IL_21777: ldc.i8 0x0
+ IL_21780: stloc V_10
+ IL_21784: br IL_21796
+
+ IL_21789: ldloc V_30
+ IL_2178d: ldloc V_13
+ IL_21791: add
+ IL_21792: stloc V_48
+ IL_21796: ldc.i8 0x0
+ IL_2179f: stloc V_11
+ IL_217a3: ldc.i8 0x0
+ IL_217ac: stloc V_12
+ IL_217b0: ldloc V_12
+ IL_217b4: ldc.i8 0x1
+ IL_217bd: add
+ IL_217be: stloc V_12
+ IL_217c2: ldloc V_12
+ IL_217c6: ldc.i8 0x0
+ IL_217cf: blt IL_217b0
+
+ IL_217d4: ldc.i8 0x0
+ IL_217dd: stloc V_12
+ IL_217e1: ldloc V_12
+ IL_217e5: ldc.i8 0x1
+ IL_217ee: add
+ IL_217ef: stloc V_12
+ IL_217f3: ldloc V_12
+ IL_217f7: ldc.i8 0x2
+ IL_21800: blt IL_217e1
+
+ IL_21805: br IL_2180a
+
+ IL_2180a: ldc.i8 0x0
+ IL_21813: stloc V_12
+ IL_21817: ldloc V_12
+ IL_2181b: ldc.i8 0x1
+ IL_21824: add
+ IL_21825: stloc V_12
+ IL_21829: ldloc V_12
+ IL_2182d: ldc.i8 0x1
+ IL_21836: blt IL_21817
+
+ IL_2183b: ldloc V_19
+ IL_2183f: ldloc V_9
+ IL_21843: add
+ IL_21844: stloc V_19
+ IL_21848: ldloc V_11
+ IL_2184c: ldc.i8 0x1
+ IL_21855: add
+ IL_21856: stloc V_11
+ IL_2185a: ldloc V_11
+ IL_2185e: ldc.i8 0x0
+ IL_21867: blt IL_217a3
+
+ IL_2186c: br IL_2187e
+
+ IL_21871: ldc.i8 0x7
+ IL_2187a: stloc V_24
+ IL_2187e: ldloc V_28
+ IL_21882: ldloc V_9
+ IL_21886: add
+ IL_21887: stloc V_28
+ IL_2188b: ldloc V_10
+ IL_2188f: ldc.i8 0x1
+ IL_21898: add
+ IL_21899: stloc V_10
+ IL_2189d: ldloc V_10
+ IL_218a1: ldc.i8 0x0
+ IL_218aa: blt IL_21784
+
+ IL_218af: ldc.i8 0x0
+ IL_218b8: stloc V_10
+ IL_218bc: ldc.i8 0x0
+ IL_218c5: stloc V_11
+ IL_218c9: br IL_218ce
+
+ IL_218ce: ldc.i8 0x0
+ IL_218d7: stloc V_12
+ IL_218db: ldloc V_12
+ IL_218df: ldc.i8 0x1
+ IL_218e8: add
+ IL_218e9: stloc V_12
+ IL_218ed: ldloc V_12
+ IL_218f1: ldc.i8 0x2
+ IL_218fa: blt IL_218db
+
+ IL_218ff: br IL_21904
+
+ IL_21904: ldc.i8 0x0
+ IL_2190d: stloc V_12
+ IL_21911: ldloc V_12
+ IL_21915: ldc.i8 0x1
+ IL_2191e: add
+ IL_2191f: stloc V_12
+ IL_21923: ldloc V_12
+ IL_21927: ldc.i8 0x2
+ IL_21930: blt IL_21911
+
+ IL_21935: nop
+ IL_21936: ldloc V_11
+ IL_2193a: ldc.i8 0x1
+ IL_21943: add
+ IL_21944: stloc V_11
+ IL_21948: ldloc V_11
+ IL_2194c: ldc.i8 0x1
+ IL_21955: blt IL_218c9
+
+ IL_2195a: nop
+ IL_2195b: ldloc V_10
+ IL_2195f: ldc.i8 0x1
+ IL_21968: add
+ IL_21969: stloc V_10
+ IL_2196d: ldloc V_10
+ IL_21971: ldc.i8 0x1
+ IL_2197a: blt IL_218bc
+
+ IL_2197f: ldc.i8 0x0
+ IL_21988: stloc V_10
+ IL_2198c: br IL_21999
+
+ IL_21991: ldloc V_39
+ IL_21995: stloc V_33
+ IL_21999: ldc.i8 0x0
+ IL_219a2: stloc V_11
+ IL_219a6: br IL_219ab
+
+ IL_219ab: ldc.i8 0x0
+ IL_219b4: stloc V_12
+ IL_219b8: ldloc V_12
+ IL_219bc: ldc.i8 0x1
+ IL_219c5: add
+ IL_219c6: stloc V_12
+ IL_219ca: ldloc V_12
+ IL_219ce: ldc.i8 0x2
+ IL_219d7: blt IL_219b8
+
+ IL_219dc: ldc.i8 0x0
+ IL_219e5: stloc V_12
+ IL_219e9: ldloc V_12
+ IL_219ed: ldc.i8 0x1
+ IL_219f6: add
+ IL_219f7: stloc V_12
+ IL_219fb: ldloc V_12
+ IL_219ff: ldc.i8 0x0
+ IL_21a08: blt IL_219e9
+
+ IL_21a0d: nop
+ IL_21a0e: ldloc V_11
+ IL_21a12: ldc.i8 0x1
+ IL_21a1b: add
+ IL_21a1c: stloc V_11
+ IL_21a20: ldloc V_11
+ IL_21a24: ldc.i8 0x1
+ IL_21a2d: blt IL_219a6
+
+ IL_21a32: ldc.i8 0x0
+ IL_21a3b: stloc V_11
+ IL_21a3f: ldc.i8 0x0
+ IL_21a48: stloc V_12
+ IL_21a4c: ldloc V_12
+ IL_21a50: ldc.i8 0x1
+ IL_21a59: add
+ IL_21a5a: stloc V_12
+ IL_21a5e: ldloc V_12
+ IL_21a62: ldc.i8 0x1
+ IL_21a6b: blt IL_21a4c
+
+ IL_21a70: ldc.i8 0x0
+ IL_21a79: stloc V_12
+ IL_21a7d: ldloc V_12
+ IL_21a81: ldc.i8 0x1
+ IL_21a8a: add
+ IL_21a8b: stloc V_12
+ IL_21a8f: ldloc V_12
+ IL_21a93: ldc.i8 0x0
+ IL_21a9c: blt IL_21a7d
+
+ IL_21aa1: ldc.i8 0x0
+ IL_21aaa: stloc V_12
+ IL_21aae: ldloc V_12
+ IL_21ab2: ldc.i8 0x1
+ IL_21abb: add
+ IL_21abc: stloc V_12
+ IL_21ac0: ldloc V_12
+ IL_21ac4: ldc.i8 0x0
+ IL_21acd: blt IL_21aae
+
+ IL_21ad2: ldloc V_41
+ IL_21ad6: ldloc V_27
+ IL_21ada: add
+ IL_21adb: stloc V_41
+ IL_21adf: ldloc V_11
+ IL_21ae3: ldc.i8 0x1
+ IL_21aec: add
+ IL_21aed: stloc V_11
+ IL_21af1: ldloc V_11
+ IL_21af5: ldc.i8 0x2
+ IL_21afe: blt IL_21a3f
+
+ IL_21b03: ldc.i8 0x0
+ IL_21b0c: stloc V_11
+ IL_21b10: ldc.i8 0x0
+ IL_21b19: stloc V_12
+ IL_21b1d: ldloc V_12
+ IL_21b21: ldc.i8 0x1
+ IL_21b2a: add
+ IL_21b2b: stloc V_12
+ IL_21b2f: ldloc V_12
+ IL_21b33: ldc.i8 0x2
+ IL_21b3c: blt IL_21b1d
+
+ IL_21b41: br IL_21b46
+
+ IL_21b46: ldloc V_24
+ IL_21b4a: ldloc V_35
+ IL_21b4e: add
+ IL_21b4f: stloc V_16
+ IL_21b53: ldloc V_11
+ IL_21b57: ldc.i8 0x1
+ IL_21b60: add
+ IL_21b61: stloc V_11
+ IL_21b65: ldloc V_11
+ IL_21b69: ldc.i8 0x0
+ IL_21b72: blt IL_21b10
+
+ IL_21b77: ldloc V_49
+ IL_21b7b: stloc V_23
+ IL_21b7f: ldloc V_10
+ IL_21b83: ldc.i8 0x1
+ IL_21b8c: add
+ IL_21b8d: stloc V_10
+ IL_21b91: ldloc V_10
+ IL_21b95: ldc.i8 0x2
+ IL_21b9e: blt IL_2198c
+
+ IL_21ba3: ldc.i8 0x0
+ IL_21bac: stloc V_10
+ IL_21bb0: ldc.i8 0x0
+ IL_21bb9: stloc V_11
+ IL_21bbd: ldloc V_20
+ IL_21bc1: ldloc V_46
+ IL_21bc5: add
+ IL_21bc6: ldc.i8 0x0
+ IL_21bcf: add
+ IL_21bd0: stloc V_20
+ IL_21bd4: ldloc V_11
+ IL_21bd8: ldc.i8 0x1
+ IL_21be1: add
+ IL_21be2: stloc V_11
+ IL_21be6: ldloc V_11
+ IL_21bea: ldc.i8 0x2
+ IL_21bf3: blt IL_21bbd
+
+ IL_21bf8: ldc.i8 0x0
+ IL_21c01: stloc V_11
+ IL_21c05: ldc.i8 0x0
+ IL_21c0e: stloc V_12
+ IL_21c12: ldloc V_12
+ IL_21c16: ldc.i8 0x1
+ IL_21c1f: add
+ IL_21c20: stloc V_12
+ IL_21c24: ldloc V_12
+ IL_21c28: ldc.i8 0x1
+ IL_21c31: blt IL_21c12
+
+ IL_21c36: br IL_21c3b
+
+ IL_21c3b: ldc.i8 0x0
+ IL_21c44: stloc V_12
+ IL_21c48: ldloc V_12
+ IL_21c4c: ldc.i8 0x1
+ IL_21c55: add
+ IL_21c56: stloc V_12
+ IL_21c5a: ldloc V_12
+ IL_21c5e: ldc.i8 0x0
+ IL_21c67: blt IL_21c48
+
+ IL_21c6c: br IL_21c71
+
+ IL_21c71: nop
+ IL_21c72: ldloc V_11
+ IL_21c76: ldc.i8 0x1
+ IL_21c7f: add
+ IL_21c80: stloc V_11
+ IL_21c84: ldloc V_11
+ IL_21c88: ldc.i8 0x2
+ IL_21c91: blt IL_21c05
+
+ IL_21c96: ldc.i8 0x0
+ IL_21c9f: stloc V_11
+ IL_21ca3: ldloc V_41
+ IL_21ca7: ldloc V_15
+ IL_21cab: add
+ IL_21cac: ldc.i8 0x0
+ IL_21cb5: add
+ IL_21cb6: stloc V_41
+ IL_21cba: ldloc V_11
+ IL_21cbe: ldc.i8 0x1
+ IL_21cc7: add
+ IL_21cc8: stloc V_11
+ IL_21ccc: ldloc V_11
+ IL_21cd0: ldc.i8 0x0
+ IL_21cd9: blt IL_21ca3
+
+ IL_21cde: nop
+ IL_21cdf: ldloc V_10
+ IL_21ce3: ldc.i8 0x1
+ IL_21cec: add
+ IL_21ced: stloc V_10
+ IL_21cf1: ldloc V_10
+ IL_21cf5: ldc.i8 0x1
+ IL_21cfe: blt IL_21bb0
+
+ IL_21d03: ldloc V_17
+ IL_21d07: ldloc V_45
+ IL_21d0b: add
+ IL_21d0c: ldc.i8 0x8
+ IL_21d15: add
+ IL_21d16: stloc V_17
+ IL_21d1a: nop
+ IL_21d1b: ldloc V_8
+ IL_21d1f: ldc.i8 0x1
+ IL_21d28: add
+ IL_21d29: stloc V_8
+ IL_21d2d: ldloc V_8
+ IL_21d31: ldc.i8 0x0
+ IL_21d3a: blt IL_21772
+
+ IL_21d3f: nop
+ IL_21d40: br IL_21d90
+
+ IL_21d45: ldc.i8 0x0
+ IL_21d4e: stloc V_8
+ IL_21d52: ldc.i8 0x0
+ IL_21d5b: stloc V_31
+ IL_21d5f: ldloc V_8
+ IL_21d63: ldc.i8 0x1
+ IL_21d6c: add
+ IL_21d6d: stloc V_8
+ IL_21d71: ldloc V_8
+ IL_21d75: ldc.i8 0x2
+ IL_21d7e: blt IL_21d52
+
+ IL_21d83: ldc.i8 0x4
+ IL_21d8c: stloc V_45
+ IL_21d90: ldc.i8 0x0
+ IL_21d99: stloc V_7
+ IL_21d9d: ldc.i8 0x0
+ IL_21da6: stloc V_8
+ IL_21daa: ldc.i8 0x0
+ IL_21db3: stloc V_9
+ IL_21db7: ldc.i8 0x0
+ IL_21dc0: stloc V_10
+ IL_21dc4: ldc.i8 0x0
+ IL_21dcd: stloc V_11
+ IL_21dd1: ldloc V_35
+ IL_21dd5: stloc V_33
+ IL_21dd9: ldloc V_11
+ IL_21ddd: ldc.i8 0x1
+ IL_21de6: add
+ IL_21de7: stloc V_11
+ IL_21deb: ldloc V_11
+ IL_21def: ldc.i8 0x0
+ IL_21df8: blt IL_21dd1
+
+ IL_21dfd: ldloc V_2
+ IL_21e01: stloc V_23
+ IL_21e05: ldloc V_10
+ IL_21e09: ldc.i8 0x1
+ IL_21e12: add
+ IL_21e13: stloc V_10
+ IL_21e17: ldloc V_10
+ IL_21e1b: ldc.i8 0x1
+ IL_21e24: blt IL_21dc4
+
+ IL_21e29: ldc.i8 0x0
+ IL_21e32: stloc V_10
+ IL_21e36: ldc.i8 0x0
+ IL_21e3f: stloc V_11
+ IL_21e43: ldc.i8 0x0
+ IL_21e4c: stloc V_12
+ IL_21e50: ldloc V_12
+ IL_21e54: ldc.i8 0x1
+ IL_21e5d: add
+ IL_21e5e: stloc V_12
+ IL_21e62: ldloc V_12
+ IL_21e66: ldc.i8 0x1
+ IL_21e6f: blt IL_21e50
+
+ IL_21e74: ldc.i8 0x0
+ IL_21e7d: stloc V_12
+ IL_21e81: ldloc V_12
+ IL_21e85: ldc.i8 0x1
+ IL_21e8e: add
+ IL_21e8f: stloc V_12
+ IL_21e93: ldloc V_12
+ IL_21e97: ldc.i8 0x1
+ IL_21ea0: blt IL_21e81
+
+ IL_21ea5: ldloc V_48
+ IL_21ea9: ldloc V_40
+ IL_21ead: add
+ IL_21eae: stloc V_48
+ IL_21eb2: ldloc V_11
+ IL_21eb6: ldc.i8 0x1
+ IL_21ebf: add
+ IL_21ec0: stloc V_11
+ IL_21ec4: ldloc V_11
+ IL_21ec8: ldc.i8 0x0
+ IL_21ed1: blt IL_21e43
+
+ IL_21ed6: ldc.i8 0x0
+ IL_21edf: stloc V_11
+ IL_21ee3: ldc.i8 0x0
+ IL_21eec: stloc V_12
+ IL_21ef0: ldloc V_12
+ IL_21ef4: ldc.i8 0x1
+ IL_21efd: add
+ IL_21efe: stloc V_12
+ IL_21f02: ldloc V_12
+ IL_21f06: ldc.i8 0x0
+ IL_21f0f: blt IL_21ef0
+
+ IL_21f14: ldloc V_27
+ IL_21f18: ldloc V_21
+ IL_21f1c: add
+ IL_21f1d: ldc.i8 0x1
+ IL_21f26: add
+ IL_21f27: stloc V_27
+ IL_21f2b: ldloc V_11
+ IL_21f2f: ldc.i8 0x1
+ IL_21f38: add
+ IL_21f39: stloc V_11
+ IL_21f3d: ldloc V_11
+ IL_21f41: ldc.i8 0x1
+ IL_21f4a: blt IL_21ee3
+
+ IL_21f4f: ldc.i8 0x0
+ IL_21f58: stloc V_11
+ IL_21f5c: ldc.i8 0x0
+ IL_21f65: stloc V_12
+ IL_21f69: ldloc V_12
+ IL_21f6d: ldc.i8 0x1
+ IL_21f76: add
+ IL_21f77: stloc V_12
+ IL_21f7b: ldloc V_12
+ IL_21f7f: ldc.i8 0x1
+ IL_21f88: blt IL_21f69
+
+ IL_21f8d: nop
+ IL_21f8e: ldloc V_11
+ IL_21f92: ldc.i8 0x1
+ IL_21f9b: add
+ IL_21f9c: stloc V_11
+ IL_21fa0: ldloc V_11
+ IL_21fa4: ldc.i8 0x0
+ IL_21fad: blt IL_21f5c
+
+ IL_21fb2: ldloc V_16
+ IL_21fb6: ldc.i8 0x2
+ IL_21fbf: add
+ IL_21fc0: stloc V_13
+ IL_21fc4: ldloc V_10
+ IL_21fc8: ldc.i8 0x1
+ IL_21fd1: add
+ IL_21fd2: stloc V_10
+ IL_21fd6: ldloc V_10
+ IL_21fda: ldc.i8 0x1
+ IL_21fe3: blt IL_21e36
+
+ IL_21fe8: ldc.i8 0x0
+ IL_21ff1: stloc V_10
+ IL_21ff5: ldc.i8 0x0
+ IL_21ffe: stloc V_11
+ IL_22002: ldloc V_42
+ IL_22006: ldloc V_2
+ IL_2200a: add
+ IL_2200b: ldc.i8 0x6
+ IL_22014: add
+ IL_22015: stloc V_42
+ IL_22019: ldloc V_11
+ IL_2201d: ldc.i8 0x1
+ IL_22026: add
+ IL_22027: stloc V_11
+ IL_2202b: ldloc V_11
+ IL_2202f: ldc.i8 0x0
+ IL_22038: blt IL_22002
+
+ IL_2203d: br IL_220ec
+
+ IL_22042: br IL_22047
+
+ IL_22047: ldc.i8 0x0
+ IL_22050: stloc V_12
+ IL_22054: ldloc V_12
+ IL_22058: ldc.i8 0x1
+ IL_22061: add
+ IL_22062: stloc V_12
+ IL_22066: ldloc V_12
+ IL_2206a: ldc.i8 0x1
+ IL_22073: blt IL_22054
+
+ IL_22078: ldc.i8 0x0
+ IL_22081: stloc V_12
+ IL_22085: ldloc V_12
+ IL_22089: ldc.i8 0x1
+ IL_22092: add
+ IL_22093: stloc V_12
+ IL_22097: ldloc V_12
+ IL_2209b: ldc.i8 0x0
+ IL_220a4: blt IL_22085
+
+ IL_220a9: ldc.i8 0x0
+ IL_220b2: stloc V_12
+ IL_220b6: ldloc V_12
+ IL_220ba: ldc.i8 0x1
+ IL_220c3: add
+ IL_220c4: stloc V_12
+ IL_220c8: ldloc V_12
+ IL_220cc: ldc.i8 0x1
+ IL_220d5: blt IL_220b6
+
+ IL_220da: ldloc V_30
+ IL_220de: ldc.i8 0x7
+ IL_220e7: add
+ IL_220e8: stloc V_34
+ IL_220ec: ldloc V_48
+ IL_220f0: stloc V_34
+ IL_220f4: ldloc V_10
+ IL_220f8: ldc.i8 0x1
+ IL_22101: add
+ IL_22102: stloc V_10
+ IL_22106: ldloc V_10
+ IL_2210a: ldc.i8 0x2
+ IL_22113: blt IL_21ff5
+
+ IL_22118: ldc.i8 0x0
+ IL_22121: stloc V_10
+ IL_22125: nop
+ IL_22126: ldloc V_10
+ IL_2212a: ldc.i8 0x1
+ IL_22133: add
+ IL_22134: stloc V_10
+ IL_22138: ldloc V_10
+ IL_2213c: ldc.i8 0x0
+ IL_22145: blt IL_22125
+
+ IL_2214a: ldloc V_39
+ IL_2214e: ldloc V_8
+ IL_22152: add
+ IL_22153: ldc.i8 0x7
+ IL_2215c: add
+ IL_2215d: stloc V_39
+ IL_22161: ldloc V_9
+ IL_22165: ldc.i8 0x1
+ IL_2216e: add
+ IL_2216f: stloc V_9
+ IL_22173: ldloc V_9
+ IL_22177: ldc.i8 0x2
+ IL_22180: blt IL_21db7
+
+ IL_22185: br IL_22197
+
+ IL_2218a: ldloc V_15
+ IL_2218e: ldloc V_6
+ IL_22192: add
+ IL_22193: stloc V_15
+ IL_22197: ldloc V_24
+ IL_2219b: ldloc V_33
+ IL_2219f: add
+ IL_221a0: ldc.i8 0x8
+ IL_221a9: add
+ IL_221aa: stloc V_24
+ IL_221ae: ldloc V_8
+ IL_221b2: ldc.i8 0x1
+ IL_221bb: add
+ IL_221bc: stloc V_8
+ IL_221c0: ldloc V_8
+ IL_221c4: ldc.i8 0x0
+ IL_221cd: blt IL_21daa
+
+ IL_221d2: ldc.i8 0x0
+ IL_221db: stloc V_8
+ IL_221df: br IL_221e5
+
+ IL_221e4: nop
+ IL_221e5: br IL_22464
+
+ IL_221ea: br IL_22247
+
+ IL_221ef: br IL_221fc
+
+ IL_221f4: ldloc V_49
+ IL_221f8: stloc V_38
+ IL_221fc: ldc.i8 0x0
+ IL_22205: stloc V_11
+ IL_22209: ldloc V_5
+ IL_2220d: ldc.i8 0x4
+ IL_22216: add
+ IL_22217: stloc V_42
+ IL_2221b: ldloc V_11
+ IL_2221f: ldc.i8 0x1
+ IL_22228: add
+ IL_22229: stloc V_11
+ IL_2222d: ldloc V_11
+ IL_22231: ldc.i8 0x2
+ IL_2223a: blt IL_22209
+
+ IL_2223f: ldloc V_4
+ IL_22243: stloc V_44
+ IL_22247: ldc.i8 0x0
+ IL_22250: stloc V_10
+ IL_22254: ldc.i8 0x0
+ IL_2225d: stloc V_11
+ IL_22261: ldc.i8 0x0
+ IL_2226a: stloc V_12
+ IL_2226e: ldloc V_12
+ IL_22272: ldc.i8 0x1
+ IL_2227b: add
+ IL_2227c: stloc V_12
+ IL_22280: ldloc V_12
+ IL_22284: ldc.i8 0x0
+ IL_2228d: blt IL_2226e
+
+ IL_22292: ldloc V_12
+ IL_22296: stloc V_30
+ IL_2229a: ldloc V_11
+ IL_2229e: ldc.i8 0x1
+ IL_222a7: add
+ IL_222a8: stloc V_11
+ IL_222ac: ldloc V_11
+ IL_222b0: ldc.i8 0x1
+ IL_222b9: blt IL_22261
+
+ IL_222be: ldc.i8 0x0
+ IL_222c7: stloc V_11
+ IL_222cb: ldc.i8 0x0
+ IL_222d4: stloc V_12
+ IL_222d8: ldloc V_12
+ IL_222dc: ldc.i8 0x1
+ IL_222e5: add
+ IL_222e6: stloc V_12
+ IL_222ea: ldloc V_12
+ IL_222ee: ldc.i8 0x0
+ IL_222f7: blt IL_222d8
+
+ IL_222fc: br IL_22301
+
+ IL_22301: ldc.i8 0x0
+ IL_2230a: stloc V_12
+ IL_2230e: ldloc V_12
+ IL_22312: ldc.i8 0x1
+ IL_2231b: add
+ IL_2231c: stloc V_12
+ IL_22320: ldloc V_12
+ IL_22324: ldc.i8 0x2
+ IL_2232d: blt IL_2230e
+
+ IL_22332: ldc.i8 0x0
+ IL_2233b: stloc V_12
+ IL_2233f: ldloc V_12
+ IL_22343: ldc.i8 0x1
+ IL_2234c: add
+ IL_2234d: stloc V_12
+ IL_22351: ldloc V_12
+ IL_22355: ldc.i8 0x0
+ IL_2235e: blt IL_2233f
+
+ IL_22363: ldloc V_1
+ IL_22367: ldloc V_46
+ IL_2236b: add
+ IL_2236c: stloc V_46
+ IL_22370: ldloc V_11
+ IL_22374: ldc.i8 0x1
+ IL_2237d: add
+ IL_2237e: stloc V_11
+ IL_22382: ldloc V_11
+ IL_22386: ldc.i8 0x2
+ IL_2238f: blt IL_222cb
+
+ IL_22394: br IL_2241c
+
+ IL_22399: ldc.i8 0x0
+ IL_223a2: stloc V_12
+ IL_223a6: ldloc V_12
+ IL_223aa: ldc.i8 0x1
+ IL_223b3: add
+ IL_223b4: stloc V_12
+ IL_223b8: ldloc V_12
+ IL_223bc: ldc.i8 0x1
+ IL_223c5: blt IL_223a6
+
+ IL_223ca: ldc.i8 0x0
+ IL_223d3: stloc V_12
+ IL_223d7: ldloc V_12
+ IL_223db: ldc.i8 0x1
+ IL_223e4: add
+ IL_223e5: stloc V_12
+ IL_223e9: ldloc V_12
+ IL_223ed: ldc.i8 0x0
+ IL_223f6: blt IL_223d7
+
+ IL_223fb: br IL_22400
+
+ IL_22400: br IL_22405
+
+ IL_22405: ldloc V_34
+ IL_22409: ldloc V_30
+ IL_2240d: add
+ IL_2240e: ldc.i8 0x2
+ IL_22417: add
+ IL_22418: stloc V_34
+ IL_2241c: ldloc V_28
+ IL_22420: ldloc V_0
+ IL_22424: add
+ IL_22425: ldc.i8 0x3
+ IL_2242e: add
+ IL_2242f: stloc V_28
+ IL_22433: ldloc V_10
+ IL_22437: ldc.i8 0x1
+ IL_22440: add
+ IL_22441: stloc V_10
+ IL_22445: ldloc V_10
+ IL_22449: ldc.i8 0x1
+ IL_22452: blt IL_22254
+
+ IL_22457: ldc.i8 0x1
+ IL_22460: stloc V_27
+ IL_22464: ldc.i8 0x0
+ IL_2246d: stloc V_9
+ IL_22471: ldc.i8 0x0
+ IL_2247a: stloc V_10
+ IL_2247e: ldc.i8 0x0
+ IL_22487: stloc V_11
+ IL_2248b: ldc.i8 0x0
+ IL_22494: stloc V_12
+ IL_22498: ldloc V_12
+ IL_2249c: ldc.i8 0x1
+ IL_224a5: add
+ IL_224a6: stloc V_12
+ IL_224aa: ldloc V_12
+ IL_224ae: ldc.i8 0x1
+ IL_224b7: blt IL_22498
+
+ IL_224bc: ldloc V_34
+ IL_224c0: ldc.i8 0x7
+ IL_224c9: add
+ IL_224ca: stloc V_32
+ IL_224ce: ldloc V_11
+ IL_224d2: ldc.i8 0x1
+ IL_224db: add
+ IL_224dc: stloc V_11
+ IL_224e0: ldloc V_11
+ IL_224e4: ldc.i8 0x1
+ IL_224ed: blt IL_2248b
+
+ IL_224f2: ldc.i8 0x0
+ IL_224fb: stloc V_11
+ IL_224ff: ldc.i8 0x0
+ IL_22508: stloc V_12
+ IL_2250c: ldloc V_12
+ IL_22510: ldc.i8 0x1
+ IL_22519: add
+ IL_2251a: stloc V_12
+ IL_2251e: ldloc V_12
+ IL_22522: ldc.i8 0x0
+ IL_2252b: blt IL_2250c
+
+ IL_22530: ldloc V_37
+ IL_22534: ldloc V_25
+ IL_22538: add
+ IL_22539: stloc V_37
+ IL_2253d: ldloc V_11
+ IL_22541: ldc.i8 0x1
+ IL_2254a: add
+ IL_2254b: stloc V_11
+ IL_2254f: ldloc V_11
+ IL_22553: ldc.i8 0x1
+ IL_2255c: blt IL_224ff
+
+ IL_22561: nop
+ IL_22562: ldloc V_10
+ IL_22566: ldc.i8 0x1
+ IL_2256f: add
+ IL_22570: stloc V_10
+ IL_22574: ldloc V_10
+ IL_22578: ldc.i8 0x1
+ IL_22581: blt IL_2247e
+
+ IL_22586: br IL_22598
+
+ IL_2258b: ldc.i8 0x4
+ IL_22594: stloc V_23
+ IL_22598: ldloc V_3
+ IL_2259c: ldc.i8 0x7
+ IL_225a5: add
+ IL_225a6: stloc V_15
+ IL_225aa: ldloc V_9
+ IL_225ae: ldc.i8 0x1
+ IL_225b7: add
+ IL_225b8: stloc V_9
+ IL_225bc: ldloc V_9
+ IL_225c0: ldc.i8 0x2
+ IL_225c9: blt IL_22471
+
+ IL_225ce: ldloc V_33
+ IL_225d2: ldloc V_19
+ IL_225d6: add
+ IL_225d7: stloc V_33
+ IL_225db: ldloc V_8
+ IL_225df: ldc.i8 0x1
+ IL_225e8: add
+ IL_225e9: stloc V_8
+ IL_225ed: ldloc V_8
+ IL_225f1: ldc.i8 0x1
+ IL_225fa: blt IL_221df
+
+ IL_225ff: ldloc V_48
+ IL_22603: ldloc V_15
+ IL_22607: add
+ IL_22608: stloc V_48
+ IL_2260c: ldloc V_7
+ IL_22610: ldc.i8 0x1
+ IL_22619: add
+ IL_2261a: stloc V_7
+ IL_2261e: ldloc V_7
+ IL_22622: ldc.i8 0x2
+ IL_2262b: blt IL_21d9d
+
+ IL_22630: ldloc V_46
+ IL_22634: ldloc V_6
+ IL_22638: add
+ IL_22639: stloc V_8
+ IL_2263d: ldloc V_6
+ IL_22641: ldc.i8 0x1
+ IL_2264a: add
+ IL_2264b: stloc V_6
+ IL_2264f: ldloc V_6
+ IL_22653: ldc.i8 0x1
+ IL_2265c: blt IL_2041f
+
+ IL_22661: ldc.i8 0x0
+ IL_2266a: stloc V_6
+ IL_2266e: ldloc V_3
+ IL_22672: ldloc V_17
+ IL_22676: add
+ IL_22677: stloc V_29
+ IL_2267b: ldloc V_6
+ IL_2267f: ldc.i8 0x1
+ IL_22688: add
+ IL_22689: stloc V_6
+ IL_2268d: ldloc V_6
+ IL_22691: ldc.i8 0x1
+ IL_2269a: blt IL_2266e
+
+ IL_2269f: br IL_24611
+
+ IL_226a4: ldc.i8 0x0
+ IL_226ad: stloc V_7
+ IL_226b1: br IL_22b2a
+
+ IL_226b6: br IL_22872
+
+ IL_226bb: br IL_22865
+
+ IL_226c0: br IL_22732
+
+ IL_226c5: br IL_226ca
+
+ IL_226ca: ldc.i8 0x0
+ IL_226d3: stloc V_12
+ IL_226d7: ldloc V_12
+ IL_226db: ldc.i8 0x1
+ IL_226e4: add
+ IL_226e5: stloc V_12
+ IL_226e9: ldloc V_12
+ IL_226ed: ldc.i8 0x2
+ IL_226f6: blt IL_226d7
+
+ IL_226fb: br IL_22700
+
+ IL_22700: ldc.i8 0x0
+ IL_22709: stloc V_12
+ IL_2270d: ldloc V_12
+ IL_22711: ldc.i8 0x1
+ IL_2271a: add
+ IL_2271b: stloc V_12
+ IL_2271f: ldloc V_12
+ IL_22723: ldc.i8 0x0
+ IL_2272c: blt IL_2270d
+
+ IL_22731: nop
+ IL_22732: br IL_22775
+
+ IL_22737: ldc.i8 0x0
+ IL_22740: stloc V_12
+ IL_22744: ldloc V_12
+ IL_22748: ldc.i8 0x1
+ IL_22751: add
+ IL_22752: stloc V_12
+ IL_22756: ldloc V_12
+ IL_2275a: ldc.i8 0x1
+ IL_22763: blt IL_22744
+
+ IL_22768: ldloc V_28
+ IL_2276c: ldloc V_18
+ IL_22770: add
+ IL_22771: stloc V_28
+ IL_22775: ldc.i8 0x0
+ IL_2277e: stloc V_11
+ IL_22782: ldc.i8 0x0
+ IL_2278b: stloc V_12
+ IL_2278f: ldloc V_12
+ IL_22793: ldc.i8 0x1
+ IL_2279c: add
+ IL_2279d: stloc V_12
+ IL_227a1: ldloc V_12
+ IL_227a5: ldc.i8 0x0
+ IL_227ae: blt IL_2278f
+
+ IL_227b3: ldc.i8 0x0
+ IL_227bc: stloc V_12
+ IL_227c0: ldloc V_12
+ IL_227c4: ldc.i8 0x1
+ IL_227cd: add
+ IL_227ce: stloc V_12
+ IL_227d2: ldloc V_12
+ IL_227d6: ldc.i8 0x1
+ IL_227df: blt IL_227c0
+
+ IL_227e4: ldc.i8 0x7
+ IL_227ed: stloc V_32
+ IL_227f1: ldloc V_11
+ IL_227f5: ldc.i8 0x1
+ IL_227fe: add
+ IL_227ff: stloc V_11
+ IL_22803: ldloc V_11
+ IL_22807: ldc.i8 0x0
+ IL_22810: blt IL_22782
+
+ IL_22815: ldc.i8 0x0
+ IL_2281e: stloc V_11
+ IL_22822: ldloc V_5
+ IL_22826: ldloc V_15
+ IL_2282a: add
+ IL_2282b: stloc V_49
+ IL_2282f: ldloc V_11
+ IL_22833: ldc.i8 0x1
+ IL_2283c: add
+ IL_2283d: stloc V_11
+ IL_22841: ldloc V_11
+ IL_22845: ldc.i8 0x0
+ IL_2284e: blt IL_22822
+
+ IL_22853: ldloc V_48
+ IL_22857: ldc.i8 0x6
+ IL_22860: add
+ IL_22861: stloc V_32
+ IL_22865: ldloc V_21
+ IL_22869: ldloc V_34
+ IL_2286d: add
+ IL_2286e: stloc V_45
+ IL_22872: br IL_22a3b
+
+ IL_22877: ldc.i8 0x0
+ IL_22880: stloc V_10
+ IL_22884: ldc.i8 0x0
+ IL_2288d: stloc V_11
+ IL_22891: ldc.i8 0x0
+ IL_2289a: stloc V_12
+ IL_2289e: ldloc V_12
+ IL_228a2: ldc.i8 0x1
+ IL_228ab: add
+ IL_228ac: stloc V_12
+ IL_228b0: ldloc V_12
+ IL_228b4: ldc.i8 0x1
+ IL_228bd: blt IL_2289e
+
+ IL_228c2: ldc.i8 0x0
+ IL_228cb: stloc V_12
+ IL_228cf: ldloc V_12
+ IL_228d3: ldc.i8 0x1
+ IL_228dc: add
+ IL_228dd: stloc V_12
+ IL_228e1: ldloc V_12
+ IL_228e5: ldc.i8 0x1
+ IL_228ee: blt IL_228cf
+
+ IL_228f3: ldloc V_46
+ IL_228f7: ldloc V_15
+ IL_228fb: add
+ IL_228fc: ldc.i8 0x6
+ IL_22905: add
+ IL_22906: stloc V_46
+ IL_2290a: ldloc V_11
+ IL_2290e: ldc.i8 0x1
+ IL_22917: add
+ IL_22918: stloc V_11
+ IL_2291c: ldloc V_11
+ IL_22920: ldc.i8 0x1
+ IL_22929: blt IL_22891
+
+ IL_2292e: ldc.i8 0x0
+ IL_22937: stloc V_11
+ IL_2293b: br IL_22940
+
+ IL_22940: ldc.i8 0x0
+ IL_22949: stloc V_12
+ IL_2294d: ldloc V_12
+ IL_22951: ldc.i8 0x1
+ IL_2295a: add
+ IL_2295b: stloc V_12
+ IL_2295f: ldloc V_12
+ IL_22963: ldc.i8 0x2
+ IL_2296c: blt IL_2294d
+
+ IL_22971: ldloc V_18
+ IL_22975: ldloc V_10
+ IL_22979: add
+ IL_2297a: ldc.i8 0x8
+ IL_22983: add
+ IL_22984: stloc V_18
+ IL_22988: ldloc V_11
+ IL_2298c: ldc.i8 0x1
+ IL_22995: add
+ IL_22996: stloc V_11
+ IL_2299a: ldloc V_11
+ IL_2299e: ldc.i8 0x1
+ IL_229a7: blt IL_2293b
+
+ IL_229ac: nop
+ IL_229ad: ldloc V_10
+ IL_229b1: ldc.i8 0x1
+ IL_229ba: add
+ IL_229bb: stloc V_10
+ IL_229bf: ldloc V_10
+ IL_229c3: ldc.i8 0x0
+ IL_229cc: blt IL_22884
+
+ IL_229d1: br IL_229e3
+
+ IL_229d6: ldloc V_16
+ IL_229da: ldloc V_24
+ IL_229de: add
+ IL_229df: stloc V_16
+ IL_229e3: ldc.i8 0x0
+ IL_229ec: stloc V_10
+ IL_229f0: ldloc V_44
+ IL_229f4: ldloc V_40
+ IL_229f8: add
+ IL_229f9: stloc V_44
+ IL_229fd: ldloc V_10
+ IL_22a01: ldc.i8 0x1
+ IL_22a0a: add
+ IL_22a0b: stloc V_10
+ IL_22a0f: ldloc V_10
+ IL_22a13: ldc.i8 0x2
+ IL_22a1c: blt IL_229f0
+
+ IL_22a21: br IL_22a2e
+
+ IL_22a26: ldloc V_33
+ IL_22a2a: stloc V_31
+ IL_22a2e: ldloc V_13
+ IL_22a32: ldloc V_26
+ IL_22a36: add
+ IL_22a37: stloc V_13
+ IL_22a3b: ldc.i8 0x0
+ IL_22a44: stloc V_9
+ IL_22a48: nop
+ IL_22a49: ldloc V_9
+ IL_22a4d: ldc.i8 0x1
+ IL_22a56: add
+ IL_22a57: stloc V_9
+ IL_22a5b: ldloc V_9
+ IL_22a5f: ldc.i8 0x0
+ IL_22a68: blt IL_22a48
+
+ IL_22a6d: br IL_22b22
+
+ IL_22a72: br IL_22a78
+
+ IL_22a77: nop
+ IL_22a78: br IL_22b1a
+
+ IL_22a7d: ldc.i8 0x0
+ IL_22a86: stloc V_11
+ IL_22a8a: ldloc V_30
+ IL_22a8e: ldc.i8 0x0
+ IL_22a97: add
+ IL_22a98: stloc V_14
+ IL_22a9c: ldloc V_11
+ IL_22aa0: ldc.i8 0x1
+ IL_22aa9: add
+ IL_22aaa: stloc V_11
+ IL_22aae: ldloc V_11
+ IL_22ab2: ldc.i8 0x2
+ IL_22abb: blt IL_22a8a
+
+ IL_22ac0: br IL_22b03
+
+ IL_22ac5: ldc.i8 0x0
+ IL_22ace: stloc V_12
+ IL_22ad2: ldloc V_12
+ IL_22ad6: ldc.i8 0x1
+ IL_22adf: add
+ IL_22ae0: stloc V_12
+ IL_22ae4: ldloc V_12
+ IL_22ae8: ldc.i8 0x1
+ IL_22af1: blt IL_22ad2
+
+ IL_22af6: br IL_22afb
+
+ IL_22afb: ldloc V_27
+ IL_22aff: stloc V_14
+ IL_22b03: ldloc V_25
+ IL_22b07: ldloc V_49
+ IL_22b0b: add
+ IL_22b0c: ldc.i8 0x2
+ IL_22b15: add
+ IL_22b16: stloc V_25
+ IL_22b1a: ldloc V_49
+ IL_22b1e: stloc V_41
+ IL_22b22: ldloc V_38
+ IL_22b26: stloc V_43
+ IL_22b2a: ldc.i8 0x0
+ IL_22b33: stloc V_8
+ IL_22b37: ldc.i8 0x0
+ IL_22b40: stloc V_9
+ IL_22b44: br IL_22c27
+
+ IL_22b49: ldc.i8 0x0
+ IL_22b52: stloc V_11
+ IL_22b56: ldc.i8 0x0
+ IL_22b5f: stloc V_12
+ IL_22b63: ldloc V_12
+ IL_22b67: ldc.i8 0x1
+ IL_22b70: add
+ IL_22b71: stloc V_12
+ IL_22b75: ldloc V_12
+ IL_22b79: ldc.i8 0x1
+ IL_22b82: blt IL_22b63
+
+ IL_22b87: ldc.i8 0x0
+ IL_22b90: stloc V_12
+ IL_22b94: ldloc V_12
+ IL_22b98: ldc.i8 0x1
+ IL_22ba1: add
+ IL_22ba2: stloc V_12
+ IL_22ba6: ldloc V_12
+ IL_22baa: ldc.i8 0x2
+ IL_22bb3: blt IL_22b94
+
+ IL_22bb8: ldc.i8 0x0
+ IL_22bc1: stloc V_12
+ IL_22bc5: ldloc V_12
+ IL_22bc9: ldc.i8 0x1
+ IL_22bd2: add
+ IL_22bd3: stloc V_12
+ IL_22bd7: ldloc V_12
+ IL_22bdb: ldc.i8 0x0
+ IL_22be4: blt IL_22bc5
+
+ IL_22be9: br IL_22bee
+
+ IL_22bee: ldc.i8 0x3
+ IL_22bf7: stloc V_29
+ IL_22bfb: ldloc V_11
+ IL_22bff: ldc.i8 0x1
+ IL_22c08: add
+ IL_22c09: stloc V_11
+ IL_22c0d: ldloc V_11
+ IL_22c11: ldc.i8 0x0
+ IL_22c1a: blt IL_22b56
+
+ IL_22c1f: ldloc V_33
+ IL_22c23: stloc V_25
+ IL_22c27: nop
+ IL_22c28: ldloc V_9
+ IL_22c2c: ldc.i8 0x1
+ IL_22c35: add
+ IL_22c36: stloc V_9
+ IL_22c3a: ldloc V_9
+ IL_22c3e: ldc.i8 0x2
+ IL_22c47: blt IL_22b44
+
+ IL_22c4c: br IL_22f48
+
+ IL_22c51: ldc.i8 0x0
+ IL_22c5a: stloc V_10
+ IL_22c5e: ldc.i8 0x0
+ IL_22c67: stloc V_11
+ IL_22c6b: ldc.i8 0x0
+ IL_22c74: stloc V_12
+ IL_22c78: ldloc V_12
+ IL_22c7c: ldc.i8 0x1
+ IL_22c85: add
+ IL_22c86: stloc V_12
+ IL_22c8a: ldloc V_12
+ IL_22c8e: ldc.i8 0x1
+ IL_22c97: blt IL_22c78
+
+ IL_22c9c: ldc.i8 0x0
+ IL_22ca5: stloc V_12
+ IL_22ca9: ldloc V_12
+ IL_22cad: ldc.i8 0x1
+ IL_22cb6: add
+ IL_22cb7: stloc V_12
+ IL_22cbb: ldloc V_12
+ IL_22cbf: ldc.i8 0x2
+ IL_22cc8: blt IL_22ca9
+
+ IL_22ccd: br IL_22cd2
+
+ IL_22cd2: nop
+ IL_22cd3: ldloc V_11
+ IL_22cd7: ldc.i8 0x1
+ IL_22ce0: add
+ IL_22ce1: stloc V_11
+ IL_22ce5: ldloc V_11
+ IL_22ce9: ldc.i8 0x0
+ IL_22cf2: blt IL_22c6b
+
+ IL_22cf7: br IL_22d0e
+
+ IL_22cfc: ldloc V_46
+ IL_22d00: ldc.i8 0x8
+ IL_22d09: add
+ IL_22d0a: stloc V_44
+ IL_22d0e: br IL_22db3
+
+ IL_22d13: ldc.i8 0x0
+ IL_22d1c: stloc V_12
+ IL_22d20: ldloc V_12
+ IL_22d24: ldc.i8 0x1
+ IL_22d2d: add
+ IL_22d2e: stloc V_12
+ IL_22d32: ldloc V_12
+ IL_22d36: ldc.i8 0x2
+ IL_22d3f: blt IL_22d20
+
+ IL_22d44: ldc.i8 0x0
+ IL_22d4d: stloc V_12
+ IL_22d51: ldloc V_12
+ IL_22d55: ldc.i8 0x1
+ IL_22d5e: add
+ IL_22d5f: stloc V_12
+ IL_22d63: ldloc V_12
+ IL_22d67: ldc.i8 0x0
+ IL_22d70: blt IL_22d51
+
+ IL_22d75: ldc.i8 0x0
+ IL_22d7e: stloc V_12
+ IL_22d82: ldloc V_12
+ IL_22d86: ldc.i8 0x1
+ IL_22d8f: add
+ IL_22d90: stloc V_12
+ IL_22d94: ldloc V_12
+ IL_22d98: ldc.i8 0x2
+ IL_22da1: blt IL_22d82
+
+ IL_22da6: ldloc V_32
+ IL_22daa: ldloc V_6
+ IL_22dae: add
+ IL_22daf: stloc V_32
+ IL_22db3: ldloc V_44
+ IL_22db7: ldc.i8 0x7
+ IL_22dc0: add
+ IL_22dc1: stloc V_42
+ IL_22dc5: ldloc V_10
+ IL_22dc9: ldc.i8 0x1
+ IL_22dd2: add
+ IL_22dd3: stloc V_10
+ IL_22dd7: ldloc V_10
+ IL_22ddb: ldc.i8 0x1
+ IL_22de4: blt IL_22c5e
+
+ IL_22de9: ldc.i8 0x0
+ IL_22df2: stloc V_10
+ IL_22df6: ldc.i8 0x0
+ IL_22dff: stloc V_11
+ IL_22e03: ldc.i8 0x0
+ IL_22e0c: stloc V_12
+ IL_22e10: ldloc V_12
+ IL_22e14: ldc.i8 0x1
+ IL_22e1d: add
+ IL_22e1e: stloc V_12
+ IL_22e22: ldloc V_12
+ IL_22e26: ldc.i8 0x1
+ IL_22e2f: blt IL_22e10
+
+ IL_22e34: br IL_22e39
+
+ IL_22e39: ldloc V_0
+ IL_22e3d: ldloc V_15
+ IL_22e41: add
+ IL_22e42: stloc V_39
+ IL_22e46: ldloc V_11
+ IL_22e4a: ldc.i8 0x1
+ IL_22e53: add
+ IL_22e54: stloc V_11
+ IL_22e58: ldloc V_11
+ IL_22e5c: ldc.i8 0x0
+ IL_22e65: blt IL_22e03
+
+ IL_22e6a: ldc.i8 0x0
+ IL_22e73: stloc V_11
+ IL_22e77: ldc.i8 0x0
+ IL_22e80: stloc V_12
+ IL_22e84: ldloc V_12
+ IL_22e88: ldc.i8 0x1
+ IL_22e91: add
+ IL_22e92: stloc V_12
+ IL_22e96: ldloc V_12
+ IL_22e9a: ldc.i8 0x1
+ IL_22ea3: blt IL_22e84
+
+ IL_22ea8: ldc.i8 0x0
+ IL_22eb1: stloc V_12
+ IL_22eb5: ldloc V_12
+ IL_22eb9: ldc.i8 0x1
+ IL_22ec2: add
+ IL_22ec3: stloc V_12
+ IL_22ec7: ldloc V_12
+ IL_22ecb: ldc.i8 0x1
+ IL_22ed4: blt IL_22eb5
+
+ IL_22ed9: br IL_22ede
+
+ IL_22ede: ldloc V_26
+ IL_22ee2: stloc V_43
+ IL_22ee6: ldloc V_11
+ IL_22eea: ldc.i8 0x1
+ IL_22ef3: add
+ IL_22ef4: stloc V_11
+ IL_22ef8: ldloc V_11
+ IL_22efc: ldc.i8 0x0
+ IL_22f05: blt IL_22e77
+
+ IL_22f0a: ldloc V_17
+ IL_22f0e: ldloc V_45
+ IL_22f12: add
+ IL_22f13: stloc V_17
+ IL_22f17: ldloc V_10
+ IL_22f1b: ldc.i8 0x1
+ IL_22f24: add
+ IL_22f25: stloc V_10
+ IL_22f29: ldloc V_10
+ IL_22f2d: ldc.i8 0x1
+ IL_22f36: blt IL_22df6
+
+ IL_22f3b: ldloc V_25
+ IL_22f3f: ldloc V_24
+ IL_22f43: add
+ IL_22f44: stloc V_23
+ IL_22f48: ldc.i8 0x0
+ IL_22f51: stloc V_9
+ IL_22f55: ldc.i8 0x0
+ IL_22f5e: stloc V_10
+ IL_22f62: br IL_22fa5
+
+ IL_22f67: ldc.i8 0x0
+ IL_22f70: stloc V_12
+ IL_22f74: ldloc V_12
+ IL_22f78: ldc.i8 0x1
+ IL_22f81: add
+ IL_22f82: stloc V_12
+ IL_22f86: ldloc V_12
+ IL_22f8a: ldc.i8 0x1
+ IL_22f93: blt IL_22f74
+
+ IL_22f98: ldc.i8 0x0
+ IL_22fa1: stloc V_48
+ IL_22fa5: ldc.i8 0x0
+ IL_22fae: stloc V_11
+ IL_22fb2: ldc.i8 0x0
+ IL_22fbb: stloc V_12
+ IL_22fbf: ldloc V_12
+ IL_22fc3: ldc.i8 0x1
+ IL_22fcc: add
+ IL_22fcd: stloc V_12
+ IL_22fd1: ldloc V_12
+ IL_22fd5: ldc.i8 0x1
+ IL_22fde: blt IL_22fbf
+
+ IL_22fe3: ldc.i8 0x0
+ IL_22fec: stloc V_12
+ IL_22ff0: ldloc V_12
+ IL_22ff4: ldc.i8 0x1
+ IL_22ffd: add
+ IL_22ffe: stloc V_12
+ IL_23002: ldloc V_12
+ IL_23006: ldc.i8 0x2
+ IL_2300f: blt IL_22ff0
+
+ IL_23014: ldc.i8 0x0
+ IL_2301d: stloc V_12
+ IL_23021: ldloc V_12
+ IL_23025: ldc.i8 0x1
+ IL_2302e: add
+ IL_2302f: stloc V_12
+ IL_23033: ldloc V_12
+ IL_23037: ldc.i8 0x1
+ IL_23040: blt IL_23021
+
+ IL_23045: ldloc V_23
+ IL_23049: stloc V_32
+ IL_2304d: ldloc V_11
+ IL_23051: ldc.i8 0x1
+ IL_2305a: add
+ IL_2305b: stloc V_11
+ IL_2305f: ldloc V_11
+ IL_23063: ldc.i8 0x2
+ IL_2306c: blt IL_22fb2
+
+ IL_23071: ldloc V_25
+ IL_23075: stloc V_45
+ IL_23079: ldloc V_10
+ IL_2307d: ldc.i8 0x1
+ IL_23086: add
+ IL_23087: stloc V_10
+ IL_2308b: ldloc V_10
+ IL_2308f: ldc.i8 0x0
+ IL_23098: blt IL_22f62
+
+ IL_2309d: ldc.i8 0x0
+ IL_230a6: stloc V_10
+ IL_230aa: ldloc V_8
+ IL_230ae: ldloc V_28
+ IL_230b2: add
+ IL_230b3: stloc V_44
+ IL_230b7: ldloc V_10
+ IL_230bb: ldc.i8 0x1
+ IL_230c4: add
+ IL_230c5: stloc V_10
+ IL_230c9: ldloc V_10
+ IL_230cd: ldc.i8 0x2
+ IL_230d6: blt IL_230aa
+
+ IL_230db: ldc.i8 0x0
+ IL_230e4: stloc V_10
+ IL_230e8: nop
+ IL_230e9: ldloc V_10
+ IL_230ed: ldc.i8 0x1
+ IL_230f6: add
+ IL_230f7: stloc V_10
+ IL_230fb: ldloc V_10
+ IL_230ff: ldc.i8 0x1
+ IL_23108: blt IL_230e8
+
+ IL_2310d: ldc.i8 0x0
+ IL_23116: stloc V_10
+ IL_2311a: ldc.i8 0x0
+ IL_23123: stloc V_11
+ IL_23127: ldc.i8 0x0
+ IL_23130: stloc V_12
+ IL_23134: ldloc V_12
+ IL_23138: ldc.i8 0x1
+ IL_23141: add
+ IL_23142: stloc V_12
+ IL_23146: ldloc V_12
+ IL_2314a: ldc.i8 0x0
+ IL_23153: blt IL_23134
+
+ IL_23158: ldc.i8 0x0
+ IL_23161: stloc V_12
+ IL_23165: ldloc V_12
+ IL_23169: ldc.i8 0x1
+ IL_23172: add
+ IL_23173: stloc V_12
+ IL_23177: ldloc V_12
+ IL_2317b: ldc.i8 0x1
+ IL_23184: blt IL_23165
+
+ IL_23189: ldc.i8 0x0
+ IL_23192: stloc V_12
+ IL_23196: ldloc V_12
+ IL_2319a: ldc.i8 0x1
+ IL_231a3: add
+ IL_231a4: stloc V_12
+ IL_231a8: ldloc V_12
+ IL_231ac: ldc.i8 0x2
+ IL_231b5: blt IL_23196
+
+ IL_231ba: br IL_231bf
+
+ IL_231bf: nop
+ IL_231c0: ldloc V_11
+ IL_231c4: ldc.i8 0x1
+ IL_231cd: add
+ IL_231ce: stloc V_11
+ IL_231d2: ldloc V_11
+ IL_231d6: ldc.i8 0x0
+ IL_231df: blt IL_23127
+
+ IL_231e4: ldc.i8 0x0
+ IL_231ed: stloc V_11
+ IL_231f1: br IL_231f6
+
+ IL_231f6: ldc.i8 0x5
+ IL_231ff: stloc V_19
+ IL_23203: ldloc V_11
+ IL_23207: ldc.i8 0x1
+ IL_23210: add
+ IL_23211: stloc V_11
+ IL_23215: ldloc V_11
+ IL_23219: ldc.i8 0x2
+ IL_23222: blt IL_231f1
+
+ IL_23227: ldloc V_12
+ IL_2322b: ldloc V_38
+ IL_2322f: add
+ IL_23230: stloc V_12
+ IL_23234: ldloc V_10
+ IL_23238: ldc.i8 0x1
+ IL_23241: add
+ IL_23242: stloc V_10
+ IL_23246: ldloc V_10
+ IL_2324a: ldc.i8 0x1
+ IL_23253: blt IL_2311a
+
+ IL_23258: ldc.i8 0x1
+ IL_23261: stloc V_39
+ IL_23265: ldloc V_9
+ IL_23269: ldc.i8 0x1
+ IL_23272: add
+ IL_23273: stloc V_9
+ IL_23277: ldloc V_9
+ IL_2327b: ldc.i8 0x1
+ IL_23284: blt IL_22f55
+
+ IL_23289: ldloc V_22
+ IL_2328d: stloc V_15
+ IL_23291: ldloc V_8
+ IL_23295: ldc.i8 0x1
+ IL_2329e: add
+ IL_2329f: stloc V_8
+ IL_232a3: ldloc V_8
+ IL_232a7: ldc.i8 0x1
+ IL_232b0: blt IL_22b37
+
+ IL_232b5: ldloc V_29
+ IL_232b9: ldloc V_5
+ IL_232bd: add
+ IL_232be: stloc V_29
+ IL_232c2: ldloc V_7
+ IL_232c6: ldc.i8 0x1
+ IL_232cf: add
+ IL_232d0: stloc V_7
+ IL_232d4: ldloc V_7
+ IL_232d8: ldc.i8 0x0
+ IL_232e1: blt IL_226b1
+
+ IL_232e6: ldc.i8 0x0
+ IL_232ef: stloc V_7
+ IL_232f3: ldc.i8 0x0
+ IL_232fc: stloc V_8
+ IL_23300: br IL_237d3
+
+ IL_23305: ldc.i8 0x0
+ IL_2330e: stloc V_10
+ IL_23312: br IL_23324
+
+ IL_23317: ldloc V_48
+ IL_2331b: ldloc V_9
+ IL_2331f: add
+ IL_23320: stloc V_48
+ IL_23324: br IL_2336c
+
+ IL_23329: ldc.i8 0x0
+ IL_23332: stloc V_12
+ IL_23336: ldloc V_12
+ IL_2333a: ldc.i8 0x1
+ IL_23343: add
+ IL_23344: stloc V_12
+ IL_23348: ldloc V_12
+ IL_2334c: ldc.i8 0x1
+ IL_23355: blt IL_23336
+
+ IL_2335a: ldloc V_38
+ IL_2335e: ldc.i8 0x9
+ IL_23367: add
+ IL_23368: stloc V_47
+ IL_2336c: br IL_233ea
+
+ IL_23371: br IL_23376
+
+ IL_23376: ldc.i8 0x0
+ IL_2337f: stloc V_12
+ IL_23383: ldloc V_12
+ IL_23387: ldc.i8 0x1
+ IL_23390: add
+ IL_23391: stloc V_12
+ IL_23395: ldloc V_12
+ IL_23399: ldc.i8 0x1
+ IL_233a2: blt IL_23383
+
+ IL_233a7: ldc.i8 0x0
+ IL_233b0: stloc V_12
+ IL_233b4: ldloc V_12
+ IL_233b8: ldc.i8 0x1
+ IL_233c1: add
+ IL_233c2: stloc V_12
+ IL_233c6: ldloc V_12
+ IL_233ca: ldc.i8 0x2
+ IL_233d3: blt IL_233b4
+
+ IL_233d8: ldloc V_2
+ IL_233dc: ldc.i8 0x4
+ IL_233e5: add
+ IL_233e6: stloc V_27
+ IL_233ea: ldc.i8 0x0
+ IL_233f3: stloc V_11
+ IL_233f7: br IL_233fc
+
+ IL_233fc: br IL_23401
+
+ IL_23401: ldc.i8 0x0
+ IL_2340a: stloc V_12
+ IL_2340e: ldloc V_12
+ IL_23412: ldc.i8 0x1
+ IL_2341b: add
+ IL_2341c: stloc V_12
+ IL_23420: ldloc V_12
+ IL_23424: ldc.i8 0x0
+ IL_2342d: blt IL_2340e
+
+ IL_23432: br IL_23437
+
+ IL_23437: ldloc V_0
+ IL_2343b: ldc.i8 0x4
+ IL_23444: add
+ IL_23445: stloc V_24
+ IL_23449: ldloc V_11
+ IL_2344d: ldc.i8 0x1
+ IL_23456: add
+ IL_23457: stloc V_11
+ IL_2345b: ldloc V_11
+ IL_2345f: ldc.i8 0x2
+ IL_23468: blt IL_233f7
+
+ IL_2346d: nop
+ IL_2346e: ldloc V_10
+ IL_23472: ldc.i8 0x1
+ IL_2347b: add
+ IL_2347c: stloc V_10
+ IL_23480: ldloc V_10
+ IL_23484: ldc.i8 0x0
+ IL_2348d: blt IL_23312
+
+ IL_23492: ldc.i8 0x0
+ IL_2349b: stloc V_10
+ IL_2349f: br IL_23518
+
+ IL_234a4: ldc.i8 0x0
+ IL_234ad: stloc V_12
+ IL_234b1: ldloc V_12
+ IL_234b5: ldc.i8 0x1
+ IL_234be: add
+ IL_234bf: stloc V_12
+ IL_234c3: ldloc V_12
+ IL_234c7: ldc.i8 0x0
+ IL_234d0: blt IL_234b1
+
+ IL_234d5: br IL_234da
+
+ IL_234da: ldc.i8 0x0
+ IL_234e3: stloc V_12
+ IL_234e7: ldloc V_12
+ IL_234eb: ldc.i8 0x1
+ IL_234f4: add
+ IL_234f5: stloc V_12
+ IL_234f9: ldloc V_12
+ IL_234fd: ldc.i8 0x0
+ IL_23506: blt IL_234e7
+
+ IL_2350b: ldloc V_44
+ IL_2350f: ldloc V_0
+ IL_23513: add
+ IL_23514: stloc V_44
+ IL_23518: ldloc V_19
+ IL_2351c: ldloc V_42
+ IL_23520: add
+ IL_23521: stloc V_19
+ IL_23525: ldloc V_10
+ IL_23529: ldc.i8 0x1
+ IL_23532: add
+ IL_23533: stloc V_10
+ IL_23537: ldloc V_10
+ IL_2353b: ldc.i8 0x1
+ IL_23544: blt IL_2349f
+
+ IL_23549: ldc.i8 0x0
+ IL_23552: stloc V_10
+ IL_23556: ldloc V_13
+ IL_2355a: ldloc V_39
+ IL_2355e: add
+ IL_2355f: ldc.i8 0x1
+ IL_23568: add
+ IL_23569: stloc V_13
+ IL_2356d: ldloc V_10
+ IL_23571: ldc.i8 0x1
+ IL_2357a: add
+ IL_2357b: stloc V_10
+ IL_2357f: ldloc V_10
+ IL_23583: ldc.i8 0x0
+ IL_2358c: blt IL_23556
+
+ IL_23591: ldc.i8 0x0
+ IL_2359a: stloc V_10
+ IL_2359e: ldc.i8 0x0
+ IL_235a7: stloc V_11
+ IL_235ab: ldc.i8 0x0
+ IL_235b4: stloc V_12
+ IL_235b8: ldloc V_12
+ IL_235bc: ldc.i8 0x1
+ IL_235c5: add
+ IL_235c6: stloc V_12
+ IL_235ca: ldloc V_12
+ IL_235ce: ldc.i8 0x1
+ IL_235d7: blt IL_235b8
+
+ IL_235dc: ldc.i8 0x0
+ IL_235e5: stloc V_12
+ IL_235e9: ldloc V_12
+ IL_235ed: ldc.i8 0x1
+ IL_235f6: add
+ IL_235f7: stloc V_12
+ IL_235fb: ldloc V_12
+ IL_235ff: ldc.i8 0x0
+ IL_23608: blt IL_235e9
+
+ IL_2360d: br IL_23612
+
+ IL_23612: ldc.i8 0x0
+ IL_2361b: stloc V_12
+ IL_2361f: ldloc V_12
+ IL_23623: ldc.i8 0x1
+ IL_2362c: add
+ IL_2362d: stloc V_12
+ IL_23631: ldloc V_12
+ IL_23635: ldc.i8 0x1
+ IL_2363e: blt IL_2361f
+
+ IL_23643: ldloc V_46
+ IL_23647: ldloc V_3
+ IL_2364b: add
+ IL_2364c: ldc.i8 0x8
+ IL_23655: add
+ IL_23656: stloc V_46
+ IL_2365a: ldloc V_11
+ IL_2365e: ldc.i8 0x1
+ IL_23667: add
+ IL_23668: stloc V_11
+ IL_2366c: ldloc V_11
+ IL_23670: ldc.i8 0x2
+ IL_23679: blt IL_235ab
+
+ IL_2367e: br IL_236c1
+
+ IL_23683: ldc.i8 0x0
+ IL_2368c: stloc V_12
+ IL_23690: ldloc V_12
+ IL_23694: ldc.i8 0x1
+ IL_2369d: add
+ IL_2369e: stloc V_12
+ IL_236a2: ldloc V_12
+ IL_236a6: ldc.i8 0x1
+ IL_236af: blt IL_23690
+
+ IL_236b4: ldc.i8 0x4
+ IL_236bd: stloc V_19
+ IL_236c1: br IL_237a1
+
+ IL_236c6: ldc.i8 0x0
+ IL_236cf: stloc V_12
+ IL_236d3: ldloc V_12
+ IL_236d7: ldc.i8 0x1
+ IL_236e0: add
+ IL_236e1: stloc V_12
+ IL_236e5: ldloc V_12
+ IL_236e9: ldc.i8 0x1
+ IL_236f2: blt IL_236d3
+
+ IL_236f7: ldc.i8 0x0
+ IL_23700: stloc V_12
+ IL_23704: ldloc V_12
+ IL_23708: ldc.i8 0x1
+ IL_23711: add
+ IL_23712: stloc V_12
+ IL_23716: ldloc V_12
+ IL_2371a: ldc.i8 0x0
+ IL_23723: blt IL_23704
+
+ IL_23728: ldc.i8 0x0
+ IL_23731: stloc V_12
+ IL_23735: ldloc V_12
+ IL_23739: ldc.i8 0x1
+ IL_23742: add
+ IL_23743: stloc V_12
+ IL_23747: ldloc V_12
+ IL_2374b: ldc.i8 0x0
+ IL_23754: blt IL_23735
+
+ IL_23759: ldc.i8 0x0
+ IL_23762: stloc V_12
+ IL_23766: ldloc V_12
+ IL_2376a: ldc.i8 0x1
+ IL_23773: add
+ IL_23774: stloc V_12
+ IL_23778: ldloc V_12
+ IL_2377c: ldc.i8 0x0
+ IL_23785: blt IL_23766
+
+ IL_2378a: ldloc V_17
+ IL_2378e: ldloc V_41
+ IL_23792: add
+ IL_23793: ldc.i8 0x4
+ IL_2379c: add
+ IL_2379d: stloc V_17
+ IL_237a1: ldloc V_27
+ IL_237a5: ldloc V_10
+ IL_237a9: add
+ IL_237aa: stloc V_27
+ IL_237ae: ldloc V_10
+ IL_237b2: ldc.i8 0x1
+ IL_237bb: add
+ IL_237bc: stloc V_10
+ IL_237c0: ldloc V_10
+ IL_237c4: ldc.i8 0x2
+ IL_237cd: blt IL_2359e
+
+ IL_237d2: nop
+ IL_237d3: ldc.i8 0x0
+ IL_237dc: stloc V_9
+ IL_237e0: br IL_23910
+
+ IL_237e5: ldc.i8 0x0
+ IL_237ee: stloc V_11
+ IL_237f2: ldloc V_48
+ IL_237f6: ldloc V_29
+ IL_237fa: add
+ IL_237fb: ldc.i8 0x4
+ IL_23804: add
+ IL_23805: stloc V_48
+ IL_23809: ldloc V_11
+ IL_2380d: ldc.i8 0x1
+ IL_23816: add
+ IL_23817: stloc V_11
+ IL_2381b: ldloc V_11
+ IL_2381f: ldc.i8 0x0
+ IL_23828: blt IL_237f2
+
+ IL_2382d: ldc.i8 0x0
+ IL_23836: stloc V_11
+ IL_2383a: ldc.i8 0x0
+ IL_23843: stloc V_12
+ IL_23847: ldloc V_12
+ IL_2384b: ldc.i8 0x1
+ IL_23854: add
+ IL_23855: stloc V_12
+ IL_23859: ldloc V_12
+ IL_2385d: ldc.i8 0x1
+ IL_23866: blt IL_23847
+
+ IL_2386b: br IL_23870
+
+ IL_23870: ldc.i8 0x0
+ IL_23879: stloc V_12
+ IL_2387d: ldloc V_12
+ IL_23881: ldc.i8 0x1
+ IL_2388a: add
+ IL_2388b: stloc V_12
+ IL_2388f: ldloc V_12
+ IL_23893: ldc.i8 0x0
+ IL_2389c: blt IL_2387d
+
+ IL_238a1: ldc.i8 0x0
+ IL_238aa: stloc V_12
+ IL_238ae: ldloc V_12
+ IL_238b2: ldc.i8 0x1
+ IL_238bb: add
+ IL_238bc: stloc V_12
+ IL_238c0: ldloc V_12
+ IL_238c4: ldc.i8 0x2
+ IL_238cd: blt IL_238ae
+
+ IL_238d2: ldloc V_15
+ IL_238d6: stloc V_24
+ IL_238da: ldloc V_11
+ IL_238de: ldc.i8 0x1
+ IL_238e7: add
+ IL_238e8: stloc V_11
+ IL_238ec: ldloc V_11
+ IL_238f0: ldc.i8 0x0
+ IL_238f9: blt IL_2383a
+
+ IL_238fe: ldloc V_33
+ IL_23902: ldc.i8 0x4
+ IL_2390b: add
+ IL_2390c: stloc V_41
+ IL_23910: ldloc V_13
+ IL_23914: stloc V_30
+ IL_23918: ldloc V_9
+ IL_2391c: ldc.i8 0x1
+ IL_23925: add
+ IL_23926: stloc V_9
+ IL_2392a: ldloc V_9
+ IL_2392e: ldc.i8 0x2
+ IL_23937: blt IL_237e0
+
+ IL_2393c: ldc.i8 0x0
+ IL_23945: stloc V_9
+ IL_23949: ldloc V_45
+ IL_2394d: ldloc V_40
+ IL_23951: add
+ IL_23952: stloc V_45
+ IL_23956: ldloc V_9
+ IL_2395a: ldc.i8 0x1
+ IL_23963: add
+ IL_23964: stloc V_9
+ IL_23968: ldloc V_9
+ IL_2396c: ldc.i8 0x2
+ IL_23975: blt IL_23949
+
+ IL_2397a: ldloc V_14
+ IL_2397e: ldloc V_3
+ IL_23982: add
+ IL_23983: stloc V_14
+ IL_23987: ldloc V_8
+ IL_2398b: ldc.i8 0x1
+ IL_23994: add
+ IL_23995: stloc V_8
+ IL_23999: ldloc V_8
+ IL_2399d: ldc.i8 0x2
+ IL_239a6: blt IL_23300
+
+ IL_239ab: br IL_239b8
+
+ IL_239b0: ldloc V_3
+ IL_239b4: stloc V_45
+ IL_239b8: ldloc V_10
+ IL_239bc: stloc V_44
+ IL_239c0: ldloc V_7
+ IL_239c4: ldc.i8 0x1
+ IL_239cd: add
+ IL_239ce: stloc V_7
+ IL_239d2: ldloc V_7
+ IL_239d6: ldc.i8 0x0
+ IL_239df: blt IL_232f3
+
+ IL_239e4: br IL_24604
+
+ IL_239e9: ldc.i8 0x0
+ IL_239f2: stloc V_8
+ IL_239f6: ldc.i8 0x0
+ IL_239ff: stloc V_9
+ IL_23a03: br IL_23a1f
+
+ IL_23a08: ldloc V_12
+ IL_23a0c: ldloc V_26
+ IL_23a10: add
+ IL_23a11: ldc.i8 0x0
+ IL_23a1a: add
+ IL_23a1b: stloc V_12
+ IL_23a1f: br IL_23b1e
+
+ IL_23a24: br IL_23aa2
+
+ IL_23a29: br IL_23a2e
+
+ IL_23a2e: ldc.i8 0x0
+ IL_23a37: stloc V_12
+ IL_23a3b: ldloc V_12
+ IL_23a3f: ldc.i8 0x1
+ IL_23a48: add
+ IL_23a49: stloc V_12
+ IL_23a4d: ldloc V_12
+ IL_23a51: ldc.i8 0x0
+ IL_23a5a: blt IL_23a3b
+
+ IL_23a5f: ldc.i8 0x0
+ IL_23a68: stloc V_12
+ IL_23a6c: ldloc V_12
+ IL_23a70: ldc.i8 0x1
+ IL_23a79: add
+ IL_23a7a: stloc V_12
+ IL_23a7e: ldloc V_12
+ IL_23a82: ldc.i8 0x2
+ IL_23a8b: blt IL_23a6c
+
+ IL_23a90: ldloc V_39
+ IL_23a94: ldc.i8 0x3
+ IL_23a9d: add
+ IL_23a9e: stloc V_31
+ IL_23aa2: ldc.i8 0x0
+ IL_23aab: stloc V_11
+ IL_23aaf: ldc.i8 0x0
+ IL_23ab8: stloc V_12
+ IL_23abc: ldloc V_12
+ IL_23ac0: ldc.i8 0x1
+ IL_23ac9: add
+ IL_23aca: stloc V_12
+ IL_23ace: ldloc V_12
+ IL_23ad2: ldc.i8 0x2
+ IL_23adb: blt IL_23abc
+
+ IL_23ae0: br IL_23ae5
+
+ IL_23ae5: ldloc V_29
+ IL_23ae9: stloc V_30
+ IL_23aed: ldloc V_11
+ IL_23af1: ldc.i8 0x1
+ IL_23afa: add
+ IL_23afb: stloc V_11
+ IL_23aff: ldloc V_11
+ IL_23b03: ldc.i8 0x2
+ IL_23b0c: blt IL_23aaf
+
+ IL_23b11: ldloc V_49
+ IL_23b15: ldloc V_20
+ IL_23b19: add
+ IL_23b1a: stloc V_49
+ IL_23b1e: br IL_23b24
+
+ IL_23b23: nop
+ IL_23b24: ldc.i8 0x0
+ IL_23b2d: stloc V_10
+ IL_23b31: ldloc V_45
+ IL_23b35: ldloc V_6
+ IL_23b39: add
+ IL_23b3a: ldc.i8 0x6
+ IL_23b43: add
+ IL_23b44: stloc V_45
+ IL_23b48: ldloc V_10
+ IL_23b4c: ldc.i8 0x1
+ IL_23b55: add
+ IL_23b56: stloc V_10
+ IL_23b5a: ldloc V_10
+ IL_23b5e: ldc.i8 0x0
+ IL_23b67: blt IL_23b31
+
+ IL_23b6c: ldloc V_28
+ IL_23b70: ldloc V_40
+ IL_23b74: add
+ IL_23b75: ldc.i8 0x6
+ IL_23b7e: add
+ IL_23b7f: stloc V_28
+ IL_23b83: ldloc V_9
+ IL_23b87: ldc.i8 0x1
+ IL_23b90: add
+ IL_23b91: stloc V_9
+ IL_23b95: ldloc V_9
+ IL_23b99: ldc.i8 0x0
+ IL_23ba2: blt IL_23a03
+
+ IL_23ba7: ldloc V_47
+ IL_23bab: ldloc V_1
+ IL_23baf: add
+ IL_23bb0: stloc V_47
+ IL_23bb4: ldloc V_8
+ IL_23bb8: ldc.i8 0x1
+ IL_23bc1: add
+ IL_23bc2: stloc V_8
+ IL_23bc6: ldloc V_8
+ IL_23bca: ldc.i8 0x0
+ IL_23bd3: blt IL_239f6
+
+ IL_23bd8: ldc.i8 0x0
+ IL_23be1: stloc V_8
+ IL_23be5: ldc.i8 0x0
+ IL_23bee: stloc V_9
+ IL_23bf2: ldc.i8 0x0
+ IL_23bfb: stloc V_10
+ IL_23bff: ldc.i8 0x0
+ IL_23c08: stloc V_11
+ IL_23c0c: ldc.i8 0x0
+ IL_23c15: stloc V_12
+ IL_23c19: ldloc V_12
+ IL_23c1d: ldc.i8 0x1
+ IL_23c26: add
+ IL_23c27: stloc V_12
+ IL_23c2b: ldloc V_12
+ IL_23c2f: ldc.i8 0x1
+ IL_23c38: blt IL_23c19
+
+ IL_23c3d: ldc.i8 0x0
+ IL_23c46: stloc V_12
+ IL_23c4a: ldloc V_12
+ IL_23c4e: ldc.i8 0x1
+ IL_23c57: add
+ IL_23c58: stloc V_12
+ IL_23c5c: ldloc V_12
+ IL_23c60: ldc.i8 0x0
+ IL_23c69: blt IL_23c4a
+
+ IL_23c6e: ldloc V_27
+ IL_23c72: stloc V_30
+ IL_23c76: ldloc V_11
+ IL_23c7a: ldc.i8 0x1
+ IL_23c83: add
+ IL_23c84: stloc V_11
+ IL_23c88: ldloc V_11
+ IL_23c8c: ldc.i8 0x2
+ IL_23c95: blt IL_23c0c
+
+ IL_23c9a: ldc.i8 0x0
+ IL_23ca3: stloc V_11
+ IL_23ca7: ldc.i8 0x6
+ IL_23cb0: stloc V_25
+ IL_23cb4: ldloc V_11
+ IL_23cb8: ldc.i8 0x1
+ IL_23cc1: add
+ IL_23cc2: stloc V_11
+ IL_23cc6: ldloc V_11
+ IL_23cca: ldc.i8 0x2
+ IL_23cd3: blt IL_23ca7
+
+ IL_23cd8: nop
+ IL_23cd9: ldloc V_10
+ IL_23cdd: ldc.i8 0x1
+ IL_23ce6: add
+ IL_23ce7: stloc V_10
+ IL_23ceb: ldloc V_10
+ IL_23cef: ldc.i8 0x2
+ IL_23cf8: blt IL_23bff
+
+ IL_23cfd: br IL_23db4
+
+ IL_23d02: ldc.i8 0x0
+ IL_23d0b: stloc V_11
+ IL_23d0f: ldc.i8 0x0
+ IL_23d18: stloc V_12
+ IL_23d1c: ldloc V_12
+ IL_23d20: ldc.i8 0x1
+ IL_23d29: add
+ IL_23d2a: stloc V_12
+ IL_23d2e: ldloc V_12
+ IL_23d32: ldc.i8 0x2
+ IL_23d3b: blt IL_23d1c
+
+ IL_23d40: ldc.i8 0x0
+ IL_23d49: stloc V_12
+ IL_23d4d: ldloc V_12
+ IL_23d51: ldc.i8 0x1
+ IL_23d5a: add
+ IL_23d5b: stloc V_12
+ IL_23d5f: ldloc V_12
+ IL_23d63: ldc.i8 0x2
+ IL_23d6c: blt IL_23d4d
+
+ IL_23d71: br IL_23d76
+
+ IL_23d76: ldloc V_28
+ IL_23d7a: stloc V_47
+ IL_23d7e: ldloc V_11
+ IL_23d82: ldc.i8 0x1
+ IL_23d8b: add
+ IL_23d8c: stloc V_11
+ IL_23d90: ldloc V_11
+ IL_23d94: ldc.i8 0x0
+ IL_23d9d: blt IL_23d0f
+
+ IL_23da2: ldloc V_14
+ IL_23da6: ldc.i8 0x5
+ IL_23daf: add
+ IL_23db0: stloc V_13
+ IL_23db4: ldc.i8 0x0
+ IL_23dbd: stloc V_10
+ IL_23dc1: ldc.i8 0x0
+ IL_23dca: stloc V_11
+ IL_23dce: ldc.i8 0x0
+ IL_23dd7: stloc V_12
+ IL_23ddb: ldloc V_12
+ IL_23ddf: ldc.i8 0x1
+ IL_23de8: add
+ IL_23de9: stloc V_12
+ IL_23ded: ldloc V_12
+ IL_23df1: ldc.i8 0x1
+ IL_23dfa: blt IL_23ddb
+
+ IL_23dff: ldc.i8 0x0
+ IL_23e08: stloc V_12
+ IL_23e0c: ldloc V_12
+ IL_23e10: ldc.i8 0x1
+ IL_23e19: add
+ IL_23e1a: stloc V_12
+ IL_23e1e: ldloc V_12
+ IL_23e22: ldc.i8 0x1
+ IL_23e2b: blt IL_23e0c
+
+ IL_23e30: nop
+ IL_23e31: ldloc V_11
+ IL_23e35: ldc.i8 0x1
+ IL_23e3e: add
+ IL_23e3f: stloc V_11
+ IL_23e43: ldloc V_11
+ IL_23e47: ldc.i8 0x2
+ IL_23e50: blt IL_23dce
+
+ IL_23e55: br IL_23ea7
+
+ IL_23e5a: br IL_23e5f
+
+ IL_23e5f: ldc.i8 0x0
+ IL_23e68: stloc V_12
+ IL_23e6c: ldloc V_12
+ IL_23e70: ldc.i8 0x1
+ IL_23e79: add
+ IL_23e7a: stloc V_12
+ IL_23e7e: ldloc V_12
+ IL_23e82: ldc.i8 0x1
+ IL_23e8b: blt IL_23e6c
+
+ IL_23e90: ldloc V_22
+ IL_23e94: ldloc V_44
+ IL_23e98: add
+ IL_23e99: ldc.i8 0x6
+ IL_23ea2: add
+ IL_23ea3: stloc V_22
+ IL_23ea7: ldloc V_15
+ IL_23eab: ldloc V_41
+ IL_23eaf: add
+ IL_23eb0: stloc V_15
+ IL_23eb4: ldloc V_10
+ IL_23eb8: ldc.i8 0x1
+ IL_23ec1: add
+ IL_23ec2: stloc V_10
+ IL_23ec6: ldloc V_10
+ IL_23eca: ldc.i8 0x1
+ IL_23ed3: blt IL_23dc1
+
+ IL_23ed8: ldc.i8 0x0
+ IL_23ee1: stloc V_26
+ IL_23ee5: ldloc V_9
+ IL_23ee9: ldc.i8 0x1
+ IL_23ef2: add
+ IL_23ef3: stloc V_9
+ IL_23ef7: ldloc V_9
+ IL_23efb: ldc.i8 0x2
+ IL_23f04: blt IL_23bf2
+
+ IL_23f09: ldc.i8 0x0
+ IL_23f12: stloc V_9
+ IL_23f16: ldc.i8 0x0
+ IL_23f1f: stloc V_10
+ IL_23f23: ldloc V_20
+ IL_23f27: ldloc V_15
+ IL_23f2b: add
+ IL_23f2c: stloc V_20
+ IL_23f30: ldloc V_10
+ IL_23f34: ldc.i8 0x1
+ IL_23f3d: add
+ IL_23f3e: stloc V_10
+ IL_23f42: ldloc V_10
+ IL_23f46: ldc.i8 0x0
+ IL_23f4f: blt IL_23f23
+
+ IL_23f54: br IL_24134
+
+ IL_23f59: ldc.i8 0x0
+ IL_23f62: stloc V_11
+ IL_23f66: br IL_23f6b
+
+ IL_23f6b: br IL_23f70
+
+ IL_23f70: br IL_23f75
+
+ IL_23f75: br IL_23f7a
+
+ IL_23f7a: ldloc V_29
+ IL_23f7e: ldloc V_48
+ IL_23f82: add
+ IL_23f83: stloc V_29
+ IL_23f87: ldloc V_11
+ IL_23f8b: ldc.i8 0x1
+ IL_23f94: add
+ IL_23f95: stloc V_11
+ IL_23f99: ldloc V_11
+ IL_23f9d: ldc.i8 0x0
+ IL_23fa6: blt IL_23f66
+
+ IL_23fab: ldc.i8 0x0
+ IL_23fb4: stloc V_11
+ IL_23fb8: ldc.i8 0x0
+ IL_23fc1: stloc V_12
+ IL_23fc5: ldloc V_12
+ IL_23fc9: ldc.i8 0x1
+ IL_23fd2: add
+ IL_23fd3: stloc V_12
+ IL_23fd7: ldloc V_12
+ IL_23fdb: ldc.i8 0x1
+ IL_23fe4: blt IL_23fc5
+
+ IL_23fe9: ldloc V_40
+ IL_23fed: ldc.i8 0x8
+ IL_23ff6: add
+ IL_23ff7: stloc V_37
+ IL_23ffb: ldloc V_11
+ IL_23fff: ldc.i8 0x1
+ IL_24008: add
+ IL_24009: stloc V_11
+ IL_2400d: ldloc V_11
+ IL_24011: ldc.i8 0x0
+ IL_2401a: blt IL_23fb8
+
+ IL_2401f: ldc.i8 0x0
+ IL_24028: stloc V_11
+ IL_2402c: ldc.i8 0x0
+ IL_24035: stloc V_12
+ IL_24039: ldloc V_12
+ IL_2403d: ldc.i8 0x1
+ IL_24046: add
+ IL_24047: stloc V_12
+ IL_2404b: ldloc V_12
+ IL_2404f: ldc.i8 0x0
+ IL_24058: blt IL_24039
+
+ IL_2405d: nop
+ IL_2405e: ldloc V_11
+ IL_24062: ldc.i8 0x1
+ IL_2406b: add
+ IL_2406c: stloc V_11
+ IL_24070: ldloc V_11
+ IL_24074: ldc.i8 0x1
+ IL_2407d: blt IL_2402c
+
+ IL_24082: ldc.i8 0x0
+ IL_2408b: stloc V_11
+ IL_2408f: ldc.i8 0x0
+ IL_24098: stloc V_12
+ IL_2409c: ldloc V_12
+ IL_240a0: ldc.i8 0x1
+ IL_240a9: add
+ IL_240aa: stloc V_12
+ IL_240ae: ldloc V_12
+ IL_240b2: ldc.i8 0x0
+ IL_240bb: blt IL_2409c
+
+ IL_240c0: br IL_240c5
+
+ IL_240c5: ldc.i8 0x0
+ IL_240ce: stloc V_12
+ IL_240d2: ldloc V_12
+ IL_240d6: ldc.i8 0x1
+ IL_240df: add
+ IL_240e0: stloc V_12
+ IL_240e4: ldloc V_12
+ IL_240e8: ldc.i8 0x1
+ IL_240f1: blt IL_240d2
+
+ IL_240f6: ldloc V_21
+ IL_240fa: ldloc V_45
+ IL_240fe: add
+ IL_240ff: stloc V_21
+ IL_24103: ldloc V_11
+ IL_24107: ldc.i8 0x1
+ IL_24110: add
+ IL_24111: stloc V_11
+ IL_24115: ldloc V_11
+ IL_24119: ldc.i8 0x1
+ IL_24122: blt IL_2408f
+
+ IL_24127: ldloc V_44
+ IL_2412b: ldloc V_11
+ IL_2412f: add
+ IL_24130: stloc V_44
+ IL_24134: ldc.i8 0x3
+ IL_2413d: stloc V_17
+ IL_24141: ldloc V_9
+ IL_24145: ldc.i8 0x1
+ IL_2414e: add
+ IL_2414f: stloc V_9
+ IL_24153: ldloc V_9
+ IL_24157: ldc.i8 0x0
+ IL_24160: blt IL_23f16
+
+ IL_24165: br IL_24223
+
+ IL_2416a: br IL_24216
+
+ IL_2416f: br IL_241c1
+
+ IL_24174: ldc.i8 0x0
+ IL_2417d: stloc V_12
+ IL_24181: ldloc V_12
+ IL_24185: ldc.i8 0x1
+ IL_2418e: add
+ IL_2418f: stloc V_12
+ IL_24193: ldloc V_12
+ IL_24197: ldc.i8 0x1
+ IL_241a0: blt IL_24181
+
+ IL_241a5: br IL_241aa
+
+ IL_241aa: ldloc V_46
+ IL_241ae: ldloc V_2
+ IL_241b2: add
+ IL_241b3: ldc.i8 0x8
+ IL_241bc: add
+ IL_241bd: stloc V_46
+ IL_241c1: ldc.i8 0x0
+ IL_241ca: stloc V_11
+ IL_241ce: br IL_241d3
+
+ IL_241d3: ldloc V_14
+ IL_241d7: ldc.i8 0x2
+ IL_241e0: add
+ IL_241e1: stloc V_36
+ IL_241e5: ldloc V_11
+ IL_241e9: ldc.i8 0x1
+ IL_241f2: add
+ IL_241f3: stloc V_11
+ IL_241f7: ldloc V_11
+ IL_241fb: ldc.i8 0x1
+ IL_24204: blt IL_241ce
+
+ IL_24209: ldloc V_40
+ IL_2420d: ldloc V_43
+ IL_24211: add
+ IL_24212: stloc V_45
+ IL_24216: ldloc V_40
+ IL_2421a: ldloc V_5
+ IL_2421e: add
+ IL_2421f: stloc V_29
+ IL_24223: ldc.i8 0x0
+ IL_2422c: stloc V_9
+ IL_24230: br IL_242b1
+
+ IL_24235: br IL_242a4
+
+ IL_2423a: ldc.i8 0x0
+ IL_24243: stloc V_12
+ IL_24247: ldloc V_12
+ IL_2424b: ldc.i8 0x1
+ IL_24254: add
+ IL_24255: stloc V_12
+ IL_24259: ldloc V_12
+ IL_2425d: ldc.i8 0x0
+ IL_24266: blt IL_24247
+
+ IL_2426b: ldc.i8 0x0
+ IL_24274: stloc V_12
+ IL_24278: ldloc V_12
+ IL_2427c: ldc.i8 0x1
+ IL_24285: add
+ IL_24286: stloc V_12
+ IL_2428a: ldloc V_12
+ IL_2428e: ldc.i8 0x2
+ IL_24297: blt IL_24278
+
+ IL_2429c: ldloc V_45
+ IL_242a0: stloc V_15
+ IL_242a4: ldloc V_11
+ IL_242a8: ldloc V_1
+ IL_242ac: add
+ IL_242ad: stloc V_11
+ IL_242b1: ldloc V_2
+ IL_242b5: stloc V_47
+ IL_242b9: ldloc V_9
+ IL_242bd: ldc.i8 0x1
+ IL_242c6: add
+ IL_242c7: stloc V_9
+ IL_242cb: ldloc V_9
+ IL_242cf: ldc.i8 0x2
+ IL_242d8: blt IL_24230
+
+ IL_242dd: nop
+ IL_242de: ldloc V_8
+ IL_242e2: ldc.i8 0x1
+ IL_242eb: add
+ IL_242ec: stloc V_8
+ IL_242f0: ldloc V_8
+ IL_242f4: ldc.i8 0x0
+ IL_242fd: blt IL_23be5
+
+ IL_24302: ldc.i8 0x0
+ IL_2430b: stloc V_8
+ IL_2430f: ldc.i8 0x0
+ IL_24318: stloc V_9
+ IL_2431c: ldloc V_26
+ IL_24320: ldloc V_17
+ IL_24324: add
+ IL_24325: stloc V_26
+ IL_24329: ldloc V_9
+ IL_2432d: ldc.i8 0x1
+ IL_24336: add
+ IL_24337: stloc V_9
+ IL_2433b: ldloc V_9
+ IL_2433f: ldc.i8 0x0
+ IL_24348: blt IL_2431c
+
+ IL_2434d: ldc.i8 0x0
+ IL_24356: stloc V_9
+ IL_2435a: br IL_2459c
+
+ IL_2435f: ldc.i8 0x0
+ IL_24368: stloc V_11
+ IL_2436c: br IL_24371
+
+ IL_24371: ldc.i8 0x0
+ IL_2437a: stloc V_12
+ IL_2437e: ldloc V_12
+ IL_24382: ldc.i8 0x1
+ IL_2438b: add
+ IL_2438c: stloc V_12
+ IL_24390: ldloc V_12
+ IL_24394: ldc.i8 0x0
+ IL_2439d: blt IL_2437e
+
+ IL_243a2: ldloc V_46
+ IL_243a6: ldloc V_34
+ IL_243aa: add
+ IL_243ab: stloc V_46
+ IL_243af: ldloc V_11
+ IL_243b3: ldc.i8 0x1
+ IL_243bc: add
+ IL_243bd: stloc V_11
+ IL_243c1: ldloc V_11
+ IL_243c5: ldc.i8 0x0
+ IL_243ce: blt IL_2436c
+
+ IL_243d3: ldc.i8 0x0
+ IL_243dc: stloc V_11
+ IL_243e0: br IL_243e5
+
+ IL_243e5: ldc.i8 0x0
+ IL_243ee: stloc V_12
+ IL_243f2: ldloc V_12
+ IL_243f6: ldc.i8 0x1
+ IL_243ff: add
+ IL_24400: stloc V_12
+ IL_24404: ldloc V_12
+ IL_24408: ldc.i8 0x2
+ IL_24411: blt IL_243f2
+
+ IL_24416: ldc.i8 0x0
+ IL_2441f: stloc V_12
+ IL_24423: ldloc V_12
+ IL_24427: ldc.i8 0x1
+ IL_24430: add
+ IL_24431: stloc V_12
+ IL_24435: ldloc V_12
+ IL_24439: ldc.i8 0x2
+ IL_24442: blt IL_24423
+
+ IL_24447: br IL_2444c
+
+ IL_2444c: nop
+ IL_2444d: ldloc V_11
+ IL_24451: ldc.i8 0x1
+ IL_2445a: add
+ IL_2445b: stloc V_11
+ IL_2445f: ldloc V_11
+ IL_24463: ldc.i8 0x2
+ IL_2446c: blt IL_243e0
+
+ IL_24471: ldc.i8 0x0
+ IL_2447a: stloc V_11
+ IL_2447e: ldloc V_41
+ IL_24482: ldloc V_14
+ IL_24486: add
+ IL_24487: stloc V_41
+ IL_2448b: ldloc V_11
+ IL_2448f: ldc.i8 0x1
+ IL_24498: add
+ IL_24499: stloc V_11
+ IL_2449d: ldloc V_11
+ IL_244a1: ldc.i8 0x1
+ IL_244aa: blt IL_2447e
+
+ IL_244af: ldc.i8 0x0
+ IL_244b8: stloc V_11
+ IL_244bc: ldc.i8 0x0
+ IL_244c5: stloc V_12
+ IL_244c9: ldloc V_12
+ IL_244cd: ldc.i8 0x1
+ IL_244d6: add
+ IL_244d7: stloc V_12
+ IL_244db: ldloc V_12
+ IL_244df: ldc.i8 0x1
+ IL_244e8: blt IL_244c9
+
+ IL_244ed: ldc.i8 0x0
+ IL_244f6: stloc V_12
+ IL_244fa: ldloc V_12
+ IL_244fe: ldc.i8 0x1
+ IL_24507: add
+ IL_24508: stloc V_12
+ IL_2450c: ldloc V_12
+ IL_24510: ldc.i8 0x2
+ IL_24519: blt IL_244fa
+
+ IL_2451e: ldc.i8 0x0
+ IL_24527: stloc V_12
+ IL_2452b: ldloc V_12
+ IL_2452f: ldc.i8 0x1
+ IL_24538: add
+ IL_24539: stloc V_12
+ IL_2453d: ldloc V_12
+ IL_24541: ldc.i8 0x2
+ IL_2454a: blt IL_2452b
+
+ IL_2454f: ldloc V_39
+ IL_24553: ldc.i8 0x7
+ IL_2455c: add
+ IL_2455d: stloc V_15
+ IL_24561: ldloc V_11
+ IL_24565: ldc.i8 0x1
+ IL_2456e: add
+ IL_2456f: stloc V_11
+ IL_24573: ldloc V_11
+ IL_24577: ldc.i8 0x2
+ IL_24580: blt IL_244bc
+
+ IL_24585: ldloc V_11
+ IL_24589: ldloc V_33
+ IL_2458d: add
+ IL_2458e: ldc.i8 0x7
+ IL_24597: add
+ IL_24598: stloc V_11
+ IL_2459c: nop
+ IL_2459d: ldloc V_9
+ IL_245a1: ldc.i8 0x1
+ IL_245aa: add
+ IL_245ab: stloc V_9
+ IL_245af: ldloc V_9
+ IL_245b3: ldc.i8 0x2
+ IL_245bc: blt IL_2435a
+
+ IL_245c1: ldloc V_40
+ IL_245c5: ldc.i8 0x2
+ IL_245ce: add
+ IL_245cf: stloc V_32
+ IL_245d3: ldloc V_8
+ IL_245d7: ldc.i8 0x1
+ IL_245e0: add
+ IL_245e1: stloc V_8
+ IL_245e5: ldloc V_8
+ IL_245e9: ldc.i8 0x0
+ IL_245f2: blt IL_2430f
+
+ IL_245f7: ldloc V_15
+ IL_245fb: ldloc V_26
+ IL_245ff: add
+ IL_24600: stloc V_15
+ IL_24604: ldloc V_2
+ IL_24608: ldloc V_9
+ IL_2460c: add
+ IL_2460d: stloc V_40
+ IL_24611: br IL_24649
+
+ IL_24616: ldc.i8 0x0
+ IL_2461f: stloc V_7
+ IL_24623: nop
+ IL_24624: ldloc V_7
+ IL_24628: ldc.i8 0x1
+ IL_24631: add
+ IL_24632: stloc V_7
+ IL_24636: ldloc V_7
+ IL_2463a: ldc.i8 0x0
+ IL_24643: blt IL_24623
+
+ IL_24648: nop
+ IL_24649: ldloc V_20
+ IL_2464d: ldloc V_37
+ IL_24651: add
+ IL_24652: stloc V_20
+ IL_24656: ldloc V_5
+ IL_2465a: ldc.i8 0x1
+ IL_24663: add
+ IL_24664: stloc V_5
+ IL_24668: ldloc V_5
+ IL_2466c: ldc.i8 0x1
+ IL_24675: blt IL_20412
+
+ IL_2467a: ldc.i8 0x0
+ IL_24683: stloc V_5
+ IL_24687: ldc.i8 0x0
+ IL_24690: stloc V_6
+ IL_24694: ldloc V_23
+ IL_24698: ldloc V_22
+ IL_2469c: add
+ IL_2469d: ldc.i8 0x4
+ IL_246a6: add
+ IL_246a7: stloc V_23
+ IL_246ab: ldloc V_6
+ IL_246af: ldc.i8 0x1
+ IL_246b8: add
+ IL_246b9: stloc V_6
+ IL_246bd: ldloc V_6
+ IL_246c1: ldc.i8 0x1
+ IL_246ca: blt IL_24694
+
+ IL_246cf: br IL_26f01
+
+ IL_246d4: ldc.i8 0x0
+ IL_246dd: stloc V_7
+ IL_246e1: ldc.i8 0x0
+ IL_246ea: stloc V_8
+ IL_246ee: ldloc V_37
+ IL_246f2: ldloc V_41
+ IL_246f6: add
+ IL_246f7: ldc.i8 0x0
+ IL_24700: add
+ IL_24701: stloc V_37
+ IL_24705: ldloc V_8
+ IL_24709: ldc.i8 0x1
+ IL_24712: add
+ IL_24713: stloc V_8
+ IL_24717: ldloc V_8
+ IL_2471b: ldc.i8 0x1
+ IL_24724: blt IL_246ee
+
+ IL_24729: br IL_24c36
+
+ IL_2472e: ldc.i8 0x0
+ IL_24737: stloc V_9
+ IL_2473b: br IL_2474d
+
+ IL_24740: ldloc V_42
+ IL_24744: ldloc V_38
+ IL_24748: add
+ IL_24749: stloc V_42
+ IL_2474d: ldc.i8 0x0
+ IL_24756: stloc V_10
+ IL_2475a: ldc.i8 0x0
+ IL_24763: stloc V_11
+ IL_24767: ldc.i8 0x0
+ IL_24770: stloc V_12
+ IL_24774: ldloc V_12
+ IL_24778: ldc.i8 0x1
+ IL_24781: add
+ IL_24782: stloc V_12
+ IL_24786: ldloc V_12
+ IL_2478a: ldc.i8 0x1
+ IL_24793: blt IL_24774
+
+ IL_24798: br IL_2479d
+
+ IL_2479d: nop
+ IL_2479e: ldloc V_11
+ IL_247a2: ldc.i8 0x1
+ IL_247ab: add
+ IL_247ac: stloc V_11
+ IL_247b0: ldloc V_11
+ IL_247b4: ldc.i8 0x2
+ IL_247bd: blt IL_24767
+
+ IL_247c2: ldc.i8 0x0
+ IL_247cb: stloc V_11
+ IL_247cf: ldc.i8 0x0
+ IL_247d8: stloc V_12
+ IL_247dc: ldloc V_12
+ IL_247e0: ldc.i8 0x1
+ IL_247e9: add
+ IL_247ea: stloc V_12
+ IL_247ee: ldloc V_12
+ IL_247f2: ldc.i8 0x1
+ IL_247fb: blt IL_247dc
+
+ IL_24800: br IL_24805
+
+ IL_24805: ldc.i8 0x0
+ IL_2480e: stloc V_12
+ IL_24812: ldloc V_12
+ IL_24816: ldc.i8 0x1
+ IL_2481f: add
+ IL_24820: stloc V_12
+ IL_24824: ldloc V_12
+ IL_24828: ldc.i8 0x2
+ IL_24831: blt IL_24812
+
+ IL_24836: ldloc V_26
+ IL_2483a: ldc.i8 0x3
+ IL_24843: add
+ IL_24844: stloc V_27
+ IL_24848: ldloc V_11
+ IL_2484c: ldc.i8 0x1
+ IL_24855: add
+ IL_24856: stloc V_11
+ IL_2485a: ldloc V_11
+ IL_2485e: ldc.i8 0x0
+ IL_24867: blt IL_247cf
+
+ IL_2486c: ldc.i8 0x0
+ IL_24875: stloc V_11
+ IL_24879: ldc.i8 0x0
+ IL_24882: stloc V_12
+ IL_24886: ldloc V_12
+ IL_2488a: ldc.i8 0x1
+ IL_24893: add
+ IL_24894: stloc V_12
+ IL_24898: ldloc V_12
+ IL_2489c: ldc.i8 0x1
+ IL_248a5: blt IL_24886
+
+ IL_248aa: ldc.i8 0x0
+ IL_248b3: stloc V_12
+ IL_248b7: ldloc V_12
+ IL_248bb: ldc.i8 0x1
+ IL_248c4: add
+ IL_248c5: stloc V_12
+ IL_248c9: ldloc V_12
+ IL_248cd: ldc.i8 0x0
+ IL_248d6: blt IL_248b7
+
+ IL_248db: br IL_248e0
+
+ IL_248e0: ldloc V_26
+ IL_248e4: stloc V_24
+ IL_248e8: ldloc V_11
+ IL_248ec: ldc.i8 0x1
+ IL_248f5: add
+ IL_248f6: stloc V_11
+ IL_248fa: ldloc V_11
+ IL_248fe: ldc.i8 0x2
+ IL_24907: blt IL_24879
+
+ IL_2490c: br IL_2498a
+
+ IL_24911: br IL_24916
+
+ IL_24916: ldc.i8 0x0
+ IL_2491f: stloc V_12
+ IL_24923: ldloc V_12
+ IL_24927: ldc.i8 0x1
+ IL_24930: add
+ IL_24931: stloc V_12
+ IL_24935: ldloc V_12
+ IL_24939: ldc.i8 0x1
+ IL_24942: blt IL_24923
+
+ IL_24947: br IL_2494c
+
+ IL_2494c: ldc.i8 0x0
+ IL_24955: stloc V_12
+ IL_24959: ldloc V_12
+ IL_2495d: ldc.i8 0x1
+ IL_24966: add
+ IL_24967: stloc V_12
+ IL_2496b: ldloc V_12
+ IL_2496f: ldc.i8 0x0
+ IL_24978: blt IL_24959
+
+ IL_2497d: ldloc V_38
+ IL_24981: ldloc V_19
+ IL_24985: add
+ IL_24986: stloc V_12
+ IL_2498a: ldc.i8 0x7
+ IL_24993: stloc V_13
+ IL_24997: ldloc V_10
+ IL_2499b: ldc.i8 0x1
+ IL_249a4: add
+ IL_249a5: stloc V_10
+ IL_249a9: ldloc V_10
+ IL_249ad: ldc.i8 0x1
+ IL_249b6: blt IL_2475a
+
+ IL_249bb: br IL_24c04
+
+ IL_249c0: br IL_24a0d
+
+ IL_249c5: ldc.i8 0x0
+ IL_249ce: stloc V_12
+ IL_249d2: ldloc V_12
+ IL_249d6: ldc.i8 0x1
+ IL_249df: add
+ IL_249e0: stloc V_12
+ IL_249e4: ldloc V_12
+ IL_249e8: ldc.i8 0x1
+ IL_249f1: blt IL_249d2
+
+ IL_249f6: ldloc V_49
+ IL_249fa: ldloc V_26
+ IL_249fe: add
+ IL_249ff: ldc.i8 0x1
+ IL_24a08: add
+ IL_24a09: stloc V_49
+ IL_24a0d: br IL_24ab7
+
+ IL_24a12: ldc.i8 0x0
+ IL_24a1b: stloc V_12
+ IL_24a1f: ldloc V_12
+ IL_24a23: ldc.i8 0x1
+ IL_24a2c: add
+ IL_24a2d: stloc V_12
+ IL_24a31: ldloc V_12
+ IL_24a35: ldc.i8 0x1
+ IL_24a3e: blt IL_24a1f
+
+ IL_24a43: ldc.i8 0x0
+ IL_24a4c: stloc V_12
+ IL_24a50: ldloc V_12
+ IL_24a54: ldc.i8 0x1
+ IL_24a5d: add
+ IL_24a5e: stloc V_12
+ IL_24a62: ldloc V_12
+ IL_24a66: ldc.i8 0x1
+ IL_24a6f: blt IL_24a50
+
+ IL_24a74: br IL_24a79
+
+ IL_24a79: ldc.i8 0x0
+ IL_24a82: stloc V_12
+ IL_24a86: ldloc V_12
+ IL_24a8a: ldc.i8 0x1
+ IL_24a93: add
+ IL_24a94: stloc V_12
+ IL_24a98: ldloc V_12
+ IL_24a9c: ldc.i8 0x0
+ IL_24aa5: blt IL_24a86
+
+ IL_24aaa: ldloc V_36
+ IL_24aae: ldloc V_4
+ IL_24ab2: add
+ IL_24ab3: stloc V_36
+ IL_24ab7: ldc.i8 0x0
+ IL_24ac0: stloc V_11
+ IL_24ac4: ldc.i8 0x0
+ IL_24acd: stloc V_12
+ IL_24ad1: ldloc V_12
+ IL_24ad5: ldc.i8 0x1
+ IL_24ade: add
+ IL_24adf: stloc V_12
+ IL_24ae3: ldloc V_12
+ IL_24ae7: ldc.i8 0x0
+ IL_24af0: blt IL_24ad1
+
+ IL_24af5: ldc.i8 0x0
+ IL_24afe: stloc V_12
+ IL_24b02: ldloc V_12
+ IL_24b06: ldc.i8 0x1
+ IL_24b0f: add
+ IL_24b10: stloc V_12
+ IL_24b14: ldloc V_12
+ IL_24b18: ldc.i8 0x1
+ IL_24b21: blt IL_24b02
+
+ IL_24b26: br IL_24b2b
+
+ IL_24b2b: ldloc V_31
+ IL_24b2f: ldloc V_38
+ IL_24b33: add
+ IL_24b34: stloc V_45
+ IL_24b38: ldloc V_11
+ IL_24b3c: ldc.i8 0x1
+ IL_24b45: add
+ IL_24b46: stloc V_11
+ IL_24b4a: ldloc V_11
+ IL_24b4e: ldc.i8 0x2
+ IL_24b57: blt IL_24ac4
+
+ IL_24b5c: ldc.i8 0x0
+ IL_24b65: stloc V_11
+ IL_24b69: ldc.i8 0x0
+ IL_24b72: stloc V_12
+ IL_24b76: ldloc V_12
+ IL_24b7a: ldc.i8 0x1
+ IL_24b83: add
+ IL_24b84: stloc V_12
+ IL_24b88: ldloc V_12
+ IL_24b8c: ldc.i8 0x1
+ IL_24b95: blt IL_24b76
+
+ IL_24b9a: ldc.i8 0x0
+ IL_24ba3: stloc V_12
+ IL_24ba7: ldloc V_12
+ IL_24bab: ldc.i8 0x1
+ IL_24bb4: add
+ IL_24bb5: stloc V_12
+ IL_24bb9: ldloc V_12
+ IL_24bbd: ldc.i8 0x1
+ IL_24bc6: blt IL_24ba7
+
+ IL_24bcb: ldc.i8 0x5
+ IL_24bd4: stloc V_12
+ IL_24bd8: ldloc V_11
+ IL_24bdc: ldc.i8 0x1
+ IL_24be5: add
+ IL_24be6: stloc V_11
+ IL_24bea: ldloc V_11
+ IL_24bee: ldc.i8 0x2
+ IL_24bf7: blt IL_24b69
+
+ IL_24bfc: ldloc V_26
+ IL_24c00: stloc V_19
+ IL_24c04: nop
+ IL_24c05: ldloc V_9
+ IL_24c09: ldc.i8 0x1
+ IL_24c12: add
+ IL_24c13: stloc V_9
+ IL_24c17: ldloc V_9
+ IL_24c1b: ldc.i8 0x2
+ IL_24c24: blt IL_2473b
+
+ IL_24c29: ldc.i8 0x8
+ IL_24c32: stloc V_39
+ IL_24c36: ldc.i8 0x0
+ IL_24c3f: stloc V_8
+ IL_24c43: ldloc V_15
+ IL_24c47: ldloc V_21
+ IL_24c4b: add
+ IL_24c4c: ldc.i8 0x2
+ IL_24c55: add
+ IL_24c56: stloc V_15
+ IL_24c5a: ldloc V_8
+ IL_24c5e: ldc.i8 0x1
+ IL_24c67: add
+ IL_24c68: stloc V_8
+ IL_24c6c: ldloc V_8
+ IL_24c70: ldc.i8 0x1
+ IL_24c79: blt IL_24c43
+
+ IL_24c7e: ldc.i8 0x0
+ IL_24c87: stloc V_8
+ IL_24c8b: ldc.i8 0x0
+ IL_24c94: stloc V_9
+ IL_24c98: ldc.i8 0x0
+ IL_24ca1: stloc V_10
+ IL_24ca5: br IL_24cb2
+
+ IL_24caa: ldloc V_23
+ IL_24cae: stloc V_38
+ IL_24cb2: ldc.i8 0x0
+ IL_24cbb: stloc V_11
+ IL_24cbf: ldc.i8 0x0
+ IL_24cc8: stloc V_12
+ IL_24ccc: ldloc V_12
+ IL_24cd0: ldc.i8 0x1
+ IL_24cd9: add
+ IL_24cda: stloc V_12
+ IL_24cde: ldloc V_12
+ IL_24ce2: ldc.i8 0x2
+ IL_24ceb: blt IL_24ccc
+
+ IL_24cf0: br IL_24cf5
+
+ IL_24cf5: br IL_24cfa
+
+ IL_24cfa: ldloc V_27
+ IL_24cfe: ldc.i8 0x4
+ IL_24d07: add
+ IL_24d08: stloc V_23
+ IL_24d0c: ldloc V_11
+ IL_24d10: ldc.i8 0x1
+ IL_24d19: add
+ IL_24d1a: stloc V_11
+ IL_24d1e: ldloc V_11
+ IL_24d22: ldc.i8 0x2
+ IL_24d2b: blt IL_24cbf
+
+ IL_24d30: ldc.i8 0x0
+ IL_24d39: stloc V_11
+ IL_24d3d: ldloc V_22
+ IL_24d41: ldloc V_23
+ IL_24d45: add
+ IL_24d46: stloc V_22
+ IL_24d4a: ldloc V_11
+ IL_24d4e: ldc.i8 0x1
+ IL_24d57: add
+ IL_24d58: stloc V_11
+ IL_24d5c: ldloc V_11
+ IL_24d60: ldc.i8 0x0
+ IL_24d69: blt IL_24d3d
+
+ IL_24d6e: ldloc V_15
+ IL_24d72: ldc.i8 0x8
+ IL_24d7b: add
+ IL_24d7c: stloc V_37
+ IL_24d80: ldloc V_10
+ IL_24d84: ldc.i8 0x1
+ IL_24d8d: add
+ IL_24d8e: stloc V_10
+ IL_24d92: ldloc V_10
+ IL_24d96: ldc.i8 0x1
+ IL_24d9f: blt IL_24ca5
+
+ IL_24da4: br IL_24ed7
+
+ IL_24da9: ldc.i8 0x0
+ IL_24db2: stloc V_11
+ IL_24db6: ldloc V_49
+ IL_24dba: ldloc V_37
+ IL_24dbe: add
+ IL_24dbf: stloc V_49
+ IL_24dc3: ldloc V_11
+ IL_24dc7: ldc.i8 0x1
+ IL_24dd0: add
+ IL_24dd1: stloc V_11
+ IL_24dd5: ldloc V_11
+ IL_24dd9: ldc.i8 0x0
+ IL_24de2: blt IL_24db6
+
+ IL_24de7: ldc.i8 0x0
+ IL_24df0: stloc V_11
+ IL_24df4: ldloc V_33
+ IL_24df8: ldloc V_43
+ IL_24dfc: add
+ IL_24dfd: stloc V_41
+ IL_24e01: ldloc V_11
+ IL_24e05: ldc.i8 0x1
+ IL_24e0e: add
+ IL_24e0f: stloc V_11
+ IL_24e13: ldloc V_11
+ IL_24e17: ldc.i8 0x0
+ IL_24e20: blt IL_24df4
+
+ IL_24e25: ldc.i8 0x0
+ IL_24e2e: stloc V_11
+ IL_24e32: br IL_24e37
+
+ IL_24e37: br IL_24e3c
+
+ IL_24e3c: ldc.i8 0x0
+ IL_24e45: stloc V_12
+ IL_24e49: ldloc V_12
+ IL_24e4d: ldc.i8 0x1
+ IL_24e56: add
+ IL_24e57: stloc V_12
+ IL_24e5b: ldloc V_12
+ IL_24e5f: ldc.i8 0x1
+ IL_24e68: blt IL_24e49
+
+ IL_24e6d: ldc.i8 0x0
+ IL_24e76: stloc V_12
+ IL_24e7a: ldloc V_12
+ IL_24e7e: ldc.i8 0x1
+ IL_24e87: add
+ IL_24e88: stloc V_12
+ IL_24e8c: ldloc V_12
+ IL_24e90: ldc.i8 0x1
+ IL_24e99: blt IL_24e7a
+
+ IL_24e9e: ldloc V_3
+ IL_24ea2: stloc V_21
+ IL_24ea6: ldloc V_11
+ IL_24eaa: ldc.i8 0x1
+ IL_24eb3: add
+ IL_24eb4: stloc V_11
+ IL_24eb8: ldloc V_11
+ IL_24ebc: ldc.i8 0x0
+ IL_24ec5: blt IL_24e32
+
+ IL_24eca: ldloc V_9
+ IL_24ece: ldloc V_25
+ IL_24ed2: add
+ IL_24ed3: stloc V_27
+ IL_24ed7: br IL_24f8e
+
+ IL_24edc: ldc.i8 0x0
+ IL_24ee5: stloc V_11
+ IL_24ee9: ldc.i8 0x0
+ IL_24ef2: stloc V_12
+ IL_24ef6: ldloc V_12
+ IL_24efa: ldc.i8 0x1
+ IL_24f03: add
+ IL_24f04: stloc V_12
+ IL_24f08: ldloc V_12
+ IL_24f0c: ldc.i8 0x0
+ IL_24f15: blt IL_24ef6
+
+ IL_24f1a: ldc.i8 0x0
+ IL_24f23: stloc V_12
+ IL_24f27: ldloc V_12
+ IL_24f2b: ldc.i8 0x1
+ IL_24f34: add
+ IL_24f35: stloc V_12
+ IL_24f39: ldloc V_12
+ IL_24f3d: ldc.i8 0x1
+ IL_24f46: blt IL_24f27
+
+ IL_24f4b: br IL_24f50
+
+ IL_24f50: ldloc V_41
+ IL_24f54: ldc.i8 0x0
+ IL_24f5d: add
+ IL_24f5e: stloc V_26
+ IL_24f62: ldloc V_11
+ IL_24f66: ldc.i8 0x1
+ IL_24f6f: add
+ IL_24f70: stloc V_11
+ IL_24f74: ldloc V_11
+ IL_24f78: ldc.i8 0x2
+ IL_24f81: blt IL_24ee9
+
+ IL_24f86: ldloc V_22
+ IL_24f8a: stloc V_41
+ IL_24f8e: ldloc V_32
+ IL_24f92: ldloc V_26
+ IL_24f96: add
+ IL_24f97: stloc V_33
+ IL_24f9b: ldloc V_9
+ IL_24f9f: ldc.i8 0x1
+ IL_24fa8: add
+ IL_24fa9: stloc V_9
+ IL_24fad: ldloc V_9
+ IL_24fb1: ldc.i8 0x1
+ IL_24fba: blt IL_24c98
+
+ IL_24fbf: ldc.i8 0x0
+ IL_24fc8: stloc V_9
+ IL_24fcc: br IL_250cb
+
+ IL_24fd1: br IL_25019
+
+ IL_24fd6: ldc.i8 0x0
+ IL_24fdf: stloc V_12
+ IL_24fe3: ldloc V_12
+ IL_24fe7: ldc.i8 0x1
+ IL_24ff0: add
+ IL_24ff1: stloc V_12
+ IL_24ff5: ldloc V_12
+ IL_24ff9: ldc.i8 0x0
+ IL_25002: blt IL_24fe3
+
+ IL_25007: ldloc V_14
+ IL_2500b: ldc.i8 0x4
+ IL_25014: add
+ IL_25015: stloc V_29
+ IL_25019: br IL_250be
+
+ IL_2501e: ldc.i8 0x0
+ IL_25027: stloc V_12
+ IL_2502b: ldloc V_12
+ IL_2502f: ldc.i8 0x1
+ IL_25038: add
+ IL_25039: stloc V_12
+ IL_2503d: ldloc V_12
+ IL_25041: ldc.i8 0x2
+ IL_2504a: blt IL_2502b
+
+ IL_2504f: ldc.i8 0x0
+ IL_25058: stloc V_12
+ IL_2505c: ldloc V_12
+ IL_25060: ldc.i8 0x1
+ IL_25069: add
+ IL_2506a: stloc V_12
+ IL_2506e: ldloc V_12
+ IL_25072: ldc.i8 0x0
+ IL_2507b: blt IL_2505c
+
+ IL_25080: br IL_25085
+
+ IL_25085: ldc.i8 0x0
+ IL_2508e: stloc V_12
+ IL_25092: ldloc V_12
+ IL_25096: ldc.i8 0x1
+ IL_2509f: add
+ IL_250a0: stloc V_12
+ IL_250a4: ldloc V_12
+ IL_250a8: ldc.i8 0x2
+ IL_250b1: blt IL_25092
+
+ IL_250b6: ldloc V_39
+ IL_250ba: stloc V_34
+ IL_250be: ldc.i8 0x3
+ IL_250c7: stloc V_32
+ IL_250cb: ldc.i8 0x0
+ IL_250d4: stloc V_10
+ IL_250d8: ldc.i8 0x0
+ IL_250e1: stloc V_11
+ IL_250e5: ldloc V_32
+ IL_250e9: ldloc V_6
+ IL_250ed: add
+ IL_250ee: ldc.i8 0x9
+ IL_250f7: add
+ IL_250f8: stloc V_32
+ IL_250fc: ldloc V_11
+ IL_25100: ldc.i8 0x1
+ IL_25109: add
+ IL_2510a: stloc V_11
+ IL_2510e: ldloc V_11
+ IL_25112: ldc.i8 0x1
+ IL_2511b: blt IL_250e5
+
+ IL_25120: ldc.i8 0x0
+ IL_25129: stloc V_11
+ IL_2512d: ldc.i8 0x0
+ IL_25136: stloc V_12
+ IL_2513a: ldloc V_12
+ IL_2513e: ldc.i8 0x1
+ IL_25147: add
+ IL_25148: stloc V_12
+ IL_2514c: ldloc V_12
+ IL_25150: ldc.i8 0x1
+ IL_25159: blt IL_2513a
+
+ IL_2515e: ldc.i8 0x0
+ IL_25167: stloc V_12
+ IL_2516b: ldloc V_12
+ IL_2516f: ldc.i8 0x1
+ IL_25178: add
+ IL_25179: stloc V_12
+ IL_2517d: ldloc V_12
+ IL_25181: ldc.i8 0x1
+ IL_2518a: blt IL_2516b
+
+ IL_2518f: ldc.i8 0x0
+ IL_25198: stloc V_12
+ IL_2519c: ldloc V_12
+ IL_251a0: ldc.i8 0x1
+ IL_251a9: add
+ IL_251aa: stloc V_12
+ IL_251ae: ldloc V_12
+ IL_251b2: ldc.i8 0x0
+ IL_251bb: blt IL_2519c
+
+ IL_251c0: ldc.i8 0x0
+ IL_251c9: stloc V_12
+ IL_251cd: ldloc V_12
+ IL_251d1: ldc.i8 0x1
+ IL_251da: add
+ IL_251db: stloc V_12
+ IL_251df: ldloc V_12
+ IL_251e3: ldc.i8 0x1
+ IL_251ec: blt IL_251cd
+
+ IL_251f1: nop
+ IL_251f2: ldloc V_11
+ IL_251f6: ldc.i8 0x1
+ IL_251ff: add
+ IL_25200: stloc V_11
+ IL_25204: ldloc V_11
+ IL_25208: ldc.i8 0x1
+ IL_25211: blt IL_2512d
+
+ IL_25216: br IL_25299
+
+ IL_2521b: ldc.i8 0x0
+ IL_25224: stloc V_12
+ IL_25228: ldloc V_12
+ IL_2522c: ldc.i8 0x1
+ IL_25235: add
+ IL_25236: stloc V_12
+ IL_2523a: ldloc V_12
+ IL_2523e: ldc.i8 0x2
+ IL_25247: blt IL_25228
+
+ IL_2524c: ldc.i8 0x0
+ IL_25255: stloc V_12
+ IL_25259: ldloc V_12
+ IL_2525d: ldc.i8 0x1
+ IL_25266: add
+ IL_25267: stloc V_12
+ IL_2526b: ldloc V_12
+ IL_2526f: ldc.i8 0x1
+ IL_25278: blt IL_25259
+
+ IL_2527d: br IL_25282
+
+ IL_25282: ldloc V_23
+ IL_25286: ldloc V_36
+ IL_2528a: add
+ IL_2528b: ldc.i8 0x2
+ IL_25294: add
+ IL_25295: stloc V_23
+ IL_25299: ldloc V_15
+ IL_2529d: ldloc V_41
+ IL_252a1: add
+ IL_252a2: stloc V_42
+ IL_252a6: ldloc V_10
+ IL_252aa: ldc.i8 0x1
+ IL_252b3: add
+ IL_252b4: stloc V_10
+ IL_252b8: ldloc V_10
+ IL_252bc: ldc.i8 0x2
+ IL_252c5: blt IL_250d8
+
+ IL_252ca: ldloc V_37
+ IL_252ce: ldc.i8 0x3
+ IL_252d7: add
+ IL_252d8: stloc V_11
+ IL_252dc: ldloc V_9
+ IL_252e0: ldc.i8 0x1
+ IL_252e9: add
+ IL_252ea: stloc V_9
+ IL_252ee: ldloc V_9
+ IL_252f2: ldc.i8 0x2
+ IL_252fb: blt IL_24fcc
+
+ IL_25300: ldc.i8 0x5
+ IL_25309: stloc V_36
+ IL_2530d: ldloc V_8
+ IL_25311: ldc.i8 0x1
+ IL_2531a: add
+ IL_2531b: stloc V_8
+ IL_2531f: ldloc V_8
+ IL_25323: ldc.i8 0x1
+ IL_2532c: blt IL_24c8b
+
+ IL_25331: ldloc V_44
+ IL_25335: ldc.i8 0x5
+ IL_2533e: add
+ IL_2533f: stloc V_8
+ IL_25343: ldloc V_7
+ IL_25347: ldc.i8 0x1
+ IL_25350: add
+ IL_25351: stloc V_7
+ IL_25355: ldloc V_7
+ IL_25359: ldc.i8 0x0
+ IL_25362: blt IL_246e1
+
+ IL_25367: br IL_2536d
+
+ IL_2536c: nop
+ IL_2536d: br IL_26eb1
+
+ IL_25372: br IL_25f48
+
+ IL_25377: ldc.i8 0x0
+ IL_25380: stloc V_9
+ IL_25384: ldc.i8 0x7
+ IL_2538d: stloc V_10
+ IL_25391: ldloc V_9
+ IL_25395: ldc.i8 0x1
+ IL_2539e: add
+ IL_2539f: stloc V_9
+ IL_253a3: ldloc V_9
+ IL_253a7: ldc.i8 0x2
+ IL_253b0: blt IL_25384
+
+ IL_253b5: ldc.i8 0x0
+ IL_253be: stloc V_9
+ IL_253c2: br IL_253de
+
+ IL_253c7: ldloc V_12
+ IL_253cb: ldloc V_23
+ IL_253cf: add
+ IL_253d0: ldc.i8 0x1
+ IL_253d9: add
+ IL_253da: stloc V_12
+ IL_253de: br IL_25480
+
+ IL_253e3: ldc.i8 0x0
+ IL_253ec: stloc V_11
+ IL_253f0: ldloc V_21
+ IL_253f4: ldloc V_7
+ IL_253f8: add
+ IL_253f9: ldc.i8 0x1
+ IL_25402: add
+ IL_25403: stloc V_21
+ IL_25407: ldloc V_11
+ IL_2540b: ldc.i8 0x1
+ IL_25414: add
+ IL_25415: stloc V_11
+ IL_25419: ldloc V_11
+ IL_2541d: ldc.i8 0x1
+ IL_25426: blt IL_253f0
+
+ IL_2542b: ldc.i8 0x0
+ IL_25434: stloc V_11
+ IL_25438: ldloc V_39
+ IL_2543c: ldloc V_14
+ IL_25440: add
+ IL_25441: stloc V_39
+ IL_25445: ldloc V_11
+ IL_25449: ldc.i8 0x1
+ IL_25452: add
+ IL_25453: stloc V_11
+ IL_25457: ldloc V_11
+ IL_2545b: ldc.i8 0x1
+ IL_25464: blt IL_25438
+
+ IL_25469: ldloc V_28
+ IL_2546d: ldloc V_8
+ IL_25471: add
+ IL_25472: ldc.i8 0x8
+ IL_2547b: add
+ IL_2547c: stloc V_28
+ IL_25480: ldc.i8 0x0
+ IL_25489: stloc V_10
+ IL_2548d: ldc.i8 0x0
+ IL_25496: stloc V_11
+ IL_2549a: ldc.i8 0x0
+ IL_254a3: stloc V_12
+ IL_254a7: ldloc V_12
+ IL_254ab: ldc.i8 0x1
+ IL_254b4: add
+ IL_254b5: stloc V_12
+ IL_254b9: ldloc V_12
+ IL_254bd: ldc.i8 0x1
+ IL_254c6: blt IL_254a7
+
+ IL_254cb: ldc.i8 0x9
+ IL_254d4: stloc V_34
+ IL_254d8: ldloc V_11
+ IL_254dc: ldc.i8 0x1
+ IL_254e5: add
+ IL_254e6: stloc V_11
+ IL_254ea: ldloc V_11
+ IL_254ee: ldc.i8 0x0
+ IL_254f7: blt IL_2549a
+
+ IL_254fc: ldc.i8 0x0
+ IL_25505: stloc V_11
+ IL_25509: br IL_2550e
+
+ IL_2550e: ldc.i8 0x0
+ IL_25517: stloc V_12
+ IL_2551b: ldloc V_12
+ IL_2551f: ldc.i8 0x1
+ IL_25528: add
+ IL_25529: stloc V_12
+ IL_2552d: ldloc V_12
+ IL_25531: ldc.i8 0x2
+ IL_2553a: blt IL_2551b
+
+ IL_2553f: ldc.i8 0x0
+ IL_25548: stloc V_12
+ IL_2554c: ldloc V_12
+ IL_25550: ldc.i8 0x1
+ IL_25559: add
+ IL_2555a: stloc V_12
+ IL_2555e: ldloc V_12
+ IL_25562: ldc.i8 0x1
+ IL_2556b: blt IL_2554c
+
+ IL_25570: ldloc V_19
+ IL_25574: ldloc V_27
+ IL_25578: add
+ IL_25579: stloc V_25
+ IL_2557d: ldloc V_11
+ IL_25581: ldc.i8 0x1
+ IL_2558a: add
+ IL_2558b: stloc V_11
+ IL_2558f: ldloc V_11
+ IL_25593: ldc.i8 0x0
+ IL_2559c: blt IL_25509
+
+ IL_255a1: ldloc V_11
+ IL_255a5: ldloc V_16
+ IL_255a9: add
+ IL_255aa: stloc V_11
+ IL_255ae: ldloc V_10
+ IL_255b2: ldc.i8 0x1
+ IL_255bb: add
+ IL_255bc: stloc V_10
+ IL_255c0: ldloc V_10
+ IL_255c4: ldc.i8 0x2
+ IL_255cd: blt IL_2548d
+
+ IL_255d2: ldc.i8 0x0
+ IL_255db: stloc V_10
+ IL_255df: ldc.i8 0x0
+ IL_255e8: stloc V_11
+ IL_255ec: ldc.i8 0x0
+ IL_255f5: stloc V_12
+ IL_255f9: ldloc V_12
+ IL_255fd: ldc.i8 0x1
+ IL_25606: add
+ IL_25607: stloc V_12
+ IL_2560b: ldloc V_12
+ IL_2560f: ldc.i8 0x2
+ IL_25618: blt IL_255f9
+
+ IL_2561d: ldloc V_17
+ IL_25621: stloc V_18
+ IL_25625: ldloc V_11
+ IL_25629: ldc.i8 0x1
+ IL_25632: add
+ IL_25633: stloc V_11
+ IL_25637: ldloc V_11
+ IL_2563b: ldc.i8 0x0
+ IL_25644: blt IL_255ec
+
+ IL_25649: ldc.i8 0x0
+ IL_25652: stloc V_11
+ IL_25656: ldc.i8 0x0
+ IL_2565f: stloc V_12
+ IL_25663: ldloc V_12
+ IL_25667: ldc.i8 0x1
+ IL_25670: add
+ IL_25671: stloc V_12
+ IL_25675: ldloc V_12
+ IL_25679: ldc.i8 0x2
+ IL_25682: blt IL_25663
+
+ IL_25687: ldc.i8 0x0
+ IL_25690: stloc V_12
+ IL_25694: ldloc V_12
+ IL_25698: ldc.i8 0x1
+ IL_256a1: add
+ IL_256a2: stloc V_12
+ IL_256a6: ldloc V_12
+ IL_256aa: ldc.i8 0x1
+ IL_256b3: blt IL_25694
+
+ IL_256b8: ldc.i8 0x0
+ IL_256c1: stloc V_12
+ IL_256c5: ldloc V_12
+ IL_256c9: ldc.i8 0x1
+ IL_256d2: add
+ IL_256d3: stloc V_12
+ IL_256d7: ldloc V_12
+ IL_256db: ldc.i8 0x0
+ IL_256e4: blt IL_256c5
+
+ IL_256e9: br IL_256ee
+
+ IL_256ee: ldloc V_8
+ IL_256f2: stloc V_29
+ IL_256f6: ldloc V_11
+ IL_256fa: ldc.i8 0x1
+ IL_25703: add
+ IL_25704: stloc V_11
+ IL_25708: ldloc V_11
+ IL_2570c: ldc.i8 0x0
+ IL_25715: blt IL_25656
+
+ IL_2571a: ldc.i8 0x0
+ IL_25723: stloc V_11
+ IL_25727: ldc.i8 0x0
+ IL_25730: stloc V_12
+ IL_25734: ldloc V_12
+ IL_25738: ldc.i8 0x1
+ IL_25741: add
+ IL_25742: stloc V_12
+ IL_25746: ldloc V_12
+ IL_2574a: ldc.i8 0x1
+ IL_25753: blt IL_25734
+
+ IL_25758: nop
+ IL_25759: ldloc V_11
+ IL_2575d: ldc.i8 0x1
+ IL_25766: add
+ IL_25767: stloc V_11
+ IL_2576b: ldloc V_11
+ IL_2576f: ldc.i8 0x0
+ IL_25778: blt IL_25727
+
+ IL_2577d: br IL_2578a
+
+ IL_25782: ldloc V_22
+ IL_25786: stloc V_44
+ IL_2578a: ldloc V_37
+ IL_2578e: ldloc V_38
+ IL_25792: add
+ IL_25793: stloc V_20
+ IL_25797: ldloc V_10
+ IL_2579b: ldc.i8 0x1
+ IL_257a4: add
+ IL_257a5: stloc V_10
+ IL_257a9: ldloc V_10
+ IL_257ad: ldc.i8 0x2
+ IL_257b6: blt IL_255df
+
+ IL_257bb: ldloc V_15
+ IL_257bf: stloc V_41
+ IL_257c3: ldloc V_9
+ IL_257c7: ldc.i8 0x1
+ IL_257d0: add
+ IL_257d1: stloc V_9
+ IL_257d5: ldloc V_9
+ IL_257d9: ldc.i8 0x1
+ IL_257e2: blt IL_253c2
+
+ IL_257e7: br IL_25b9b
+
+ IL_257ec: br IL_25a63
+
+ IL_257f1: ldc.i8 0x0
+ IL_257fa: stloc V_11
+ IL_257fe: br IL_25803
+
+ IL_25803: ldc.i8 0x0
+ IL_2580c: stloc V_12
+ IL_25810: ldloc V_12
+ IL_25814: ldc.i8 0x1
+ IL_2581d: add
+ IL_2581e: stloc V_12
+ IL_25822: ldloc V_12
+ IL_25826: ldc.i8 0x2
+ IL_2582f: blt IL_25810
+
+ IL_25834: ldc.i8 0x0
+ IL_2583d: stloc V_12
+ IL_25841: ldloc V_12
+ IL_25845: ldc.i8 0x1
+ IL_2584e: add
+ IL_2584f: stloc V_12
+ IL_25853: ldloc V_12
+ IL_25857: ldc.i8 0x2
+ IL_25860: blt IL_25841
+
+ IL_25865: ldc.i8 0x0
+ IL_2586e: stloc V_12
+ IL_25872: ldloc V_12
+ IL_25876: ldc.i8 0x1
+ IL_2587f: add
+ IL_25880: stloc V_12
+ IL_25884: ldloc V_12
+ IL_25888: ldc.i8 0x2
+ IL_25891: blt IL_25872
+
+ IL_25896: ldloc V_13
+ IL_2589a: stloc V_28
+ IL_2589e: ldloc V_11
+ IL_258a2: ldc.i8 0x1
+ IL_258ab: add
+ IL_258ac: stloc V_11
+ IL_258b0: ldloc V_11
+ IL_258b4: ldc.i8 0x2
+ IL_258bd: blt IL_257fe
+
+ IL_258c2: ldc.i8 0x0
+ IL_258cb: stloc V_11
+ IL_258cf: ldc.i8 0x0
+ IL_258d8: stloc V_12
+ IL_258dc: ldloc V_12
+ IL_258e0: ldc.i8 0x1
+ IL_258e9: add
+ IL_258ea: stloc V_12
+ IL_258ee: ldloc V_12
+ IL_258f2: ldc.i8 0x0
+ IL_258fb: blt IL_258dc
+
+ IL_25900: ldc.i8 0x0
+ IL_25909: stloc V_12
+ IL_2590d: ldloc V_12
+ IL_25911: ldc.i8 0x1
+ IL_2591a: add
+ IL_2591b: stloc V_12
+ IL_2591f: ldloc V_12
+ IL_25923: ldc.i8 0x2
+ IL_2592c: blt IL_2590d
+
+ IL_25931: br IL_25936
+
+ IL_25936: ldc.i8 0x0
+ IL_2593f: stloc V_12
+ IL_25943: ldloc V_12
+ IL_25947: ldc.i8 0x1
+ IL_25950: add
+ IL_25951: stloc V_12
+ IL_25955: ldloc V_12
+ IL_25959: ldc.i8 0x2
+ IL_25962: blt IL_25943
+
+ IL_25967: nop
+ IL_25968: ldloc V_11
+ IL_2596c: ldc.i8 0x1
+ IL_25975: add
+ IL_25976: stloc V_11
+ IL_2597a: ldloc V_11
+ IL_2597e: ldc.i8 0x2
+ IL_25987: blt IL_258cf
+
+ IL_2598c: ldc.i8 0x0
+ IL_25995: stloc V_11
+ IL_25999: ldc.i8 0x0
+ IL_259a2: stloc V_12
+ IL_259a6: ldloc V_12
+ IL_259aa: ldc.i8 0x1
+ IL_259b3: add
+ IL_259b4: stloc V_12
+ IL_259b8: ldloc V_12
+ IL_259bc: ldc.i8 0x1
+ IL_259c5: blt IL_259a6
+
+ IL_259ca: ldc.i8 0x0
+ IL_259d3: stloc V_12
+ IL_259d7: ldloc V_12
+ IL_259db: ldc.i8 0x1
+ IL_259e4: add
+ IL_259e5: stloc V_12
+ IL_259e9: ldloc V_12
+ IL_259ed: ldc.i8 0x2
+ IL_259f6: blt IL_259d7
+
+ IL_259fb: br IL_25a00
+
+ IL_25a00: ldc.i8 0x0
+ IL_25a09: stloc V_12
+ IL_25a0d: ldloc V_12
+ IL_25a11: ldc.i8 0x1
+ IL_25a1a: add
+ IL_25a1b: stloc V_12
+ IL_25a1f: ldloc V_12
+ IL_25a23: ldc.i8 0x1
+ IL_25a2c: blt IL_25a0d
+
+ IL_25a31: ldloc V_36
+ IL_25a35: ldloc V_34
+ IL_25a39: add
+ IL_25a3a: stloc V_36
+ IL_25a3e: ldloc V_11
+ IL_25a42: ldc.i8 0x1
+ IL_25a4b: add
+ IL_25a4c: stloc V_11
+ IL_25a50: ldloc V_11
+ IL_25a54: ldc.i8 0x1
+ IL_25a5d: blt IL_25999
+
+ IL_25a62: nop
+ IL_25a63: ldc.i8 0x0
+ IL_25a6c: stloc V_10
+ IL_25a70: ldc.i8 0x0
+ IL_25a79: stloc V_11
+ IL_25a7d: br IL_25a82
+
+ IL_25a82: ldloc V_41
+ IL_25a86: ldloc V_22
+ IL_25a8a: add
+ IL_25a8b: ldc.i8 0x5
+ IL_25a94: add
+ IL_25a95: stloc V_41
+ IL_25a99: ldloc V_11
+ IL_25a9d: ldc.i8 0x1
+ IL_25aa6: add
+ IL_25aa7: stloc V_11
+ IL_25aab: ldloc V_11
+ IL_25aaf: ldc.i8 0x2
+ IL_25ab8: blt IL_25a7d
+
+ IL_25abd: ldc.i8 0x0
+ IL_25ac6: stloc V_11
+ IL_25aca: ldc.i8 0x0
+ IL_25ad3: stloc V_12
+ IL_25ad7: ldloc V_12
+ IL_25adb: ldc.i8 0x1
+ IL_25ae4: add
+ IL_25ae5: stloc V_12
+ IL_25ae9: ldloc V_12
+ IL_25aed: ldc.i8 0x2
+ IL_25af6: blt IL_25ad7
+
+ IL_25afb: ldc.i8 0x0
+ IL_25b04: stloc V_12
+ IL_25b08: ldloc V_12
+ IL_25b0c: ldc.i8 0x1
+ IL_25b15: add
+ IL_25b16: stloc V_12
+ IL_25b1a: ldloc V_12
+ IL_25b1e: ldc.i8 0x1
+ IL_25b27: blt IL_25b08
+
+ IL_25b2c: ldloc V_38
+ IL_25b30: ldloc V_4
+ IL_25b34: add
+ IL_25b35: stloc V_15
+ IL_25b39: ldloc V_11
+ IL_25b3d: ldc.i8 0x1
+ IL_25b46: add
+ IL_25b47: stloc V_11
+ IL_25b4b: ldloc V_11
+ IL_25b4f: ldc.i8 0x1
+ IL_25b58: blt IL_25aca
+
+ IL_25b5d: ldc.i8 0x7
+ IL_25b66: stloc V_39
+ IL_25b6a: ldloc V_10
+ IL_25b6e: ldc.i8 0x1
+ IL_25b77: add
+ IL_25b78: stloc V_10
+ IL_25b7c: ldloc V_10
+ IL_25b80: ldc.i8 0x2
+ IL_25b89: blt IL_25a70
+
+ IL_25b8e: ldloc V_16
+ IL_25b92: ldloc V_14
+ IL_25b96: add
+ IL_25b97: stloc V_18
+ IL_25b9b: ldc.i8 0x0
+ IL_25ba4: stloc V_9
+ IL_25ba8: br IL_25d11
+
+ IL_25bad: ldc.i8 0x0
+ IL_25bb6: stloc V_11
+ IL_25bba: br IL_25bbf
+
+ IL_25bbf: br IL_25bc4
+
+ IL_25bc4: ldloc V_37
+ IL_25bc8: ldloc V_12
+ IL_25bcc: add
+ IL_25bcd: stloc V_28
+ IL_25bd1: ldloc V_11
+ IL_25bd5: ldc.i8 0x1
+ IL_25bde: add
+ IL_25bdf: stloc V_11
+ IL_25be3: ldloc V_11
+ IL_25be7: ldc.i8 0x2
+ IL_25bf0: blt IL_25bba
+
+ IL_25bf5: ldc.i8 0x0
+ IL_25bfe: stloc V_11
+ IL_25c02: ldloc V_21
+ IL_25c06: ldloc V_40
+ IL_25c0a: add
+ IL_25c0b: stloc V_21
+ IL_25c0f: ldloc V_11
+ IL_25c13: ldc.i8 0x1
+ IL_25c1c: add
+ IL_25c1d: stloc V_11
+ IL_25c21: ldloc V_11
+ IL_25c25: ldc.i8 0x0
+ IL_25c2e: blt IL_25c02
+
+ IL_25c33: br IL_25d04
+
+ IL_25c38: ldc.i8 0x0
+ IL_25c41: stloc V_12
+ IL_25c45: ldloc V_12
+ IL_25c49: ldc.i8 0x1
+ IL_25c52: add
+ IL_25c53: stloc V_12
+ IL_25c57: ldloc V_12
+ IL_25c5b: ldc.i8 0x0
+ IL_25c64: blt IL_25c45
+
+ IL_25c69: ldc.i8 0x0
+ IL_25c72: stloc V_12
+ IL_25c76: ldloc V_12
+ IL_25c7a: ldc.i8 0x1
+ IL_25c83: add
+ IL_25c84: stloc V_12
+ IL_25c88: ldloc V_12
+ IL_25c8c: ldc.i8 0x1
+ IL_25c95: blt IL_25c76
+
+ IL_25c9a: ldc.i8 0x0
+ IL_25ca3: stloc V_12
+ IL_25ca7: ldloc V_12
+ IL_25cab: ldc.i8 0x1
+ IL_25cb4: add
+ IL_25cb5: stloc V_12
+ IL_25cb9: ldloc V_12
+ IL_25cbd: ldc.i8 0x2
+ IL_25cc6: blt IL_25ca7
+
+ IL_25ccb: ldc.i8 0x0
+ IL_25cd4: stloc V_12
+ IL_25cd8: ldloc V_12
+ IL_25cdc: ldc.i8 0x1
+ IL_25ce5: add
+ IL_25ce6: stloc V_12
+ IL_25cea: ldloc V_12
+ IL_25cee: ldc.i8 0x1
+ IL_25cf7: blt IL_25cd8
+
+ IL_25cfc: ldloc V_16
+ IL_25d00: stloc V_22
+ IL_25d04: ldloc V_30
+ IL_25d08: ldloc V_8
+ IL_25d0c: add
+ IL_25d0d: stloc V_37
+ IL_25d11: ldc.i8 0x0
+ IL_25d1a: stloc V_10
+ IL_25d1e: ldc.i8 0x0
+ IL_25d27: stloc V_11
+ IL_25d2b: ldc.i8 0x0
+ IL_25d34: stloc V_12
+ IL_25d38: ldloc V_12
+ IL_25d3c: ldc.i8 0x1
+ IL_25d45: add
+ IL_25d46: stloc V_12
+ IL_25d4a: ldloc V_12
+ IL_25d4e: ldc.i8 0x2
+ IL_25d57: blt IL_25d38
+
+ IL_25d5c: ldloc V_38
+ IL_25d60: ldloc V_29
+ IL_25d64: add
+ IL_25d65: ldc.i8 0x2
+ IL_25d6e: add
+ IL_25d6f: stloc V_38
+ IL_25d73: ldloc V_11
+ IL_25d77: ldc.i8 0x1
+ IL_25d80: add
+ IL_25d81: stloc V_11
+ IL_25d85: ldloc V_11
+ IL_25d89: ldc.i8 0x0
+ IL_25d92: blt IL_25d2b
+
+ IL_25d97: ldc.i8 0x0
+ IL_25da0: stloc V_11
+ IL_25da4: ldc.i8 0x0
+ IL_25dad: stloc V_12
+ IL_25db1: ldloc V_12
+ IL_25db5: ldc.i8 0x1
+ IL_25dbe: add
+ IL_25dbf: stloc V_12
+ IL_25dc3: ldloc V_12
+ IL_25dc7: ldc.i8 0x0
+ IL_25dd0: blt IL_25db1
+
+ IL_25dd5: ldc.i8 0x0
+ IL_25dde: stloc V_12
+ IL_25de2: ldloc V_12
+ IL_25de6: ldc.i8 0x1
+ IL_25def: add
+ IL_25df0: stloc V_12
+ IL_25df4: ldloc V_12
+ IL_25df8: ldc.i8 0x0
+ IL_25e01: blt IL_25de2
+
+ IL_25e06: nop
+ IL_25e07: ldloc V_11
+ IL_25e0b: ldc.i8 0x1
+ IL_25e14: add
+ IL_25e15: stloc V_11
+ IL_25e19: ldloc V_11
+ IL_25e1d: ldc.i8 0x2
+ IL_25e26: blt IL_25da4
+
+ IL_25e2b: ldc.i8 0x0
+ IL_25e34: stloc V_11
+ IL_25e38: ldloc V_25
+ IL_25e3c: ldloc V_11
+ IL_25e40: add
+ IL_25e41: ldc.i8 0x8
+ IL_25e4a: add
+ IL_25e4b: stloc V_25
+ IL_25e4f: ldloc V_11
+ IL_25e53: ldc.i8 0x1
+ IL_25e5c: add
+ IL_25e5d: stloc V_11
+ IL_25e61: ldloc V_11
+ IL_25e65: ldc.i8 0x1
+ IL_25e6e: blt IL_25e38
+
+ IL_25e73: ldc.i8 0x0
+ IL_25e7c: stloc V_11
+ IL_25e80: ldc.i8 0x0
+ IL_25e89: stloc V_12
+ IL_25e8d: ldloc V_12
+ IL_25e91: ldc.i8 0x1
+ IL_25e9a: add
+ IL_25e9b: stloc V_12
+ IL_25e9f: ldloc V_12
+ IL_25ea3: ldc.i8 0x1
+ IL_25eac: blt IL_25e8d
+
+ IL_25eb1: br IL_25eb6
+
+ IL_25eb6: nop
+ IL_25eb7: ldloc V_11
+ IL_25ebb: ldc.i8 0x1
+ IL_25ec4: add
+ IL_25ec5: stloc V_11
+ IL_25ec9: ldloc V_11
+ IL_25ecd: ldc.i8 0x1
+ IL_25ed6: blt IL_25e80
+
+ IL_25edb: ldloc V_37
+ IL_25edf: ldloc V_25
+ IL_25ee3: add
+ IL_25ee4: stloc V_46
+ IL_25ee8: ldloc V_10
+ IL_25eec: ldc.i8 0x1
+ IL_25ef5: add
+ IL_25ef6: stloc V_10
+ IL_25efa: ldloc V_10
+ IL_25efe: ldc.i8 0x0
+ IL_25f07: blt IL_25d1e
+
+ IL_25f0c: nop
+ IL_25f0d: ldloc V_9
+ IL_25f11: ldc.i8 0x1
+ IL_25f1a: add
+ IL_25f1b: stloc V_9
+ IL_25f1f: ldloc V_9
+ IL_25f23: ldc.i8 0x2
+ IL_25f2c: blt IL_25ba8
+
+ IL_25f31: ldloc V_22
+ IL_25f35: ldloc V_33
+ IL_25f39: add
+ IL_25f3a: ldc.i8 0x5
+ IL_25f43: add
+ IL_25f44: stloc V_22
+ IL_25f48: ldc.i8 0x0
+ IL_25f51: stloc V_8
+ IL_25f55: br IL_25faf
+
+ IL_25f5a: ldc.i8 0x0
+ IL_25f63: stloc V_10
+ IL_25f67: ldc.i8 0x1
+ IL_25f70: stloc V_19
+ IL_25f74: ldloc V_10
+ IL_25f78: ldc.i8 0x1
+ IL_25f81: add
+ IL_25f82: stloc V_10
+ IL_25f86: ldloc V_10
+ IL_25f8a: ldc.i8 0x1
+ IL_25f93: blt IL_25f67
+
+ IL_25f98: ldloc V_14
+ IL_25f9c: ldloc V_39
+ IL_25fa0: add
+ IL_25fa1: ldc.i8 0x7
+ IL_25faa: add
+ IL_25fab: stloc V_14
+ IL_25faf: ldc.i8 0x0
+ IL_25fb8: stloc V_9
+ IL_25fbc: ldc.i8 0x0
+ IL_25fc5: stloc V_10
+ IL_25fc9: ldc.i8 0x0
+ IL_25fd2: stloc V_11
+ IL_25fd6: ldloc V_23
+ IL_25fda: ldloc V_17
+ IL_25fde: add
+ IL_25fdf: ldc.i8 0x9
+ IL_25fe8: add
+ IL_25fe9: stloc V_23
+ IL_25fed: ldloc V_11
+ IL_25ff1: ldc.i8 0x1
+ IL_25ffa: add
+ IL_25ffb: stloc V_11
+ IL_25fff: ldloc V_11
+ IL_26003: ldc.i8 0x2
+ IL_2600c: blt IL_25fd6
+
+ IL_26011: br IL_26085
+
+ IL_26016: ldc.i8 0x0
+ IL_2601f: stloc V_12
+ IL_26023: ldloc V_12
+ IL_26027: ldc.i8 0x1
+ IL_26030: add
+ IL_26031: stloc V_12
+ IL_26035: ldloc V_12
+ IL_26039: ldc.i8 0x2
+ IL_26042: blt IL_26023
+
+ IL_26047: ldc.i8 0x0
+ IL_26050: stloc V_12
+ IL_26054: ldloc V_12
+ IL_26058: ldc.i8 0x1
+ IL_26061: add
+ IL_26062: stloc V_12
+ IL_26066: ldloc V_12
+ IL_2606a: ldc.i8 0x0
+ IL_26073: blt IL_26054
+
+ IL_26078: ldc.i8 0x7
+ IL_26081: stloc V_17
+ IL_26085: ldc.i8 0x0
+ IL_2608e: stloc V_11
+ IL_26092: br IL_26097
+
+ IL_26097: ldc.i8 0x0
+ IL_260a0: stloc V_12
+ IL_260a4: ldloc V_12
+ IL_260a8: ldc.i8 0x1
+ IL_260b1: add
+ IL_260b2: stloc V_12
+ IL_260b6: ldloc V_12
+ IL_260ba: ldc.i8 0x0
+ IL_260c3: blt IL_260a4
+
+ IL_260c8: ldc.i8 0x0
+ IL_260d1: stloc V_12
+ IL_260d5: ldloc V_12
+ IL_260d9: ldc.i8 0x1
+ IL_260e2: add
+ IL_260e3: stloc V_12
+ IL_260e7: ldloc V_12
+ IL_260eb: ldc.i8 0x2
+ IL_260f4: blt IL_260d5
+
+ IL_260f9: ldc.i8 0x0
+ IL_26102: stloc V_12
+ IL_26106: ldloc V_12
+ IL_2610a: ldc.i8 0x1
+ IL_26113: add
+ IL_26114: stloc V_12
+ IL_26118: ldloc V_12
+ IL_2611c: ldc.i8 0x0
+ IL_26125: blt IL_26106
+
+ IL_2612a: ldloc V_24
+ IL_2612e: ldloc V_1
+ IL_26132: add
+ IL_26133: stloc V_30
+ IL_26137: ldloc V_11
+ IL_2613b: ldc.i8 0x1
+ IL_26144: add
+ IL_26145: stloc V_11
+ IL_26149: ldloc V_11
+ IL_2614d: ldc.i8 0x0
+ IL_26156: blt IL_26092
+
+ IL_2615b: ldc.i8 0x0
+ IL_26164: stloc V_11
+ IL_26168: ldc.i8 0x0
+ IL_26171: stloc V_12
+ IL_26175: ldloc V_12
+ IL_26179: ldc.i8 0x1
+ IL_26182: add
+ IL_26183: stloc V_12
+ IL_26187: ldloc V_12
+ IL_2618b: ldc.i8 0x1
+ IL_26194: blt IL_26175
+
+ IL_26199: ldc.i8 0x0
+ IL_261a2: stloc V_12
+ IL_261a6: ldloc V_12
+ IL_261aa: ldc.i8 0x1
+ IL_261b3: add
+ IL_261b4: stloc V_12
+ IL_261b8: ldloc V_12
+ IL_261bc: ldc.i8 0x0
+ IL_261c5: blt IL_261a6
+
+ IL_261ca: ldc.i8 0x0
+ IL_261d3: stloc V_12
+ IL_261d7: ldloc V_12
+ IL_261db: ldc.i8 0x1
+ IL_261e4: add
+ IL_261e5: stloc V_12
+ IL_261e9: ldloc V_12
+ IL_261ed: ldc.i8 0x1
+ IL_261f6: blt IL_261d7
+
+ IL_261fb: ldloc V_43
+ IL_261ff: ldloc V_35
+ IL_26203: add
+ IL_26204: ldc.i8 0x5
+ IL_2620d: add
+ IL_2620e: stloc V_43
+ IL_26212: ldloc V_11
+ IL_26216: ldc.i8 0x1
+ IL_2621f: add
+ IL_26220: stloc V_11
+ IL_26224: ldloc V_11
+ IL_26228: ldc.i8 0x0
+ IL_26231: blt IL_26168
+
+ IL_26236: ldloc V_17
+ IL_2623a: ldloc V_32
+ IL_2623e: add
+ IL_2623f: stloc V_17
+ IL_26243: ldloc V_10
+ IL_26247: ldc.i8 0x1
+ IL_26250: add
+ IL_26251: stloc V_10
+ IL_26255: ldloc V_10
+ IL_26259: ldc.i8 0x2
+ IL_26262: blt IL_25fc9
+
+ IL_26267: ldc.i8 0x0
+ IL_26270: stloc V_10
+ IL_26274: ldloc V_47
+ IL_26278: stloc V_46
+ IL_2627c: ldloc V_10
+ IL_26280: ldc.i8 0x1
+ IL_26289: add
+ IL_2628a: stloc V_10
+ IL_2628e: ldloc V_10
+ IL_26292: ldc.i8 0x2
+ IL_2629b: blt IL_26274
+
+ IL_262a0: nop
+ IL_262a1: ldloc V_9
+ IL_262a5: ldc.i8 0x1
+ IL_262ae: add
+ IL_262af: stloc V_9
+ IL_262b3: ldloc V_9
+ IL_262b7: ldc.i8 0x1
+ IL_262c0: blt IL_25fbc
+
+ IL_262c5: ldc.i8 0x0
+ IL_262ce: stloc V_9
+ IL_262d2: br IL_26414
+
+ IL_262d7: ldc.i8 0x0
+ IL_262e0: stloc V_11
+ IL_262e4: br IL_262e9
+
+ IL_262e9: ldc.i8 0x8
+ IL_262f2: stloc V_37
+ IL_262f6: ldloc V_11
+ IL_262fa: ldc.i8 0x1
+ IL_26303: add
+ IL_26304: stloc V_11
+ IL_26308: ldloc V_11
+ IL_2630c: ldc.i8 0x1
+ IL_26315: blt IL_262e4
+
+ IL_2631a: ldc.i8 0x0
+ IL_26323: stloc V_11
+ IL_26327: ldloc V_25
+ IL_2632b: stloc V_36
+ IL_2632f: ldloc V_11
+ IL_26333: ldc.i8 0x1
+ IL_2633c: add
+ IL_2633d: stloc V_11
+ IL_26341: ldloc V_11
+ IL_26345: ldc.i8 0x0
+ IL_2634e: blt IL_26327
+
+ IL_26353: ldc.i8 0x0
+ IL_2635c: stloc V_11
+ IL_26360: ldc.i8 0x0
+ IL_26369: stloc V_12
+ IL_2636d: ldloc V_12
+ IL_26371: ldc.i8 0x1
+ IL_2637a: add
+ IL_2637b: stloc V_12
+ IL_2637f: ldloc V_12
+ IL_26383: ldc.i8 0x2
+ IL_2638c: blt IL_2636d
+
+ IL_26391: br IL_26396
+
+ IL_26396: ldc.i8 0x0
+ IL_2639f: stloc V_12
+ IL_263a3: ldloc V_12
+ IL_263a7: ldc.i8 0x1
+ IL_263b0: add
+ IL_263b1: stloc V_12
+ IL_263b5: ldloc V_12
+ IL_263b9: ldc.i8 0x1
+ IL_263c2: blt IL_263a3
+
+ IL_263c7: br IL_263cc
+
+ IL_263cc: ldloc V_30
+ IL_263d0: ldloc V_6
+ IL_263d4: add
+ IL_263d5: stloc V_38
+ IL_263d9: ldloc V_11
+ IL_263dd: ldc.i8 0x1
+ IL_263e6: add
+ IL_263e7: stloc V_11
+ IL_263eb: ldloc V_11
+ IL_263ef: ldc.i8 0x1
+ IL_263f8: blt IL_26360
+
+ IL_263fd: ldloc V_16
+ IL_26401: ldloc V_27
+ IL_26405: add
+ IL_26406: ldc.i8 0x4
+ IL_2640f: add
+ IL_26410: stloc V_16
+ IL_26414: ldc.i8 0x0
+ IL_2641d: stloc V_10
+ IL_26421: ldc.i8 0x0
+ IL_2642a: stloc V_11
+ IL_2642e: ldc.i8 0x0
+ IL_26437: stloc V_12
+ IL_2643b: ldloc V_12
+ IL_2643f: ldc.i8 0x1
+ IL_26448: add
+ IL_26449: stloc V_12
+ IL_2644d: ldloc V_12
+ IL_26451: ldc.i8 0x1
+ IL_2645a: blt IL_2643b
+
+ IL_2645f: ldloc V_20
+ IL_26463: ldloc V_47
+ IL_26467: add
+ IL_26468: stloc V_46
+ IL_2646c: ldloc V_11
+ IL_26470: ldc.i8 0x1
+ IL_26479: add
+ IL_2647a: stloc V_11
+ IL_2647e: ldloc V_11
+ IL_26482: ldc.i8 0x1
+ IL_2648b: blt IL_2642e
+
+ IL_26490: br IL_2653f
+
+ IL_26495: ldc.i8 0x0
+ IL_2649e: stloc V_12
+ IL_264a2: ldloc V_12
+ IL_264a6: ldc.i8 0x1
+ IL_264af: add
+ IL_264b0: stloc V_12
+ IL_264b4: ldloc V_12
+ IL_264b8: ldc.i8 0x1
+ IL_264c1: blt IL_264a2
+
+ IL_264c6: ldc.i8 0x0
+ IL_264cf: stloc V_12
+ IL_264d3: ldloc V_12
+ IL_264d7: ldc.i8 0x1
+ IL_264e0: add
+ IL_264e1: stloc V_12
+ IL_264e5: ldloc V_12
+ IL_264e9: ldc.i8 0x0
+ IL_264f2: blt IL_264d3
+
+ IL_264f7: ldc.i8 0x0
+ IL_26500: stloc V_12
+ IL_26504: ldloc V_12
+ IL_26508: ldc.i8 0x1
+ IL_26511: add
+ IL_26512: stloc V_12
+ IL_26516: ldloc V_12
+ IL_2651a: ldc.i8 0x0
+ IL_26523: blt IL_26504
+
+ IL_26528: ldloc V_24
+ IL_2652c: ldloc V_17
+ IL_26530: add
+ IL_26531: ldc.i8 0x2
+ IL_2653a: add
+ IL_2653b: stloc V_24
+ IL_2653f: ldc.i8 0x0
+ IL_26548: stloc V_11
+ IL_2654c: br IL_26551
+
+ IL_26551: ldc.i8 0x0
+ IL_2655a: stloc V_12
+ IL_2655e: ldloc V_12
+ IL_26562: ldc.i8 0x1
+ IL_2656b: add
+ IL_2656c: stloc V_12
+ IL_26570: ldloc V_12
+ IL_26574: ldc.i8 0x1
+ IL_2657d: blt IL_2655e
+
+ IL_26582: ldloc V_10
+ IL_26586: ldc.i8 0x5
+ IL_2658f: add
+ IL_26590: stloc V_20
+ IL_26594: ldloc V_11
+ IL_26598: ldc.i8 0x1
+ IL_265a1: add
+ IL_265a2: stloc V_11
+ IL_265a6: ldloc V_11
+ IL_265aa: ldc.i8 0x1
+ IL_265b3: blt IL_2654c
+
+ IL_265b8: ldloc V_0
+ IL_265bc: ldc.i8 0x3
+ IL_265c5: add
+ IL_265c6: stloc V_11
+ IL_265ca: ldloc V_10
+ IL_265ce: ldc.i8 0x1
+ IL_265d7: add
+ IL_265d8: stloc V_10
+ IL_265dc: ldloc V_10
+ IL_265e0: ldc.i8 0x2
+ IL_265e9: blt IL_26421
+
+ IL_265ee: ldc.i8 0x0
+ IL_265f7: stloc V_10
+ IL_265fb: ldc.i8 0x0
+ IL_26604: stloc V_11
+ IL_26608: br IL_2660d
+
+ IL_2660d: br IL_26612
+
+ IL_26612: ldloc V_35
+ IL_26616: ldloc V_42
+ IL_2661a: add
+ IL_2661b: stloc V_21
+ IL_2661f: ldloc V_11
+ IL_26623: ldc.i8 0x1
+ IL_2662c: add
+ IL_2662d: stloc V_11
+ IL_26631: ldloc V_11
+ IL_26635: ldc.i8 0x1
+ IL_2663e: blt IL_26608
+
+ IL_26643: ldloc V_0
+ IL_26647: stloc V_23
+ IL_2664b: ldloc V_10
+ IL_2664f: ldc.i8 0x1
+ IL_26658: add
+ IL_26659: stloc V_10
+ IL_2665d: ldloc V_10
+ IL_26661: ldc.i8 0x2
+ IL_2666a: blt IL_265fb
+
+ IL_2666f: br IL_267b1
+
+ IL_26674: ldc.i8 0x0
+ IL_2667d: stloc V_11
+ IL_26681: ldc.i8 0x3
+ IL_2668a: stloc V_44
+ IL_2668e: ldloc V_11
+ IL_26692: ldc.i8 0x1
+ IL_2669b: add
+ IL_2669c: stloc V_11
+ IL_266a0: ldloc V_11
+ IL_266a4: ldc.i8 0x0
+ IL_266ad: blt IL_26681
+
+ IL_266b2: ldc.i8 0x0
+ IL_266bb: stloc V_11
+ IL_266bf: br IL_266c4
+
+ IL_266c4: ldc.i8 0x0
+ IL_266cd: stloc V_12
+ IL_266d1: ldloc V_12
+ IL_266d5: ldc.i8 0x1
+ IL_266de: add
+ IL_266df: stloc V_12
+ IL_266e3: ldloc V_12
+ IL_266e7: ldc.i8 0x0
+ IL_266f0: blt IL_266d1
+
+ IL_266f5: br IL_266fa
+
+ IL_266fa: ldloc V_2
+ IL_266fe: ldloc V_35
+ IL_26702: add
+ IL_26703: stloc V_24
+ IL_26707: ldloc V_11
+ IL_2670b: ldc.i8 0x1
+ IL_26714: add
+ IL_26715: stloc V_11
+ IL_26719: ldloc V_11
+ IL_2671d: ldc.i8 0x2
+ IL_26726: blt IL_266bf
+
+ IL_2672b: br IL_267a4
+
+ IL_26730: ldc.i8 0x0
+ IL_26739: stloc V_12
+ IL_2673d: ldloc V_12
+ IL_26741: ldc.i8 0x1
+ IL_2674a: add
+ IL_2674b: stloc V_12
+ IL_2674f: ldloc V_12
+ IL_26753: ldc.i8 0x0
+ IL_2675c: blt IL_2673d
+
+ IL_26761: ldc.i8 0x0
+ IL_2676a: stloc V_12
+ IL_2676e: ldloc V_12
+ IL_26772: ldc.i8 0x1
+ IL_2677b: add
+ IL_2677c: stloc V_12
+ IL_26780: ldloc V_12
+ IL_26784: ldc.i8 0x1
+ IL_2678d: blt IL_2676e
+
+ IL_26792: ldloc V_27
+ IL_26796: ldc.i8 0x6
+ IL_2679f: add
+ IL_267a0: stloc V_32
+ IL_267a4: ldloc V_6
+ IL_267a8: ldloc V_49
+ IL_267ac: add
+ IL_267ad: stloc V_24
+ IL_267b1: ldc.i8 0x3
+ IL_267ba: stloc V_30
+ IL_267be: ldloc V_9
+ IL_267c2: ldc.i8 0x1
+ IL_267cb: add
+ IL_267cc: stloc V_9
+ IL_267d0: ldloc V_9
+ IL_267d4: ldc.i8 0x0
+ IL_267dd: blt IL_262d2
+
+ IL_267e2: br IL_26bcf
+
+ IL_267e7: br IL_26861
+
+ IL_267ec: br IL_26860
+
+ IL_267f1: ldc.i8 0x0
+ IL_267fa: stloc V_12
+ IL_267fe: ldloc V_12
+ IL_26802: ldc.i8 0x1
+ IL_2680b: add
+ IL_2680c: stloc V_12
+ IL_26810: ldloc V_12
+ IL_26814: ldc.i8 0x2
+ IL_2681d: blt IL_267fe
+
+ IL_26822: ldc.i8 0x0
+ IL_2682b: stloc V_12
+ IL_2682f: ldloc V_12
+ IL_26833: ldc.i8 0x1
+ IL_2683c: add
+ IL_2683d: stloc V_12
+ IL_26841: ldloc V_12
+ IL_26845: ldc.i8 0x1
+ IL_2684e: blt IL_2682f
+
+ IL_26853: ldloc V_26
+ IL_26857: ldloc V_35
+ IL_2685b: add
+ IL_2685c: stloc V_26
+ IL_26860: nop
+ IL_26861: br IL_26932
+
+ IL_26866: ldc.i8 0x0
+ IL_2686f: stloc V_11
+ IL_26873: br IL_26878
+
+ IL_26878: ldloc V_2
+ IL_2687c: stloc V_13
+ IL_26880: ldloc V_11
+ IL_26884: ldc.i8 0x1
+ IL_2688d: add
+ IL_2688e: stloc V_11
+ IL_26892: ldloc V_11
+ IL_26896: ldc.i8 0x0
+ IL_2689f: blt IL_26873
+
+ IL_268a4: br IL_26918
+
+ IL_268a9: ldc.i8 0x0
+ IL_268b2: stloc V_12
+ IL_268b6: ldloc V_12
+ IL_268ba: ldc.i8 0x1
+ IL_268c3: add
+ IL_268c4: stloc V_12
+ IL_268c8: ldloc V_12
+ IL_268cc: ldc.i8 0x0
+ IL_268d5: blt IL_268b6
+
+ IL_268da: ldc.i8 0x0
+ IL_268e3: stloc V_12
+ IL_268e7: ldloc V_12
+ IL_268eb: ldc.i8 0x1
+ IL_268f4: add
+ IL_268f5: stloc V_12
+ IL_268f9: ldloc V_12
+ IL_268fd: ldc.i8 0x0
+ IL_26906: blt IL_268e7
+
+ IL_2690b: ldloc V_21
+ IL_2690f: ldloc V_33
+ IL_26913: add
+ IL_26914: stloc V_21
+ IL_26918: br IL_2692a
+
+ IL_2691d: ldloc V_38
+ IL_26921: ldloc V_48
+ IL_26925: add
+ IL_26926: stloc V_38
+ IL_2692a: ldloc V_44
+ IL_2692e: stloc V_38
+ IL_26932: ldc.i8 0x0
+ IL_2693b: stloc V_10
+ IL_2693f: br IL_269b3
+
+ IL_26944: ldc.i8 0x0
+ IL_2694d: stloc V_12
+ IL_26951: ldloc V_12
+ IL_26955: ldc.i8 0x1
+ IL_2695e: add
+ IL_2695f: stloc V_12
+ IL_26963: ldloc V_12
+ IL_26967: ldc.i8 0x0
+ IL_26970: blt IL_26951
+
+ IL_26975: ldc.i8 0x0
+ IL_2697e: stloc V_12
+ IL_26982: ldloc V_12
+ IL_26986: ldc.i8 0x1
+ IL_2698f: add
+ IL_26990: stloc V_12
+ IL_26994: ldloc V_12
+ IL_26998: ldc.i8 0x2
+ IL_269a1: blt IL_26982
+
+ IL_269a6: ldloc V_19
+ IL_269aa: ldloc V_22
+ IL_269ae: add
+ IL_269af: stloc V_19
+ IL_269b3: ldc.i8 0x0
+ IL_269bc: stloc V_11
+ IL_269c0: ldc.i8 0x0
+ IL_269c9: stloc V_12
+ IL_269cd: ldloc V_12
+ IL_269d1: ldc.i8 0x1
+ IL_269da: add
+ IL_269db: stloc V_12
+ IL_269df: ldloc V_12
+ IL_269e3: ldc.i8 0x2
+ IL_269ec: blt IL_269cd
+
+ IL_269f1: ldc.i8 0x0
+ IL_269fa: stloc V_12
+ IL_269fe: ldloc V_12
+ IL_26a02: ldc.i8 0x1
+ IL_26a0b: add
+ IL_26a0c: stloc V_12
+ IL_26a10: ldloc V_12
+ IL_26a14: ldc.i8 0x1
+ IL_26a1d: blt IL_269fe
+
+ IL_26a22: ldc.i8 0x0
+ IL_26a2b: stloc V_12
+ IL_26a2f: ldloc V_12
+ IL_26a33: ldc.i8 0x1
+ IL_26a3c: add
+ IL_26a3d: stloc V_12
+ IL_26a41: ldloc V_12
+ IL_26a45: ldc.i8 0x2
+ IL_26a4e: blt IL_26a2f
+
+ IL_26a53: ldloc V_10
+ IL_26a57: ldloc V_0
+ IL_26a5b: add
+ IL_26a5c: stloc V_45
+ IL_26a60: ldloc V_11
+ IL_26a64: ldc.i8 0x1
+ IL_26a6d: add
+ IL_26a6e: stloc V_11
+ IL_26a72: ldloc V_11
+ IL_26a76: ldc.i8 0x1
+ IL_26a7f: blt IL_269c0
+
+ IL_26a84: br IL_26af8
+
+ IL_26a89: ldc.i8 0x0
+ IL_26a92: stloc V_12
+ IL_26a96: ldloc V_12
+ IL_26a9a: ldc.i8 0x1
+ IL_26aa3: add
+ IL_26aa4: stloc V_12
+ IL_26aa8: ldloc V_12
+ IL_26aac: ldc.i8 0x2
+ IL_26ab5: blt IL_26a96
+
+ IL_26aba: ldc.i8 0x0
+ IL_26ac3: stloc V_12
+ IL_26ac7: ldloc V_12
+ IL_26acb: ldc.i8 0x1
+ IL_26ad4: add
+ IL_26ad5: stloc V_12
+ IL_26ad9: ldloc V_12
+ IL_26add: ldc.i8 0x0
+ IL_26ae6: blt IL_26ac7
+
+ IL_26aeb: ldc.i8 0x4
+ IL_26af4: stloc V_44
+ IL_26af8: ldc.i8 0x0
+ IL_26b01: stloc V_11
+ IL_26b05: ldc.i8 0x0
+ IL_26b0e: stloc V_12
+ IL_26b12: ldloc V_12
+ IL_26b16: ldc.i8 0x1
+ IL_26b1f: add
+ IL_26b20: stloc V_12
+ IL_26b24: ldloc V_12
+ IL_26b28: ldc.i8 0x0
+ IL_26b31: blt IL_26b12
+
+ IL_26b36: ldc.i8 0x0
+ IL_26b3f: stloc V_12
+ IL_26b43: ldloc V_12
+ IL_26b47: ldc.i8 0x1
+ IL_26b50: add
+ IL_26b51: stloc V_12
+ IL_26b55: ldloc V_12
+ IL_26b59: ldc.i8 0x1
+ IL_26b62: blt IL_26b43
+
+ IL_26b67: ldloc V_47
+ IL_26b6b: ldloc V_13
+ IL_26b6f: add
+ IL_26b70: stloc V_47
+ IL_26b74: ldloc V_11
+ IL_26b78: ldc.i8 0x1
+ IL_26b81: add
+ IL_26b82: stloc V_11
+ IL_26b86: ldloc V_11
+ IL_26b8a: ldc.i8 0x2
+ IL_26b93: blt IL_26b05
+
+ IL_26b98: ldloc V_42
+ IL_26b9c: ldc.i8 0x6
+ IL_26ba5: add
+ IL_26ba6: stloc V_49
+ IL_26baa: ldloc V_10
+ IL_26bae: ldc.i8 0x1
+ IL_26bb7: add
+ IL_26bb8: stloc V_10
+ IL_26bbc: ldloc V_10
+ IL_26bc0: ldc.i8 0x1
+ IL_26bc9: blt IL_2693f
+
+ IL_26bce: nop
+ IL_26bcf: nop
+ IL_26bd0: ldloc V_8
+ IL_26bd4: ldc.i8 0x1
+ IL_26bdd: add
+ IL_26bde: stloc V_8
+ IL_26be2: ldloc V_8
+ IL_26be6: ldc.i8 0x0
+ IL_26bef: blt IL_25f55
+
+ IL_26bf4: ldc.i8 0x0
+ IL_26bfd: stloc V_8
+ IL_26c01: br IL_26e04
+
+ IL_26c06: br IL_26d25
+
+ IL_26c0b: br IL_26c11
+
+ IL_26c10: nop
+ IL_26c11: ldc.i8 0x0
+ IL_26c1a: stloc V_11
+ IL_26c1e: ldc.i8 0x0
+ IL_26c27: stloc V_12
+ IL_26c2b: ldloc V_12
+ IL_26c2f: ldc.i8 0x1
+ IL_26c38: add
+ IL_26c39: stloc V_12
+ IL_26c3d: ldloc V_12
+ IL_26c41: ldc.i8 0x0
+ IL_26c4a: blt IL_26c2b
+
+ IL_26c4f: ldc.i8 0x0
+ IL_26c58: stloc V_12
+ IL_26c5c: ldloc V_12
+ IL_26c60: ldc.i8 0x1
+ IL_26c69: add
+ IL_26c6a: stloc V_12
+ IL_26c6e: ldloc V_12
+ IL_26c72: ldc.i8 0x0
+ IL_26c7b: blt IL_26c5c
+
+ IL_26c80: ldc.i8 0x0
+ IL_26c89: stloc V_12
+ IL_26c8d: ldloc V_12
+ IL_26c91: ldc.i8 0x1
+ IL_26c9a: add
+ IL_26c9b: stloc V_12
+ IL_26c9f: ldloc V_12
+ IL_26ca3: ldc.i8 0x0
+ IL_26cac: blt IL_26c8d
+
+ IL_26cb1: br IL_26cb6
+
+ IL_26cb6: ldloc V_6
+ IL_26cba: stloc V_18
+ IL_26cbe: ldloc V_11
+ IL_26cc2: ldc.i8 0x1
+ IL_26ccb: add
+ IL_26ccc: stloc V_11
+ IL_26cd0: ldloc V_11
+ IL_26cd4: ldc.i8 0x0
+ IL_26cdd: blt IL_26c1e
+
+ IL_26ce2: ldc.i8 0x0
+ IL_26ceb: stloc V_11
+ IL_26cef: ldloc V_11
+ IL_26cf3: ldc.i8 0x1
+ IL_26cfc: add
+ IL_26cfd: stloc V_11
+ IL_26d01: ldloc V_11
+ IL_26d05: ldc.i8 0x0
+ IL_26d0e: blt IL_26cef
+
+ IL_26d13: br IL_26d18
+
+ IL_26d18: ldloc V_28
+ IL_26d1c: ldloc V_11
+ IL_26d20: add
+ IL_26d21: stloc V_28
+ IL_26d25: ldc.i8 0x0
+ IL_26d2e: stloc V_10
+ IL_26d32: ldc.i8 0x0
+ IL_26d3b: stloc V_11
+ IL_26d3f: ldloc V_11
+ IL_26d43: ldc.i8 0x1
+ IL_26d4c: add
+ IL_26d4d: stloc V_11
+ IL_26d51: ldloc V_11
+ IL_26d55: ldc.i8 0x0
+ IL_26d5e: blt IL_26d3f
+
+ IL_26d63: ldc.i8 0x0
+ IL_26d6c: stloc V_11
+ IL_26d70: ldloc V_11
+ IL_26d74: ldc.i8 0x1
+ IL_26d7d: add
+ IL_26d7e: stloc V_11
+ IL_26d82: ldloc V_11
+ IL_26d86: ldc.i8 0x2
+ IL_26d8f: blt IL_26d70
+
+ IL_26d94: ldloc V_25
+ IL_26d98: ldloc V_1
+ IL_26d9c: add
+ IL_26d9d: stloc V_21
+ IL_26da1: ldloc V_10
+ IL_26da5: ldc.i8 0x1
+ IL_26dae: add
+ IL_26daf: stloc V_10
+ IL_26db3: ldloc V_10
+ IL_26db7: ldc.i8 0x2
+ IL_26dc0: blt IL_26d32
+
+ IL_26dc5: ldc.i8 0x0
+ IL_26dce: stloc V_10
+ IL_26dd2: nop
+ IL_26dd3: ldloc V_10
+ IL_26dd7: ldc.i8 0x1
+ IL_26de0: add
+ IL_26de1: stloc V_10
+ IL_26de5: ldloc V_10
+ IL_26de9: ldc.i8 0x0
+ IL_26df2: blt IL_26dd2
+
+ IL_26df7: ldloc V_37
+ IL_26dfb: ldloc V_38
+ IL_26dff: add
+ IL_26e00: stloc V_37
+ IL_26e04: ldloc V_13
+ IL_26e08: stloc V_9
+ IL_26e0c: ldloc V_8
+ IL_26e10: ldc.i8 0x1
+ IL_26e19: add
+ IL_26e1a: stloc V_8
+ IL_26e1e: ldloc V_8
+ IL_26e22: ldc.i8 0x1
+ IL_26e2b: blt IL_26c01
+
+ IL_26e30: br IL_26e9f
+
+ IL_26e35: ldc.i8 0x0
+ IL_26e3e: stloc V_9
+ IL_26e42: br IL_26e52
+
+ IL_26e47: br IL_26e4c
+
+ IL_26e4c: br IL_26e51
+
+ IL_26e51: nop
+ IL_26e52: ldloc V_23
+ IL_26e56: ldloc V_40
+ IL_26e5a: add
+ IL_26e5b: ldc.i8 0x0
+ IL_26e64: add
+ IL_26e65: stloc V_23
+ IL_26e69: ldloc V_9
+ IL_26e6d: ldc.i8 0x1
+ IL_26e76: add
+ IL_26e77: stloc V_9
+ IL_26e7b: ldloc V_9
+ IL_26e7f: ldc.i8 0x0
+ IL_26e88: blt IL_26e42
+
+ IL_26e8d: ldloc V_37
+ IL_26e91: ldc.i8 0x9
+ IL_26e9a: add
+ IL_26e9b: stloc V_19
+ IL_26e9f: ldloc V_13
+ IL_26ea3: ldc.i8 0x5
+ IL_26eac: add
+ IL_26ead: stloc V_21
+ IL_26eb1: ldc.i8 0x0
+ IL_26eba: stloc V_7
+ IL_26ebe: ldloc V_8
+ IL_26ec2: ldloc V_49
+ IL_26ec6: add
+ IL_26ec7: ldc.i8 0x7
+ IL_26ed0: add
+ IL_26ed1: stloc V_8
+ IL_26ed5: ldloc V_7
+ IL_26ed9: ldc.i8 0x1
+ IL_26ee2: add
+ IL_26ee3: stloc V_7
+ IL_26ee7: ldloc V_7
+ IL_26eeb: ldc.i8 0x1
+ IL_26ef4: blt IL_26ebe
+
+ IL_26ef9: ldloc V_17
+ IL_26efd: stloc V_44
+ IL_26f01: ldc.i8 0x0
+ IL_26f0a: stloc V_6
+ IL_26f0e: ldc.i8 0x0
+ IL_26f17: stloc V_7
+ IL_26f1b: br IL_27521
+
+ IL_26f20: ldc.i8 0x0
+ IL_26f29: stloc V_9
+ IL_26f2d: ldc.i8 0x0
+ IL_26f36: stloc V_10
+ IL_26f3a: ldc.i8 0x0
+ IL_26f43: stloc V_11
+ IL_26f47: ldloc V_11
+ IL_26f4b: ldc.i8 0x1
+ IL_26f54: add
+ IL_26f55: stloc V_11
+ IL_26f59: ldloc V_11
+ IL_26f5d: ldc.i8 0x0
+ IL_26f66: blt IL_26f47
+
+ IL_26f6b: ldc.i8 0x0
+ IL_26f74: stloc V_11
+ IL_26f78: ldloc V_11
+ IL_26f7c: ldc.i8 0x1
+ IL_26f85: add
+ IL_26f86: stloc V_11
+ IL_26f8a: ldloc V_11
+ IL_26f8e: ldc.i8 0x2
+ IL_26f97: blt IL_26f78
+
+ IL_26f9c: ldc.i8 0x0
+ IL_26fa5: stloc V_11
+ IL_26fa9: ldloc V_11
+ IL_26fad: ldc.i8 0x1
+ IL_26fb6: add
+ IL_26fb7: stloc V_11
+ IL_26fbb: ldloc V_11
+ IL_26fbf: ldc.i8 0x0
+ IL_26fc8: blt IL_26fa9
+
+ IL_26fcd: ldloc V_12
+ IL_26fd1: stloc V_35
+ IL_26fd5: ldloc V_10
+ IL_26fd9: ldc.i8 0x1
+ IL_26fe2: add
+ IL_26fe3: stloc V_10
+ IL_26fe7: ldloc V_10
+ IL_26feb: ldc.i8 0x0
+ IL_26ff4: blt IL_26f3a
+
+ IL_26ff9: ldc.i8 0x0
+ IL_27002: stloc V_10
+ IL_27006: ldc.i8 0x0
+ IL_2700f: stloc V_11
+ IL_27013: ldloc V_11
+ IL_27017: ldc.i8 0x1
+ IL_27020: add
+ IL_27021: stloc V_11
+ IL_27025: ldloc V_11
+ IL_27029: ldc.i8 0x1
+ IL_27032: blt IL_27013
+
+ IL_27037: ldc.i8 0x0
+ IL_27040: stloc V_11
+ IL_27044: ldloc V_11
+ IL_27048: ldc.i8 0x1
+ IL_27051: add
+ IL_27052: stloc V_11
+ IL_27056: ldloc V_11
+ IL_2705a: ldc.i8 0x2
+ IL_27063: blt IL_27044
+
+ IL_27068: ldc.i8 0x0
+ IL_27071: stloc V_11
+ IL_27075: ldloc V_11
+ IL_27079: ldc.i8 0x1
+ IL_27082: add
+ IL_27083: stloc V_11
+ IL_27087: ldloc V_11
+ IL_2708b: ldc.i8 0x2
+ IL_27094: blt IL_27075
+
+ IL_27099: ldloc V_1
+ IL_2709d: ldc.i8 0x3
+ IL_270a6: add
+ IL_270a7: stloc V_30
+ IL_270ab: ldloc V_10
+ IL_270af: ldc.i8 0x1
+ IL_270b8: add
+ IL_270b9: stloc V_10
+ IL_270bd: ldloc V_10
+ IL_270c1: ldc.i8 0x2
+ IL_270ca: blt IL_27006
+
+ IL_270cf: ldc.i8 0x0
+ IL_270d8: stloc V_10
+ IL_270dc: ldc.i8 0x6
+ IL_270e5: stloc V_24
+ IL_270e9: ldloc V_10
+ IL_270ed: ldc.i8 0x1
+ IL_270f6: add
+ IL_270f7: stloc V_10
+ IL_270fb: ldloc V_10
+ IL_270ff: ldc.i8 0x0
+ IL_27108: blt IL_270dc
+
+ IL_2710d: ldloc V_0
+ IL_27111: ldc.i8 0x4
+ IL_2711a: add
+ IL_2711b: stloc V_37
+ IL_2711f: ldloc V_9
+ IL_27123: ldc.i8 0x1
+ IL_2712c: add
+ IL_2712d: stloc V_9
+ IL_27131: ldloc V_9
+ IL_27135: ldc.i8 0x1
+ IL_2713e: blt IL_26f2d
+
+ IL_27143: br IL_271ce
+
+ IL_27148: br IL_271c1
+
+ IL_2714d: br IL_27152
+
+ IL_27152: ldc.i8 0x0
+ IL_2715b: stloc V_11
+ IL_2715f: ldloc V_11
+ IL_27163: ldc.i8 0x1
+ IL_2716c: add
+ IL_2716d: stloc V_11
+ IL_27171: ldloc V_11
+ IL_27175: ldc.i8 0x2
+ IL_2717e: blt IL_2715f
+
+ IL_27183: ldc.i8 0x0
+ IL_2718c: stloc V_11
+ IL_27190: ldloc V_11
+ IL_27194: ldc.i8 0x1
+ IL_2719d: add
+ IL_2719e: stloc V_11
+ IL_271a2: ldloc V_11
+ IL_271a6: ldc.i8 0x0
+ IL_271af: blt IL_27190
+
+ IL_271b4: ldc.i8 0x6
+ IL_271bd: stloc V_29
+ IL_271c1: ldloc V_18
+ IL_271c5: ldloc V_30
+ IL_271c9: add
+ IL_271ca: stloc V_47
+ IL_271ce: ldc.i8 0x0
+ IL_271d7: stloc V_9
+ IL_271db: ldc.i8 0x0
+ IL_271e4: stloc V_10
+ IL_271e8: br IL_271ed
+
+ IL_271ed: br IL_271f2
+
+ IL_271f2: ldloc V_25
+ IL_271f6: ldc.i8 0x8
+ IL_271ff: add
+ IL_27200: stloc V_37
+ IL_27204: ldloc V_10
+ IL_27208: ldc.i8 0x1
+ IL_27211: add
+ IL_27212: stloc V_10
+ IL_27216: ldloc V_10
+ IL_2721a: ldc.i8 0x1
+ IL_27223: blt IL_271e8
+
+ IL_27228: br IL_272a1
+
+ IL_2722d: ldc.i8 0x0
+ IL_27236: stloc V_11
+ IL_2723a: ldloc V_11
+ IL_2723e: ldc.i8 0x1
+ IL_27247: add
+ IL_27248: stloc V_11
+ IL_2724c: ldloc V_11
+ IL_27250: ldc.i8 0x2
+ IL_27259: blt IL_2723a
+
+ IL_2725e: ldc.i8 0x0
+ IL_27267: stloc V_11
+ IL_2726b: ldloc V_11
+ IL_2726f: ldc.i8 0x1
+ IL_27278: add
+ IL_27279: stloc V_11
+ IL_2727d: ldloc V_11
+ IL_27281: ldc.i8 0x0
+ IL_2728a: blt IL_2726b
+
+ IL_2728f: ldloc V_40
+ IL_27293: ldc.i8 0x3
+ IL_2729c: add
+ IL_2729d: stloc V_19
+ IL_272a1: br IL_272b3
+
+ IL_272a6: ldc.i8 0x0
+ IL_272af: stloc V_35
+ IL_272b3: nop
+ IL_272b4: ldloc V_9
+ IL_272b8: ldc.i8 0x1
+ IL_272c1: add
+ IL_272c2: stloc V_9
+ IL_272c6: ldloc V_9
+ IL_272ca: ldc.i8 0x0
+ IL_272d3: blt IL_271db
+
+ IL_272d8: ldc.i8 0x0
+ IL_272e1: stloc V_9
+ IL_272e5: ldc.i8 0x0
+ IL_272ee: stloc V_10
+ IL_272f2: br IL_272f7
+
+ IL_272f7: ldc.i8 0x0
+ IL_27300: stloc V_11
+ IL_27304: ldloc V_11
+ IL_27308: ldc.i8 0x1
+ IL_27311: add
+ IL_27312: stloc V_11
+ IL_27316: ldloc V_11
+ IL_2731a: ldc.i8 0x1
+ IL_27323: blt IL_27304
+
+ IL_27328: ldc.i8 0x0
+ IL_27331: stloc V_11
+ IL_27335: ldloc V_11
+ IL_27339: ldc.i8 0x1
+ IL_27342: add
+ IL_27343: stloc V_11
+ IL_27347: ldloc V_11
+ IL_2734b: ldc.i8 0x1
+ IL_27354: blt IL_27335
+
+ IL_27359: ldloc V_25
+ IL_2735d: ldloc V_3
+ IL_27361: add
+ IL_27362: ldc.i8 0x8
+ IL_2736b: add
+ IL_2736c: stloc V_25
+ IL_27370: ldloc V_10
+ IL_27374: ldc.i8 0x1
+ IL_2737d: add
+ IL_2737e: stloc V_10
+ IL_27382: ldloc V_10
+ IL_27386: ldc.i8 0x2
+ IL_2738f: blt IL_272f2
+
+ IL_27394: ldc.i8 0x0
+ IL_2739d: stloc V_10
+ IL_273a1: ldc.i8 0x0
+ IL_273aa: stloc V_11
+ IL_273ae: ldloc V_11
+ IL_273b2: ldc.i8 0x1
+ IL_273bb: add
+ IL_273bc: stloc V_11
+ IL_273c0: ldloc V_11
+ IL_273c4: ldc.i8 0x2
+ IL_273cd: blt IL_273ae
+
+ IL_273d2: ldc.i8 0x0
+ IL_273db: stloc V_11
+ IL_273df: ldloc V_11
+ IL_273e3: ldc.i8 0x1
+ IL_273ec: add
+ IL_273ed: stloc V_11
+ IL_273f1: ldloc V_11
+ IL_273f5: ldc.i8 0x2
+ IL_273fe: blt IL_273df
+
+ IL_27403: ldc.i8 0x0
+ IL_2740c: stloc V_11
+ IL_27410: ldloc V_11
+ IL_27414: ldc.i8 0x1
+ IL_2741d: add
+ IL_2741e: stloc V_11
+ IL_27422: ldloc V_11
+ IL_27426: ldc.i8 0x0
+ IL_2742f: blt IL_27410
+
+ IL_27434: ldloc V_26
+ IL_27438: ldc.i8 0x3
+ IL_27441: add
+ IL_27442: stloc V_33
+ IL_27446: ldloc V_10
+ IL_2744a: ldc.i8 0x1
+ IL_27453: add
+ IL_27454: stloc V_10
+ IL_27458: ldloc V_10
+ IL_2745c: ldc.i8 0x1
+ IL_27465: blt IL_273a1
+
+ IL_2746a: ldc.i8 0x0
+ IL_27473: stloc V_10
+ IL_27477: br IL_2747c
+
+ IL_2747c: ldc.i8 0x0
+ IL_27485: stloc V_11
+ IL_27489: ldloc V_11
+ IL_2748d: ldc.i8 0x1
+ IL_27496: add
+ IL_27497: stloc V_11
+ IL_2749b: ldloc V_11
+ IL_2749f: ldc.i8 0x0
+ IL_274a8: blt IL_27489
+
+ IL_274ad: ldloc V_32
+ IL_274b1: ldloc V_35
+ IL_274b5: add
+ IL_274b6: stloc V_41
+ IL_274ba: ldloc V_10
+ IL_274be: ldc.i8 0x1
+ IL_274c7: add
+ IL_274c8: stloc V_10
+ IL_274cc: ldloc V_10
+ IL_274d0: ldc.i8 0x1
+ IL_274d9: blt IL_27477
+
+ IL_274de: ldloc V_21
+ IL_274e2: stloc V_34
+ IL_274e6: ldloc V_9
+ IL_274ea: ldc.i8 0x1
+ IL_274f3: add
+ IL_274f4: stloc V_9
+ IL_274f8: ldloc V_9
+ IL_274fc: ldc.i8 0x2
+ IL_27505: blt IL_272e5
+
+ IL_2750a: ldloc V_15
+ IL_2750e: ldloc V_34
+ IL_27512: add
+ IL_27513: ldc.i8 0x9
+ IL_2751c: add
+ IL_2751d: stloc V_15
+ IL_27521: br IL_27c76
+
+ IL_27526: ldc.i8 0x0
+ IL_2752f: stloc V_9
+ IL_27533: br IL_27576
+
+ IL_27538: ldc.i8 0x0
+ IL_27541: stloc V_11
+ IL_27545: ldloc V_11
+ IL_27549: ldc.i8 0x1
+ IL_27552: add
+ IL_27553: stloc V_11
+ IL_27557: ldloc V_11
+ IL_2755b: ldc.i8 0x2
+ IL_27564: blt IL_27545
+
+ IL_27569: ldc.i8 0x8
+ IL_27572: stloc V_16
+ IL_27576: ldc.i8 0x0
+ IL_2757f: stloc V_10
+ IL_27583: ldloc V_11
+ IL_27587: ldloc V_12
+ IL_2758b: add
+ IL_2758c: stloc V_11
+ IL_27590: ldloc V_10
+ IL_27594: ldc.i8 0x1
+ IL_2759d: add
+ IL_2759e: stloc V_10
+ IL_275a2: ldloc V_10
+ IL_275a6: ldc.i8 0x0
+ IL_275af: blt IL_27583
+
+ IL_275b4: ldc.i8 0x0
+ IL_275bd: stloc V_10
+ IL_275c1: ldc.i8 0x0
+ IL_275ca: stloc V_11
+ IL_275ce: ldloc V_11
+ IL_275d2: ldc.i8 0x1
+ IL_275db: add
+ IL_275dc: stloc V_11
+ IL_275e0: ldloc V_11
+ IL_275e4: ldc.i8 0x2
+ IL_275ed: blt IL_275ce
+
+ IL_275f2: br IL_275f7
+
+ IL_275f7: ldc.i8 0x0
+ IL_27600: stloc V_11
+ IL_27604: ldloc V_11
+ IL_27608: ldc.i8 0x1
+ IL_27611: add
+ IL_27612: stloc V_11
+ IL_27616: ldloc V_11
+ IL_2761a: ldc.i8 0x0
+ IL_27623: blt IL_27604
+
+ IL_27628: br IL_2762d
+
+ IL_2762d: ldloc V_10
+ IL_27631: ldc.i8 0x5
+ IL_2763a: add
+ IL_2763b: stloc V_15
+ IL_2763f: ldloc V_10
+ IL_27643: ldc.i8 0x1
+ IL_2764c: add
+ IL_2764d: stloc V_10
+ IL_27651: ldloc V_10
+ IL_27655: ldc.i8 0x0
+ IL_2765e: blt IL_275c1
+
+ IL_27663: ldc.i8 0x0
+ IL_2766c: stloc V_10
+ IL_27670: ldc.i8 0x0
+ IL_27679: stloc V_11
+ IL_2767d: ldloc V_11
+ IL_27681: ldc.i8 0x1
+ IL_2768a: add
+ IL_2768b: stloc V_11
+ IL_2768f: ldloc V_11
+ IL_27693: ldc.i8 0x2
+ IL_2769c: blt IL_2767d
+
+ IL_276a1: ldc.i8 0x0
+ IL_276aa: stloc V_11
+ IL_276ae: ldloc V_11
+ IL_276b2: ldc.i8 0x1
+ IL_276bb: add
+ IL_276bc: stloc V_11
+ IL_276c0: ldloc V_11
+ IL_276c4: ldc.i8 0x2
+ IL_276cd: blt IL_276ae
+
+ IL_276d2: ldc.i8 0x0
+ IL_276db: stloc V_11
+ IL_276df: ldloc V_11
+ IL_276e3: ldc.i8 0x1
+ IL_276ec: add
+ IL_276ed: stloc V_11
+ IL_276f1: ldloc V_11
+ IL_276f5: ldc.i8 0x0
+ IL_276fe: blt IL_276df
+
+ IL_27703: ldc.i8 0x0
+ IL_2770c: stloc V_11
+ IL_27710: ldloc V_11
+ IL_27714: ldc.i8 0x1
+ IL_2771d: add
+ IL_2771e: stloc V_11
+ IL_27722: ldloc V_11
+ IL_27726: ldc.i8 0x2
+ IL_2772f: blt IL_27710
+
+ IL_27734: ldloc V_31
+ IL_27738: ldloc V_23
+ IL_2773c: add
+ IL_2773d: ldc.i8 0x7
+ IL_27746: add
+ IL_27747: stloc V_31
+ IL_2774b: ldloc V_10
+ IL_2774f: ldc.i8 0x1
+ IL_27758: add
+ IL_27759: stloc V_10
+ IL_2775d: ldloc V_10
+ IL_27761: ldc.i8 0x0
+ IL_2776a: blt IL_27670
+
+ IL_2776f: ldloc V_26
+ IL_27773: ldc.i8 0x2
+ IL_2777c: add
+ IL_2777d: stloc V_49
+ IL_27781: ldloc V_9
+ IL_27785: ldc.i8 0x1
+ IL_2778e: add
+ IL_2778f: stloc V_9
+ IL_27793: ldloc V_9
+ IL_27797: ldc.i8 0x2
+ IL_277a0: blt IL_27533
+
+ IL_277a5: ldc.i8 0x0
+ IL_277ae: stloc V_9
+ IL_277b2: br IL_27826
+
+ IL_277b7: ldc.i8 0x0
+ IL_277c0: stloc V_11
+ IL_277c4: ldloc V_11
+ IL_277c8: ldc.i8 0x1
+ IL_277d1: add
+ IL_277d2: stloc V_11
+ IL_277d6: ldloc V_11
+ IL_277da: ldc.i8 0x2
+ IL_277e3: blt IL_277c4
+
+ IL_277e8: ldc.i8 0x0
+ IL_277f1: stloc V_11
+ IL_277f5: ldloc V_11
+ IL_277f9: ldc.i8 0x1
+ IL_27802: add
+ IL_27803: stloc V_11
+ IL_27807: ldloc V_11
+ IL_2780b: ldc.i8 0x0
+ IL_27814: blt IL_277f5
+
+ IL_27819: br IL_2781e
+
+ IL_2781e: ldloc V_45
+ IL_27822: stloc V_26
+ IL_27826: ldloc V_25
+ IL_2782a: ldloc V_7
+ IL_2782e: add
+ IL_2782f: stloc V_38
+ IL_27833: ldloc V_9
+ IL_27837: ldc.i8 0x1
+ IL_27840: add
+ IL_27841: stloc V_9
+ IL_27845: ldloc V_9
+ IL_27849: ldc.i8 0x2
+ IL_27852: blt IL_277b2
+
+ IL_27857: br IL_27a6d
+
+ IL_2785c: br IL_278c9
+
+ IL_27861: br IL_27866
+
+ IL_27866: ldc.i8 0x0
+ IL_2786f: stloc V_11
+ IL_27873: ldloc V_11
+ IL_27877: ldc.i8 0x1
+ IL_27880: add
+ IL_27881: stloc V_11
+ IL_27885: ldloc V_11
+ IL_27889: ldc.i8 0x0
+ IL_27892: blt IL_27873
+
+ IL_27897: ldc.i8 0x0
+ IL_278a0: stloc V_11
+ IL_278a4: ldloc V_11
+ IL_278a8: ldc.i8 0x1
+ IL_278b1: add
+ IL_278b2: stloc V_11
+ IL_278b6: ldloc V_11
+ IL_278ba: ldc.i8 0x2
+ IL_278c3: blt IL_278a4
+
+ IL_278c8: nop
+ IL_278c9: ldc.i8 0x0
+ IL_278d2: stloc V_10
+ IL_278d6: br IL_278db
+
+ IL_278db: ldc.i8 0x0
+ IL_278e4: stloc V_11
+ IL_278e8: ldloc V_11
+ IL_278ec: ldc.i8 0x1
+ IL_278f5: add
+ IL_278f6: stloc V_11
+ IL_278fa: ldloc V_11
+ IL_278fe: ldc.i8 0x0
+ IL_27907: blt IL_278e8
+
+ IL_2790c: ldc.i8 0x0
+ IL_27915: stloc V_11
+ IL_27919: ldloc V_11
+ IL_2791d: ldc.i8 0x1
+ IL_27926: add
+ IL_27927: stloc V_11
+ IL_2792b: ldloc V_11
+ IL_2792f: ldc.i8 0x1
+ IL_27938: blt IL_27919
+
+ IL_2793d: ldloc V_20
+ IL_27941: ldc.i8 0x7
+ IL_2794a: add
+ IL_2794b: stloc V_48
+ IL_2794f: ldloc V_10
+ IL_27953: ldc.i8 0x1
+ IL_2795c: add
+ IL_2795d: stloc V_10
+ IL_27961: ldloc V_10
+ IL_27965: ldc.i8 0x2
+ IL_2796e: blt IL_278d6
+
+ IL_27973: ldc.i8 0x0
+ IL_2797c: stloc V_10
+ IL_27980: br IL_27985
+
+ IL_27985: br IL_2798a
+
+ IL_2798a: br IL_2798f
+
+ IL_2798f: ldc.i8 0x0
+ IL_27998: stloc V_11
+ IL_2799c: ldloc V_11
+ IL_279a0: ldc.i8 0x1
+ IL_279a9: add
+ IL_279aa: stloc V_11
+ IL_279ae: ldloc V_11
+ IL_279b2: ldc.i8 0x1
+ IL_279bb: blt IL_2799c
+
+ IL_279c0: ldloc V_28
+ IL_279c4: stloc V_25
+ IL_279c8: ldloc V_10
+ IL_279cc: ldc.i8 0x1
+ IL_279d5: add
+ IL_279d6: stloc V_10
+ IL_279da: ldloc V_10
+ IL_279de: ldc.i8 0x1
+ IL_279e7: blt IL_27980
+
+ IL_279ec: br IL_27a65
+
+ IL_279f1: ldc.i8 0x0
+ IL_279fa: stloc V_11
+ IL_279fe: ldloc V_11
+ IL_27a02: ldc.i8 0x1
+ IL_27a0b: add
+ IL_27a0c: stloc V_11
+ IL_27a10: ldloc V_11
+ IL_27a14: ldc.i8 0x0
+ IL_27a1d: blt IL_279fe
+
+ IL_27a22: ldc.i8 0x0
+ IL_27a2b: stloc V_11
+ IL_27a2f: ldloc V_11
+ IL_27a33: ldc.i8 0x1
+ IL_27a3c: add
+ IL_27a3d: stloc V_11
+ IL_27a41: ldloc V_11
+ IL_27a45: ldc.i8 0x1
+ IL_27a4e: blt IL_27a2f
+
+ IL_27a53: br IL_27a58
+
+ IL_27a58: ldloc V_42
+ IL_27a5c: ldloc V_31
+ IL_27a60: add
+ IL_27a61: stloc V_42
+ IL_27a65: ldloc V_40
+ IL_27a69: stloc V_41
+ IL_27a6d: ldc.i8 0x0
+ IL_27a76: stloc V_9
+ IL_27a7a: ldc.i8 0x0
+ IL_27a83: stloc V_10
+ IL_27a87: ldc.i8 0x0
+ IL_27a90: stloc V_11
+ IL_27a94: ldloc V_11
+ IL_27a98: ldc.i8 0x1
+ IL_27aa1: add
+ IL_27aa2: stloc V_11
+ IL_27aa6: ldloc V_11
+ IL_27aaa: ldc.i8 0x2
+ IL_27ab3: blt IL_27a94
+
+ IL_27ab8: br IL_27abd
+
+ IL_27abd: ldc.i8 0x3
+ IL_27ac6: stloc V_11
+ IL_27aca: ldloc V_10
+ IL_27ace: ldc.i8 0x1
+ IL_27ad7: add
+ IL_27ad8: stloc V_10
+ IL_27adc: ldloc V_10
+ IL_27ae0: ldc.i8 0x2
+ IL_27ae9: blt IL_27a87
+
+ IL_27aee: ldc.i8 0x0
+ IL_27af7: stloc V_10
+ IL_27afb: ldc.i8 0x0
+ IL_27b04: stloc V_11
+ IL_27b08: ldloc V_11
+ IL_27b0c: ldc.i8 0x1
+ IL_27b15: add
+ IL_27b16: stloc V_11
+ IL_27b1a: ldloc V_11
+ IL_27b1e: ldc.i8 0x2
+ IL_27b27: blt IL_27b08
+
+ IL_27b2c: br IL_27b31
+
+ IL_27b31: br IL_27b36
+
+ IL_27b36: ldc.i8 0x0
+ IL_27b3f: stloc V_11
+ IL_27b43: ldloc V_11
+ IL_27b47: ldc.i8 0x1
+ IL_27b50: add
+ IL_27b51: stloc V_11
+ IL_27b55: ldloc V_11
+ IL_27b59: ldc.i8 0x2
+ IL_27b62: blt IL_27b43
+
+ IL_27b67: ldloc V_30
+ IL_27b6b: ldc.i8 0x7
+ IL_27b74: add
+ IL_27b75: stloc V_44
+ IL_27b79: ldloc V_10
+ IL_27b7d: ldc.i8 0x1
+ IL_27b86: add
+ IL_27b87: stloc V_10
+ IL_27b8b: ldloc V_10
+ IL_27b8f: ldc.i8 0x0
+ IL_27b98: blt IL_27afb
+
+ IL_27b9d: ldc.i8 0x0
+ IL_27ba6: stloc V_10
+ IL_27baa: ldc.i8 0x0
+ IL_27bb3: stloc V_11
+ IL_27bb7: ldloc V_11
+ IL_27bbb: ldc.i8 0x1
+ IL_27bc4: add
+ IL_27bc5: stloc V_11
+ IL_27bc9: ldloc V_11
+ IL_27bcd: ldc.i8 0x0
+ IL_27bd6: blt IL_27bb7
+
+ IL_27bdb: ldc.i8 0x0
+ IL_27be4: stloc V_11
+ IL_27be8: ldloc V_11
+ IL_27bec: ldc.i8 0x1
+ IL_27bf5: add
+ IL_27bf6: stloc V_11
+ IL_27bfa: ldloc V_11
+ IL_27bfe: ldc.i8 0x2
+ IL_27c07: blt IL_27be8
+
+ IL_27c0c: ldc.i8 0x0
+ IL_27c15: stloc V_15
+ IL_27c19: ldloc V_10
+ IL_27c1d: ldc.i8 0x1
+ IL_27c26: add
+ IL_27c27: stloc V_10
+ IL_27c2b: ldloc V_10
+ IL_27c2f: ldc.i8 0x1
+ IL_27c38: blt IL_27baa
+
+ IL_27c3d: ldc.i8 0x4
+ IL_27c46: stloc V_22
+ IL_27c4a: ldloc V_9
+ IL_27c4e: ldc.i8 0x1
+ IL_27c57: add
+ IL_27c58: stloc V_9
+ IL_27c5c: ldloc V_9
+ IL_27c60: ldc.i8 0x0
+ IL_27c69: blt IL_27a7a
+
+ IL_27c6e: ldloc V_40
+ IL_27c72: stloc V_40
+ IL_27c76: br IL_28042
+
+ IL_27c7b: ldc.i8 0x0
+ IL_27c84: stloc V_9
+ IL_27c88: ldc.i8 0x0
+ IL_27c91: stloc V_10
+ IL_27c95: ldloc V_9
+ IL_27c99: ldc.i8 0x2
+ IL_27ca2: add
+ IL_27ca3: stloc V_23
+ IL_27ca7: ldloc V_10
+ IL_27cab: ldc.i8 0x1
+ IL_27cb4: add
+ IL_27cb5: stloc V_10
+ IL_27cb9: ldloc V_10
+ IL_27cbd: ldc.i8 0x2
+ IL_27cc6: blt IL_27c95
+
+ IL_27ccb: ldc.i8 0x0
+ IL_27cd4: stloc V_13
+ IL_27cd8: ldloc V_9
+ IL_27cdc: ldc.i8 0x1
+ IL_27ce5: add
+ IL_27ce6: stloc V_9
+ IL_27cea: ldloc V_9
+ IL_27cee: ldc.i8 0x1
+ IL_27cf7: blt IL_27c88
+
+ IL_27cfc: ldc.i8 0x0
+ IL_27d05: stloc V_9
+ IL_27d09: ldc.i8 0x0
+ IL_27d12: stloc V_10
+ IL_27d16: br IL_27d1b
+
+ IL_27d1b: br IL_27d20
+
+ IL_27d20: ldloc V_22
+ IL_27d24: stloc V_36
+ IL_27d28: ldloc V_10
+ IL_27d2c: ldc.i8 0x1
+ IL_27d35: add
+ IL_27d36: stloc V_10
+ IL_27d3a: ldloc V_10
+ IL_27d3e: ldc.i8 0x0
+ IL_27d47: blt IL_27d16
+
+ IL_27d4c: ldc.i8 0x0
+ IL_27d55: stloc V_10
+ IL_27d59: ldc.i8 0x0
+ IL_27d62: stloc V_11
+ IL_27d66: ldloc V_11
+ IL_27d6a: ldc.i8 0x1
+ IL_27d73: add
+ IL_27d74: stloc V_11
+ IL_27d78: ldloc V_11
+ IL_27d7c: ldc.i8 0x1
+ IL_27d85: blt IL_27d66
+
+ IL_27d8a: ldloc V_23
+ IL_27d8e: ldloc V_0
+ IL_27d92: add
+ IL_27d93: ldc.i8 0x6
+ IL_27d9c: add
+ IL_27d9d: stloc V_23
+ IL_27da1: ldloc V_10
+ IL_27da5: ldc.i8 0x1
+ IL_27dae: add
+ IL_27daf: stloc V_10
+ IL_27db3: ldloc V_10
+ IL_27db7: ldc.i8 0x1
+ IL_27dc0: blt IL_27d59
+
+ IL_27dc5: ldc.i8 0x0
+ IL_27dce: stloc V_10
+ IL_27dd2: ldc.i8 0x0
+ IL_27ddb: stloc V_11
+ IL_27ddf: ldloc V_11
+ IL_27de3: ldc.i8 0x1
+ IL_27dec: add
+ IL_27ded: stloc V_11
+ IL_27df1: ldloc V_11
+ IL_27df5: ldc.i8 0x1
+ IL_27dfe: blt IL_27ddf
+
+ IL_27e03: br IL_27e08
+
+ IL_27e08: ldloc V_34
+ IL_27e0c: ldc.i8 0x9
+ IL_27e15: add
+ IL_27e16: stloc V_46
+ IL_27e1a: ldloc V_10
+ IL_27e1e: ldc.i8 0x1
+ IL_27e27: add
+ IL_27e28: stloc V_10
+ IL_27e2c: ldloc V_10
+ IL_27e30: ldc.i8 0x2
+ IL_27e39: blt IL_27dd2
+
+ IL_27e3e: ldc.i8 0x0
+ IL_27e47: stloc V_10
+ IL_27e4b: ldc.i8 0x0
+ IL_27e54: stloc V_11
+ IL_27e58: ldloc V_11
+ IL_27e5c: ldc.i8 0x1
+ IL_27e65: add
+ IL_27e66: stloc V_11
+ IL_27e6a: ldloc V_11
+ IL_27e6e: ldc.i8 0x1
+ IL_27e77: blt IL_27e58
+
+ IL_27e7c: ldc.i8 0x0
+ IL_27e85: stloc V_11
+ IL_27e89: ldloc V_11
+ IL_27e8d: ldc.i8 0x1
+ IL_27e96: add
+ IL_27e97: stloc V_11
+ IL_27e9b: ldloc V_11
+ IL_27e9f: ldc.i8 0x0
+ IL_27ea8: blt IL_27e89
+
+ IL_27ead: br IL_27eb2
+
+ IL_27eb2: nop
+ IL_27eb3: ldloc V_10
+ IL_27eb7: ldc.i8 0x1
+ IL_27ec0: add
+ IL_27ec1: stloc V_10
+ IL_27ec5: ldloc V_10
+ IL_27ec9: ldc.i8 0x2
+ IL_27ed2: blt IL_27e4b
+
+ IL_27ed7: ldc.i8 0x0
+ IL_27ee0: stloc V_42
+ IL_27ee4: ldloc V_9
+ IL_27ee8: ldc.i8 0x1
+ IL_27ef1: add
+ IL_27ef2: stloc V_9
+ IL_27ef6: ldloc V_9
+ IL_27efa: ldc.i8 0x1
+ IL_27f03: blt IL_27d09
+
+ IL_27f08: ldc.i8 0x0
+ IL_27f11: stloc V_9
+ IL_27f15: nop
+ IL_27f16: ldloc V_9
+ IL_27f1a: ldc.i8 0x1
+ IL_27f23: add
+ IL_27f24: stloc V_9
+ IL_27f28: ldloc V_9
+ IL_27f2c: ldc.i8 0x2
+ IL_27f35: blt IL_27f15
+
+ IL_27f3a: br IL_28041
+
+ IL_27f3f: ldc.i8 0x0
+ IL_27f48: stloc V_10
+ IL_27f4c: ldc.i8 0x0
+ IL_27f55: stloc V_11
+ IL_27f59: ldloc V_11
+ IL_27f5d: ldc.i8 0x1
+ IL_27f66: add
+ IL_27f67: stloc V_11
+ IL_27f6b: ldloc V_11
+ IL_27f6f: ldc.i8 0x2
+ IL_27f78: blt IL_27f59
+
+ IL_27f7d: br IL_27f82
+
+ IL_27f82: ldloc V_41
+ IL_27f86: ldloc V_41
+ IL_27f8a: add
+ IL_27f8b: stloc V_42
+ IL_27f8f: ldloc V_10
+ IL_27f93: ldc.i8 0x1
+ IL_27f9c: add
+ IL_27f9d: stloc V_10
+ IL_27fa1: ldloc V_10
+ IL_27fa5: ldc.i8 0x2
+ IL_27fae: blt IL_27f4c
+
+ IL_27fb3: br IL_27fc5
+
+ IL_27fb8: ldloc V_46
+ IL_27fbc: ldloc V_32
+ IL_27fc0: add
+ IL_27fc1: stloc V_15
+ IL_27fc5: ldc.i8 0x0
+ IL_27fce: stloc V_10
+ IL_27fd2: ldc.i8 0x0
+ IL_27fdb: stloc V_11
+ IL_27fdf: ldloc V_11
+ IL_27fe3: ldc.i8 0x1
+ IL_27fec: add
+ IL_27fed: stloc V_11
+ IL_27ff1: ldloc V_11
+ IL_27ff5: ldc.i8 0x2
+ IL_27ffe: blt IL_27fdf
+
+ IL_28003: br IL_28008
+
+ IL_28008: ldc.i8 0x1
+ IL_28011: stloc V_34
+ IL_28015: ldloc V_10
+ IL_28019: ldc.i8 0x1
+ IL_28022: add
+ IL_28023: stloc V_10
+ IL_28027: ldloc V_10
+ IL_2802b: ldc.i8 0x2
+ IL_28034: blt IL_27fd2
+
+ IL_28039: ldloc V_0
+ IL_2803d: stloc V_44
+ IL_28041: nop
+ IL_28042: br IL_28104
+
+ IL_28047: ldc.i8 0x0
+ IL_28050: stloc V_9
+ IL_28054: ldc.i8 0x0
+ IL_2805d: stloc V_10
+ IL_28061: ldc.i8 0x0
+ IL_2806a: stloc V_11
+ IL_2806e: ldloc V_11
+ IL_28072: ldc.i8 0x1
+ IL_2807b: add
+ IL_2807c: stloc V_11
+ IL_28080: ldloc V_11
+ IL_28084: ldc.i8 0x1
+ IL_2808d: blt IL_2806e
+
+ IL_28092: br IL_28097
+
+ IL_28097: nop
+ IL_28098: ldloc V_10
+ IL_2809c: ldc.i8 0x1
+ IL_280a5: add
+ IL_280a6: stloc V_10
+ IL_280aa: ldloc V_10
+ IL_280ae: ldc.i8 0x2
+ IL_280b7: blt IL_28061
+
+ IL_280bc: ldloc V_24
+ IL_280c0: ldloc V_17
+ IL_280c4: add
+ IL_280c5: stloc V_24
+ IL_280c9: ldloc V_9
+ IL_280cd: ldc.i8 0x1
+ IL_280d6: add
+ IL_280d7: stloc V_9
+ IL_280db: ldloc V_9
+ IL_280df: ldc.i8 0x0
+ IL_280e8: blt IL_28054
+
+ IL_280ed: ldloc V_38
+ IL_280f1: ldloc V_6
+ IL_280f5: add
+ IL_280f6: ldc.i8 0x0
+ IL_280ff: add
+ IL_28100: stloc V_38
+ IL_28104: ldloc V_39
+ IL_28108: stloc V_11
+ IL_2810c: ldloc V_7
+ IL_28110: ldc.i8 0x1
+ IL_28119: add
+ IL_2811a: stloc V_7
+ IL_2811e: ldloc V_7
+ IL_28122: ldc.i8 0x0
+ IL_2812b: blt IL_26f1b
+
+ IL_28130: ldc.i8 0x0
+ IL_28139: stloc V_7
+ IL_2813d: ldc.i8 0x1
+ IL_28146: stloc V_21
+ IL_2814a: ldloc V_7
+ IL_2814e: ldc.i8 0x1
+ IL_28157: add
+ IL_28158: stloc V_7
+ IL_2815c: ldloc V_7
+ IL_28160: ldc.i8 0x2
+ IL_28169: blt IL_2813d
+
+ IL_2816e: ldloc V_35
+ IL_28172: ldc.i8 0x2
+ IL_2817b: add
+ IL_2817c: stloc V_19
+ IL_28180: ldloc V_6
+ IL_28184: ldc.i8 0x1
+ IL_2818d: add
+ IL_2818e: stloc V_6
+ IL_28192: ldloc V_6
+ IL_28196: ldc.i8 0x2
+ IL_2819f: blt IL_26f0e
+
+ IL_281a4: br IL_2871b
+
+ IL_281a9: ldc.i8 0x0
+ IL_281b2: stloc V_7
+ IL_281b6: ldc.i8 0x0
+ IL_281bf: stloc V_8
+ IL_281c3: br IL_28366
+
+ IL_281c8: ldc.i8 0x0
+ IL_281d1: stloc V_10
+ IL_281d5: ldc.i8 0x0
+ IL_281de: stloc V_11
+ IL_281e2: ldloc V_11
+ IL_281e6: ldc.i8 0x1
+ IL_281ef: add
+ IL_281f0: stloc V_11
+ IL_281f4: ldloc V_11
+ IL_281f8: ldc.i8 0x0
+ IL_28201: blt IL_281e2
+
+ IL_28206: br IL_2820b
+
+ IL_2820b: ldc.i8 0x0
+ IL_28214: stloc V_11
+ IL_28218: ldloc V_11
+ IL_2821c: ldc.i8 0x1
+ IL_28225: add
+ IL_28226: stloc V_11
+ IL_2822a: ldloc V_11
+ IL_2822e: ldc.i8 0x0
+ IL_28237: blt IL_28218
+
+ IL_2823c: nop
+ IL_2823d: ldloc V_10
+ IL_28241: ldc.i8 0x1
+ IL_2824a: add
+ IL_2824b: stloc V_10
+ IL_2824f: ldloc V_10
+ IL_28253: ldc.i8 0x1
+ IL_2825c: blt IL_281d5
+
+ IL_28261: br IL_282a9
+
+ IL_28266: ldc.i8 0x0
+ IL_2826f: stloc V_11
+ IL_28273: ldloc V_11
+ IL_28277: ldc.i8 0x1
+ IL_28280: add
+ IL_28281: stloc V_11
+ IL_28285: ldloc V_11
+ IL_28289: ldc.i8 0x0
+ IL_28292: blt IL_28273
+
+ IL_28297: br IL_2829c
+
+ IL_2829c: ldc.i8 0x3
+ IL_282a5: stloc V_34
+ IL_282a9: br IL_2832c
+
+ IL_282ae: br IL_282b3
+
+ IL_282b3: ldc.i8 0x0
+ IL_282bc: stloc V_11
+ IL_282c0: ldloc V_11
+ IL_282c4: ldc.i8 0x1
+ IL_282cd: add
+ IL_282ce: stloc V_11
+ IL_282d2: ldloc V_11
+ IL_282d6: ldc.i8 0x2
+ IL_282df: blt IL_282c0
+
+ IL_282e4: ldc.i8 0x0
+ IL_282ed: stloc V_11
+ IL_282f1: ldloc V_11
+ IL_282f5: ldc.i8 0x1
+ IL_282fe: add
+ IL_282ff: stloc V_11
+ IL_28303: ldloc V_11
+ IL_28307: ldc.i8 0x0
+ IL_28310: blt IL_282f1
+
+ IL_28315: br IL_2831a
+
+ IL_2831a: ldloc V_29
+ IL_2831e: ldc.i8 0x3
+ IL_28327: add
+ IL_28328: stloc V_23
+ IL_2832c: ldc.i8 0x0
+ IL_28335: stloc V_10
+ IL_28339: ldloc V_26
+ IL_2833d: stloc V_19
+ IL_28341: ldloc V_10
+ IL_28345: ldc.i8 0x1
+ IL_2834e: add
+ IL_2834f: stloc V_10
+ IL_28353: ldloc V_10
+ IL_28357: ldc.i8 0x0
+ IL_28360: blt IL_28339
+
+ IL_28365: nop
+ IL_28366: ldc.i8 0x8
+ IL_2836f: stloc V_22
+ IL_28373: ldloc V_8
+ IL_28377: ldc.i8 0x1
+ IL_28380: add
+ IL_28381: stloc V_8
+ IL_28385: ldloc V_8
+ IL_28389: ldc.i8 0x2
+ IL_28392: blt IL_281c3
+
+ IL_28397: ldc.i8 0x0
+ IL_283a0: stloc V_8
+ IL_283a4: ldc.i8 0x0
+ IL_283ad: stloc V_9
+ IL_283b1: ldc.i8 0x0
+ IL_283ba: stloc V_10
+ IL_283be: ldc.i8 0x0
+ IL_283c7: stloc V_11
+ IL_283cb: ldloc V_11
+ IL_283cf: ldc.i8 0x1
+ IL_283d8: add
+ IL_283d9: stloc V_11
+ IL_283dd: ldloc V_11
+ IL_283e1: ldc.i8 0x1
+ IL_283ea: blt IL_283cb
+
+ IL_283ef: br IL_283f4
+
+ IL_283f4: ldloc V_4
+ IL_283f8: stloc V_21
+ IL_283fc: ldloc V_10
+ IL_28400: ldc.i8 0x1
+ IL_28409: add
+ IL_2840a: stloc V_10
+ IL_2840e: ldloc V_10
+ IL_28412: ldc.i8 0x2
+ IL_2841b: blt IL_283be
+
+ IL_28420: ldloc V_35
+ IL_28424: ldloc V_46
+ IL_28428: add
+ IL_28429: stloc V_30
+ IL_2842d: ldloc V_9
+ IL_28431: ldc.i8 0x1
+ IL_2843a: add
+ IL_2843b: stloc V_9
+ IL_2843f: ldloc V_9
+ IL_28443: ldc.i8 0x0
+ IL_2844c: blt IL_283b1
+
+ IL_28451: ldloc V_26
+ IL_28455: ldloc V_10
+ IL_28459: add
+ IL_2845a: stloc V_16
+ IL_2845e: ldloc V_8
+ IL_28462: ldc.i8 0x1
+ IL_2846b: add
+ IL_2846c: stloc V_8
+ IL_28470: ldloc V_8
+ IL_28474: ldc.i8 0x2
+ IL_2847d: blt IL_283a4
+
+ IL_28482: br IL_286dd
+
+ IL_28487: ldc.i8 0x0
+ IL_28490: stloc V_9
+ IL_28494: ldc.i8 0x0
+ IL_2849d: stloc V_10
+ IL_284a1: ldc.i8 0x0
+ IL_284aa: stloc V_11
+ IL_284ae: ldloc V_11
+ IL_284b2: ldc.i8 0x1
+ IL_284bb: add
+ IL_284bc: stloc V_11
+ IL_284c0: ldloc V_11
+ IL_284c4: ldc.i8 0x0
+ IL_284cd: blt IL_284ae
+
+ IL_284d2: ldc.i8 0x0
+ IL_284db: stloc V_11
+ IL_284df: ldloc V_11
+ IL_284e3: ldc.i8 0x1
+ IL_284ec: add
+ IL_284ed: stloc V_11
+ IL_284f1: ldloc V_11
+ IL_284f5: ldc.i8 0x1
+ IL_284fe: blt IL_284df
+
+ IL_28503: br IL_28508
+
+ IL_28508: ldloc V_49
+ IL_2850c: ldloc V_14
+ IL_28510: add
+ IL_28511: ldc.i8 0x0
+ IL_2851a: add
+ IL_2851b: stloc V_49
+ IL_2851f: ldloc V_10
+ IL_28523: ldc.i8 0x1
+ IL_2852c: add
+ IL_2852d: stloc V_10
+ IL_28531: ldloc V_10
+ IL_28535: ldc.i8 0x1
+ IL_2853e: blt IL_284a1
+
+ IL_28543: br IL_28586
+
+ IL_28548: ldc.i8 0x0
+ IL_28551: stloc V_11
+ IL_28555: ldloc V_11
+ IL_28559: ldc.i8 0x1
+ IL_28562: add
+ IL_28563: stloc V_11
+ IL_28567: ldloc V_11
+ IL_2856b: ldc.i8 0x1
+ IL_28574: blt IL_28555
+
+ IL_28579: ldc.i8 0x3
+ IL_28582: stloc V_40
+ IL_28586: ldc.i8 0x0
+ IL_2858f: stloc V_10
+ IL_28593: ldc.i8 0x0
+ IL_2859c: stloc V_11
+ IL_285a0: ldloc V_11
+ IL_285a4: ldc.i8 0x1
+ IL_285ad: add
+ IL_285ae: stloc V_11
+ IL_285b2: ldloc V_11
+ IL_285b6: ldc.i8 0x1
+ IL_285bf: blt IL_285a0
+
+ IL_285c4: ldc.i8 0x0
+ IL_285cd: stloc V_11
+ IL_285d1: ldloc V_11
+ IL_285d5: ldc.i8 0x1
+ IL_285de: add
+ IL_285df: stloc V_11
+ IL_285e3: ldloc V_11
+ IL_285e7: ldc.i8 0x1
+ IL_285f0: blt IL_285d1
+
+ IL_285f5: ldc.i8 0x0
+ IL_285fe: stloc V_11
+ IL_28602: ldloc V_11
+ IL_28606: ldc.i8 0x1
+ IL_2860f: add
+ IL_28610: stloc V_11
+ IL_28614: ldloc V_11
+ IL_28618: ldc.i8 0x0
+ IL_28621: blt IL_28602
+
+ IL_28626: br IL_2862b
+
+ IL_2862b: ldloc V_45
+ IL_2862f: ldc.i8 0x7
+ IL_28638: add
+ IL_28639: stloc V_26
+ IL_2863d: ldloc V_10
+ IL_28641: ldc.i8 0x1
+ IL_2864a: add
+ IL_2864b: stloc V_10
+ IL_2864f: ldloc V_10
+ IL_28653: ldc.i8 0x0
+ IL_2865c: blt IL_28593
+
+ IL_28661: ldc.i8 0x6
+ IL_2866a: stloc V_27
+ IL_2866e: ldloc V_9
+ IL_28672: ldc.i8 0x1
+ IL_2867b: add
+ IL_2867c: stloc V_9
+ IL_28680: ldloc V_9
+ IL_28684: ldc.i8 0x1
+ IL_2868d: blt IL_28494
+
+ IL_28692: ldc.i8 0x0
+ IL_2869b: stloc V_9
+ IL_2869f: ldc.i8 0x7
+ IL_286a8: stloc V_29
+ IL_286ac: ldloc V_9
+ IL_286b0: ldc.i8 0x1
+ IL_286b9: add
+ IL_286ba: stloc V_9
+ IL_286be: ldloc V_9
+ IL_286c2: ldc.i8 0x1
+ IL_286cb: blt IL_2869f
+
+ IL_286d0: ldloc V_22
+ IL_286d4: ldloc V_26
+ IL_286d8: add
+ IL_286d9: stloc V_39
+ IL_286dd: ldc.i8 0x5
+ IL_286e6: stloc V_19
+ IL_286ea: ldloc V_7
+ IL_286ee: ldc.i8 0x1
+ IL_286f7: add
+ IL_286f8: stloc V_7
+ IL_286fc: ldloc V_7
+ IL_28700: ldc.i8 0x2
+ IL_28709: blt IL_281b6
+
+ IL_2870e: ldloc V_34
+ IL_28712: ldloc V_49
+ IL_28716: add
+ IL_28717: stloc V_39
+ IL_2871b: ldloc V_37
+ IL_2871f: ldloc V_17
+ IL_28723: add
+ IL_28724: stloc V_37
+ IL_28728: ldloc V_5
+ IL_2872c: ldc.i8 0x1
+ IL_28735: add
+ IL_28736: stloc V_5
+ IL_2873a: ldloc V_5
+ IL_2873e: ldc.i8 0x2
+ IL_28747: blt IL_24687
+
+ IL_2874c: br IL_2879c
+
+ IL_28751: ldc.i8 0x0
+ IL_2875a: stloc V_6
+ IL_2875e: ldloc V_14
+ IL_28762: ldc.i8 0x4
+ IL_2876b: add
+ IL_2876c: stloc V_41
+ IL_28770: ldloc V_6
+ IL_28774: ldc.i8 0x1
+ IL_2877d: add
+ IL_2877e: stloc V_6
+ IL_28782: ldloc V_6
+ IL_28786: ldc.i8 0x0
+ IL_2878f: blt IL_2875e
+
+ IL_28794: ldloc V_26
+ IL_28798: stloc V_32
+ IL_2879c: ldloc V_27
+ IL_287a0: ldloc V_3
+ IL_287a4: add
+ IL_287a5: stloc V_27
+ IL_287a9: ldloc V_4
+ IL_287ad: ldc.i8 0x1
+ IL_287b6: add
+ IL_287b7: stloc V_4
+ IL_287bb: ldloc V_4
+ IL_287bf: ldc.i8 0x2
+ IL_287c8: blt IL_20405
+
+ IL_287cd: ldloc V_9
+ IL_287d1: ldloc V_24
+ IL_287d5: add
+ IL_287d6: ldc.i8 0x3
+ IL_287df: add
+ IL_287e0: stloc V_9
+ IL_287e4: ldloc V_30
+ IL_287e8: ldloc V_12
+ IL_287ec: add
+ IL_287ed: stloc V_30
+ IL_287f1: ldloc V_2
+ IL_287f5: ldc.i8 0x1
+ IL_287fe: add
+ IL_287ff: stloc V_2
+ IL_28803: ldloc V_2
+ IL_28807: ldc.i8 0x0
+ IL_28810: blt IL_0039
+
+ IL_28815: ldloc V_32
+ IL_28819: ldc.i8 0x7
+ IL_28822: add
+ IL_28823: stloc V_6
+ IL_28827: ldloc V_1
+ IL_2882b: ldc.i8 0x1
+ IL_28834: add
+ IL_28835: stloc V_1
+ IL_28839: ldloc V_1
+ IL_2883d: ldc.i8 0x0
+ IL_28846: blt IL_002c
+
+ IL_2884b: ldc.i8 0x7
+ IL_28854: stloc V_37
+ IL_28858: ldloc V_0
+ IL_2885c: ldc.i8 0x1
+ IL_28865: add
+ IL_28866: stloc V_0
+ IL_2886a: ldloc V_0
+ IL_2886e: ldc.i8 0x2
+ IL_28877: blt IL_000d
+
+ IL_2887c: ldloc V_0
+ IL_28880: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28885: ldloc V_1
+ IL_28889: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2888e: ldloc V_2
+ IL_28892: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28897: ldloc V_3
+ IL_2889b: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288a0: ldloc V_4
+ IL_288a4: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288a9: ldloc V_5
+ IL_288ad: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288b2: ldloc V_6
+ IL_288b6: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288bb: ldloc V_7
+ IL_288bf: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288c4: ldloc V_8
+ IL_288c8: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288cd: ldloc V_9
+ IL_288d1: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288d6: ldloc V_10
+ IL_288da: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288df: ldloc V_11
+ IL_288e3: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288e8: ldloc V_12
+ IL_288ec: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288f1: ldloc V_13
+ IL_288f5: call void [System.Console]System.Console::WriteLine(int64)
+ IL_288fa: ldloc V_14
+ IL_288fe: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28903: ldloc V_15
+ IL_28907: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2890c: ldloc V_16
+ IL_28910: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28915: ldloc V_17
+ IL_28919: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2891e: ldloc V_18
+ IL_28922: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28927: ldloc V_19
+ IL_2892b: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28930: ldloc V_20
+ IL_28934: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28939: ldloc V_21
+ IL_2893d: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28942: ldloc V_22
+ IL_28946: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2894b: ldloc V_23
+ IL_2894f: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28954: ldloc V_24
+ IL_28958: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2895d: ldloc V_25
+ IL_28961: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28966: ldloc V_26
+ IL_2896a: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2896f: ldloc V_27
+ IL_28973: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28978: ldloc V_28
+ IL_2897c: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28981: ldloc V_29
+ IL_28985: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2898a: ldloc V_30
+ IL_2898e: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28993: ldloc V_31
+ IL_28997: call void [System.Console]System.Console::WriteLine(int64)
+ IL_2899c: ldloc V_32
+ IL_289a0: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289a5: ldloc V_33
+ IL_289a9: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289ae: ldloc V_34
+ IL_289b2: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289b7: ldloc V_35
+ IL_289bb: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289c0: ldloc V_36
+ IL_289c4: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289c9: ldloc V_37
+ IL_289cd: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289d2: ldloc V_38
+ IL_289d6: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289db: ldloc V_39
+ IL_289df: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289e4: ldloc V_40
+ IL_289e8: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289ed: ldloc V_41
+ IL_289f1: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289f6: ldloc V_42
+ IL_289fa: call void [System.Console]System.Console::WriteLine(int64)
+ IL_289ff: ldloc V_43
+ IL_28a03: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a08: ldloc V_44
+ IL_28a0c: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a11: ldloc V_45
+ IL_28a15: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a1a: ldloc V_46
+ IL_28a1e: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a23: ldloc V_47
+ IL_28a27: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a2c: ldloc V_48
+ IL_28a30: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a35: ldloc V_49
+ IL_28a39: call void [System.Console]System.Console::WriteLine(int64)
+ IL_28a3e:
+ ldc.i4 100
+ ret
+ }
+
+ .method public static int64 Foo() cil managed
+ {
+ .maxstack 16
+ IL_0000: ldc.i8 0x5
+ IL_0009: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/b10852.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/b10852.ilproj
new file mode 100644
index 0000000000..06b62e069d
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/b10852.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/test3.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/test3.il
new file mode 100644
index 0000000000..c8f883b9f4
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b10852/test3.il
@@ -0,0 +1,147 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:1:3300:0
+}
+.assembly test3
+{
+
+
+ .permissionset reqmin
+ "<PermissionSet class=\"System.Security.PermissionSe"
+ + "t\"\r\n version=\"1\">\r\n <IPermission class=\"Syst"
+ + "em.Security.Permissions.SecurityPermission, mscorlib, Versio"
+ + "n=1.1.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e0"
+ + "89\"\r\n version=\"1\"\r\n Flags=\"Ski"
+ + "pVerification\"/>\r\n</PermissionSet>\r\n"
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module test3.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+.class private auto ansi beforefieldinit T
+ extends [mscorlib]System.Object
+{
+ .field public static int32 size_to_test
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals init (bool V_0,
+ int32* V_1,
+ int32 V_2)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: call void T::dirtyStack()
+ IL_0007: ldc.i4.4
+ IL_0008: ldsfld int32 T::size_to_test
+ IL_000d: mul
+ IL_000e: localloc
+ IL_0010: stloc.1
+ IL_0011: ldc.i4.0
+ IL_0012: stloc.2
+ IL_0013: br.s IL_0023
+
+ IL_0015: ldloc.1
+ IL_0016: ldc.i4.4
+ IL_0017: ldloc.2
+ IL_0018: mul
+ IL_0019: add
+ IL_001a: ldind.i4
+ IL_001b: brfalse.s IL_001f
+
+ IL_001d: ldc.i4.0
+ IL_001e: stloc.0
+ IL_001f: ldloc.2
+ IL_0020: ldc.i4.1
+ IL_0021: add
+ IL_0022: stloc.2
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 T::size_to_test
+ IL_0029: blt.s IL_0015
+
+ IL_002b: ldloc.0
+ IL_002c: brfalse.s IL_003a
+
+ IL_002e: ldstr "pass"
+ IL_0033: call void [System.Console]System.Console::WriteLine(string)
+ IL_0038: ldc.i4 100
+ ret
+
+ IL_003a: ldstr "fail"
+ IL_003f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0044: ldc.i4 1
+ ret
+ }
+
+ .method public hidebysig static void dirtyStack() cil managed
+ {
+ .maxstack 3
+ .locals (int32* V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 T::size_to_test
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldc.i4.0
+ IL_000b: stloc.1
+ IL_000c: br.s IL_0019
+
+ IL_000e: ldloc.0
+ IL_000f: ldc.i4.4
+ IL_0010: ldloc.1
+ IL_0011: mul
+ IL_0012: add
+ IL_0013: ldloc.1
+ IL_0014: stind.i4
+ IL_0015: ldloc.1
+ IL_0016: ldc.i4.1
+ IL_0017: add
+ IL_0018: stloc.1
+ IL_0019: ldloc.1
+ IL_001a: ldsfld int32 T::size_to_test
+ IL_001f: blt.s IL_000e
+
+ IL_0021: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4 0x7d0
+ IL_0005: stsfld int32 T::size_to_test
+ IL_000a: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/b14324.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/b14324.ilproj
new file mode 100644
index 0000000000..4df184c287
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/b14324.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="repro.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\jit64\localloc\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/repro.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/repro.il
new file mode 100644
index 0000000000..adc00caa39
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M01/b14324/repro.il
@@ -0,0 +1,139 @@
+// Test localloc with tail call followed by jump
+.assembly extern legacy library mscorlib {}
+.assembly extern common{}
+.assembly extern legacy library mscorlib {}
+.assembly call06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ class LocallocTest V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_000c: ldc.i4.1
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.1
+ IL_0038: ldloc.1
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0043: callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 11
+ .locals (int32 retValue)
+ IL_001c: ldstr "ar1"
+ IL_0021: ldarg.s ar1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 1000
+ IL_002d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0032: brtrue.s L_JMP
+
+ IL_0034: ldc.i4.1
+ IL_0035: stloc.0
+ IL_0036: br.s L_END
+
+ L_JMP: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_004a: stloc.0
+
+ L_END: ldc.i4 99
+ IL_004e: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+
+ IL_00f3: ldc.i4.s 100
+ IL_00fb: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/b14355.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/b14355.ilproj
new file mode 100644
index 0000000000..a357040808
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/b14355.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call01.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\..\jit64\localloc\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/call01.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/call01.il
new file mode 100644
index 0000000000..a540b79e36
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14355/call01.il
@@ -0,0 +1,330 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 1:2:3300:0
+}
+.assembly extern common
+{
+ .ver 0:0:0:0
+}
+.assembly call01
+{
+
+
+ .permissionset reqmin
+ "<PermissionSet class=\"System.Security.PermissionSe"
+ + "t\"\r\n version=\"1\">\r\n <IPermission class=\"Syst"
+ + "em.Security.Permissions.SecurityPermission, mscorlib, Versio"
+ + "n=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e0"
+ + "89\"\r\n version=\"1\"\r\n Flags=\"Ski"
+ + "pVerification\"/>\r\n</PermissionSet>\r\n"
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module call01.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (uint64 V_0,
+ uint64 V_1,
+ int32* V_2,
+ int32* V_3,
+ int32 V_4)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4.4
+ IL_001a: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001f: mul
+ IL_0020: localloc
+ IL_0022: stloc.3
+ IL_0023: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0028: stsfld int32 LocallocTest::locallocSize
+ IL_002d: ldloc.2
+ IL_002e: ldsfld int32 LocallocTest::locallocSize
+ IL_0033: ldc.i4 0x3e8
+ IL_0038: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_003d: ldloc.3
+ IL_003e: ldsfld int32 LocallocTest::locallocSize
+ IL_0043: ldc.i4 0x7d0
+ IL_0048: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_004d: ldc.i4.1
+ IL_004e: ldc.i4.s 20
+ IL_0050: ldc.i4.3
+ IL_0051: ldc.i4.4
+ IL_0052: ldc.i4.5
+ IL_0053: ldc.i4.6
+ IL_0054: ldc.i4.7
+ IL_0055: ldc.i4.8
+ IL_0056: ldloc.2
+ IL_0057: ldloc.3
+ IL_0058: call bool LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_005d: brtrue.s IL_0064
+
+ IL_005f: ldc.i4.1
+ IL_0060: stloc.s V_4
+ IL_0062: br.s IL_00e2
+
+ IL_0064: ldstr "intArray1"
+ IL_0069: ldloc.2
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 0x3e8
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s IL_0080
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.s V_4
+ IL_007e: br.s IL_00e2
+
+ IL_0080: ldstr "intArray2"
+ IL_0085: ldloc.3
+ IL_0086: ldsfld int32 LocallocTest::locallocSize
+ IL_008b: ldc.i4 0x7d0
+ IL_0090: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0095: brtrue.s IL_009c
+
+ IL_0097: ldc.i4.1
+ IL_0098: stloc.s V_4
+ IL_009a: br.s IL_00e2
+
+ IL_009c: ldstr "local1"
+ IL_00a1: ldloc.0
+ IL_00a2: ldc.i8 0xfedcba9876543210
+ IL_00ab: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ uint64,
+ uint64)
+ IL_00b0: brtrue.s IL_00b7
+
+ IL_00b2: ldc.i4.1
+ IL_00b3: stloc.s V_4
+ IL_00b5: br.s IL_00e2
+
+ IL_00b7: ldstr "local2"
+ IL_00bc: ldloc.1
+ IL_00bd: ldc.i8 0xfedcba9876543211
+ IL_00c6: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ uint64,
+ uint64)
+ IL_00cb: brtrue.s IL_00d2
+
+ IL_00cd: ldc.i4.1
+ IL_00ce: stloc.s V_4
+ IL_00d0: br.s IL_00e2
+
+ IL_00d2: ldstr "Passed\n"
+ IL_00d7: call void [System.Console]System.Console::WriteLine(string)
+ IL_00dc: ldc.i4.s 100
+ IL_00de: stloc.s V_4
+ IL_00e0: br.s IL_00e2
+
+ IL_00e2: ldloc.s V_4
+ IL_00e4: ret
+ }
+
+ .method private hidebysig static bool func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 10
+ .locals (int32* V_0,
+ int32* V_1,
+ bool V_2)
+ IL_0000: ldarg.1
+ IL_0001: ldc.i4.0
+ IL_0002: ble.s IL_002a
+
+ IL_0004: ldc.i4.1
+ IL_0005: ldarg.1
+ IL_0006: ldc.i4.1
+ IL_0007: sub
+ IL_0008: ldc.i4.3
+ IL_0009: ldc.i4.4
+ IL_000a: ldc.i4.5
+ IL_000b: ldc.i4.6
+ IL_000c: ldc.i4.7
+ IL_000d: ldc.i4.8
+ IL_000e: ldarg.s ar1
+ IL_0010: ldarg.s ar2
+ IL_0012: call bool LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0017: brfalse.s IL_0020
+
+ IL_0019: ldc.i4.1
+ IL_001a: stloc.2
+ IL_001b: br IL_00d0
+
+ IL_0020: ldstr "error\n"
+ IL_0025: call void [System.Console]System.Console::WriteLine(string)
+ IL_002a: ldc.i4.4
+ IL_002b: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0030: mul
+ IL_0031: localloc
+ IL_0033: stloc.0
+ IL_0034: ldc.i4.4
+ IL_0035: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_003a: mul
+ IL_003b: localloc
+ IL_003d: stloc.1
+ IL_003e: ldloc.0
+ IL_003f: ldsfld int32 LocallocTest::locallocSize
+ IL_0044: ldc.i4 0xbb8
+ IL_0049: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_004e: ldloc.1
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0xfa0
+ IL_0059: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_005e: ldstr "ar1"
+ IL_0063: ldarg.s ar1
+ IL_0065: ldsfld int32 LocallocTest::locallocSize
+ IL_006a: ldc.i4 0x3e8
+ IL_006f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0074: brtrue.s IL_007a
+
+ IL_0076: ldc.i4.0
+ IL_0077: stloc.2
+ IL_0078: br.s IL_00d0
+
+ IL_007a: ldstr "ar2"
+ IL_007f: ldarg.s ar2
+ IL_0081: ldsfld int32 LocallocTest::locallocSize
+ IL_0086: ldc.i4 0x7d0
+ IL_008b: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0090: brtrue.s IL_0096
+
+ IL_0092: ldc.i4.0
+ IL_0093: stloc.2
+ IL_0094: br.s IL_00d0
+
+ IL_0096: ldstr "intArray1"
+ IL_009b: ldloc.0
+ IL_009c: ldsfld int32 LocallocTest::locallocSize
+ IL_00a1: ldc.i4 0xbb8
+ IL_00a6: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ab: brtrue.s IL_00b1
+
+ IL_00ad: ldc.i4.0
+ IL_00ae: stloc.2
+ IL_00af: br.s IL_00d0
+
+ IL_00b1: ldstr "intArray2"
+ IL_00b6: ldloc.1
+ IL_00b7: ldsfld int32 LocallocTest::locallocSize
+ IL_00bc: ldc.i4 0xfa0
+ IL_00c1: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00c6: brtrue.s IL_00cc
+
+ IL_00c8: ldc.i4.0
+ IL_00c9: stloc.2
+ IL_00ca: br.s IL_00d0
+
+ IL_00cc: ldc.i4.1
+ IL_00cd: stloc.2
+ IL_00ce: br.s IL_00d0
+
+ IL_00d0: ldloc.2
+ IL_00d1: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/b14364.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/b14364.ilproj
new file mode 100644
index 0000000000..91076b5a43
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/b14364.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="life-annotated.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/life-annotated.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/life-annotated.il
new file mode 100644
index 0000000000..87aad4423b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b14364/life-annotated.il
@@ -0,0 +1,3255 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly Benchmark
+{
+ .ver 0:0:0:0
+}
+.module life.exe
+.imagebase 0x00400000
+.subsystem 0x00000003
+.file alignment 512
+.corflags 0x00000001
+
+
+.class public auto ansi sealed c
+ extends [mscorlib]System.Object
+{
+ .field privatescope int32 a$PST04000001
+ .field privatescope int32 b$PST04000002
+ .method public specialname rtspecialname
+ instance void .ctor(int32 A_0,
+ int32 A_1) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld int32 c::a$PST04000001
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld int32 c::b$PST04000002
+ IL_0014: ret
+ }
+
+}
+
+.class public auto ansi sealed b
+ extends [mscorlib]System.Object
+{
+ .field privatescope class c a$PST04000003
+ .field privatescope class b b$PST04000004
+ .method public specialname rtspecialname
+ instance void .ctor(class c A_0,
+ class b A_1) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class c b::a$PST04000003
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld class b b::b$PST04000004
+ IL_0014: ret
+ }
+
+}
+
+.class public auto ansi sealed g
+ extends [mscorlib]System.Object
+{
+ .field privatescope string a$PST04000005
+ .field privatescope class g b$PST04000006
+ .method public specialname rtspecialname
+ instance void .ctor(string A_0,
+ class g A_1) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld string g::a$PST04000005
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld class g g::b$PST04000006
+ IL_0014: ret
+ }
+
+}
+
+.class public auto ansi Benchmark
+ extends [mscorlib]System.Object
+{
+ .method public specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 0
+ IL_0000: ret
+ }
+
+ .method public static int32 main(string[] A_0) cil managed
+ {
+ .entrypoint
+ .maxstack 18
+ .locals init (class [mscorlib]System.Exception V_0,
+ class [mscorlib]System.IO.TextWriter V_1,
+ class a V_2,
+ class b V_3,
+ class a V_4,
+ class a V_5,
+ int32 V_6,
+ int64 V_7,
+ int64 V_8,
+ class b V_9,
+ int32 V_10,
+ class d V_11,
+ class e V_12,
+ class b V_13,
+ class f V_14,
+ int32 V_15,
+ class b V_16,
+ class b V_17,
+ class b V_18,
+ class b V_19,
+ class c V_20,
+ int32 V_21,
+ int32 V_22,
+ class b V_23,
+ class b V_24,
+ class b V_25,
+ class b V_26,
+ class b V_27,
+ class c V_28,
+ class b V_29,
+ class b V_30,
+ class b V_31,
+ class b V_32,
+ class b V_33,
+ class b V_34,
+ class b V_35,
+ class b V_36,
+ class g V_37,
+ int32 V_38,
+ int64 V_39,
+ int64 V_40,
+ int64 V_41,
+ int64 V_42,
+ string V_43,
+ string V_44,
+ string V_45,
+ int64 V_46,
+ int64 V_47,
+ int64 V_48,
+ class [mscorlib]System.Text.StringBuilder V_49,
+ string V_50,
+ class [mscorlib]System.Text.StringBuilder V_51,
+ string V_52)
+ IL_0000: ldsfld class [mscorlib]System.Exception $::i$PST04000014
+ IL_0005: stloc.0
+ IL_0006: ldsfld class [mscorlib]System.IO.TextWriter $::j$PST04000015
+ IL_000b: stloc.1
+ IL_000c: ldsfld class a $::e$PST04000010
+ IL_0011: stloc.2
+ IL_0012: ldsfld class b $::h$PST04000013
+ IL_0017: stloc.3
+ IL_0018: ldsfld class a $::d$PST0400000F
+ IL_001d: stloc.s V_4
+ IL_001f: ldsfld class a $::c$PST0400000E
+ IL_0024: stloc.s V_5
+ IL_0026: call int32 [mscorlib]System.Environment::get_TickCount()
+ IL_002b: stloc.s V_6
+ IL_002d: ldloc.s V_6
+ IL_002f: conv.i8
+ IL_0030: stloc.s V_7
+ IL_0032: ldloc.s V_7
+ IL_0034: ldc.i8 0x3e8
+ IL_003d: mul
+ IL_003e: stloc.s V_8
+ IL_0040: ldloc.s V_8
+ IL_0042: stsfld int64 $::b$PST0400000D
+ IL_0047: ldloc.3
+ IL_0048: ldc.i4 0x190
+ IL_004d: stloc.s V_10
+ IL_004f: stloc.s V_9
+ IL_0051: ldloc.s V_10
+ IL_0053: brtrue IL_005d
+
+ IL_0058: br IL_0062
+
+ IL_005d: br IL_016d
+
+ IL_0062: ldloc.s V_4
+ IL_0064: ldloc.s V_9
+ IL_0066: call class b $::e(class a,
+ class b)
+ IL_006b: stloc.s V_36
+ IL_006d: ldc.i4.0
+ IL_006e: ldc.i4.0
+ IL_006f: ldnull
+ IL_0070: ldloc.s V_36
+ IL_0072: call class g $::j(int32,
+ int32,
+ string,
+ class b)
+ IL_0077: stloc.s V_37
+ IL_0079: ldloc.2
+ IL_007a: ldloc.s V_37
+ IL_007c: call void $::b(class a,
+ class g)
+ IL_0081: call int32 [mscorlib]System.Environment::get_TickCount()
+ IL_0086: stloc.s V_38
+ IL_0088: ldloc.s V_38
+ IL_008a: conv.i8
+ IL_008b: stloc.s V_39
+ IL_008d: ldloc.s V_39
+ IL_008f: ldc.i8 0x3e8
+ IL_0098: mul
+ IL_0099: stloc.s V_40
+ IL_009b: ldsfld int64 $::b$PST0400000D
+ IL_00a0: stloc.s V_41
+ IL_00a2: ldloc.s V_40
+ IL_00a4: ldloc.s V_41
+ IL_00a6: blt IL_00b0
+
+ IL_00ab: br IL_00b2
+
+ IL_00b0: ldloc.0
+ IL_00b1: throw
+
+ IL_00b2: ldloc.s V_40
+ IL_00b4: ldloc.s V_41
+ IL_00b6: sub
+ IL_00b7: stloc.s V_42
+ IL_00b9: ldloc.s V_42
+ IL_00bb: ldc.i8 0x64
+ IL_00c4: div
+ IL_00c5: stloc.s V_46
+ IL_00c7: ldloc.s V_46
+ IL_00c9: ldc.i8 0x5
+ IL_00d2: add
+ IL_00d3: stloc.s V_47
+ IL_00d5: ldloc.s V_47
+ IL_00d7: ldc.i8 0x0
+ IL_00e0: blt IL_00ea
+
+ IL_00e5: br IL_00ec
+
+ IL_00ea: ldloc.0
+ IL_00eb: throw
+
+ IL_00ec: ldloc.s V_47
+ IL_00ee: ldc.i8 0xa
+ IL_00f7: div
+ IL_00f8: stloc.s V_48
+ IL_00fa: ldc.i4.s 20
+ IL_00fc: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor(int32)
+ IL_0101: stloc.s V_49
+ IL_0103: ldc.i4.3
+ IL_0104: ldc.i4.0
+ IL_0105: beq IL_010f
+
+ IL_010a: br IL_012c
+
+ IL_010f: ldloc.s V_49
+ IL_0111: ldloc.s V_48
+ IL_0113: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(int64)
+ IL_0118: stloc.s V_51
+ IL_011a: ldloc.s V_49
+ IL_011c: callvirt instance string [mscorlib]System.Text.StringBuilder::ToString()
+ IL_0121: stloc.s V_52
+ IL_0123: ldloc.s V_52
+ IL_0125: stloc.s V_43
+ IL_0127: br IL_0143
+
+ IL_012c: ldloc.s V_49
+ IL_012e: ldc.i4.3
+ IL_012f: ldloc.s V_48
+ IL_0131: call void $::c(class [mscorlib]System.Text.StringBuilder,
+ int32,
+ int64)
+ IL_0136: ldloc.s V_49
+ IL_0138: callvirt instance string [mscorlib]System.Text.StringBuilder::ToString()
+ IL_013d: stloc.s V_50
+ IL_013f: ldloc.s V_50
+ IL_0141: stloc.s V_43
+ IL_0143: ldstr "\nTime: "
+ IL_0148: ldloc.s V_43
+ IL_014a: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_014f: stloc.s V_44
+ IL_0151: ldloc.s V_44
+ IL_0153: ldstr "\n"
+ IL_0158: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_015d: stloc.s V_45
+ IL_015f: ldloc.1
+ IL_0160: ldloc.s V_45
+ IL_0162: callvirt instance void [mscorlib]System.IO.TextWriter::Write(string)
+ IL_0167: ldc.i4 0x64
+ IL_016c: ret
+
+ IL_016d: ldloc.s V_9
+ IL_016f: newobj instance void d::.ctor(class b)
+ IL_0174: stloc.s V_11
+ IL_0176: ldloc.s V_11
+ IL_0178: newobj instance void e::.ctor(class a)
+ IL_017d: stloc.s V_12
+ IL_017f: ldloc.s V_12
+ IL_0181: ldloc.s V_9
+ IL_0183: call class b $::e(class a,
+ class b)
+ IL_0188: stloc.s V_13
+ IL_018a: ldloc.s V_9
+ IL_018c: newobj instance void f::.ctor(class b)
+ IL_0191: stloc.s V_14
+ IL_0193: ldloc.s V_10
+ IL_0195: ldc.i4.1
+ IL_0196: sub
+ IL_0197: stloc.s V_15
+ IL_0199: ldnull
+ IL_019a: ldloc.s V_9
+ IL_019c: stloc.s V_17
+ IL_019e: stloc.s V_16
+ IL_01a0: ldloc.s V_17
+ IL_01a2: brtrue IL_01ac
+
+ IL_01a7: br IL_01b9
+
+ IL_01ac: ldloc.s V_17
+ IL_01ae: stloc.s V_35
+ IL_01b0: ldloc.s V_35
+ IL_01b2: stloc.s V_18
+ IL_01b4: br IL_01e9
+
+ IL_01b9: ldloc.s V_5
+ IL_01bb: ldnull
+ IL_01bc: ldnull
+ IL_01bd: ldnull
+ IL_01be: ldnull
+ IL_01bf: ldloc.s V_16
+ IL_01c1: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_01c6: stloc.s V_32
+ IL_01c8: ldloc.s V_13
+ IL_01ca: ldloc.s V_32
+ IL_01cc: call class b $::a(class b,
+ class b)
+ IL_01d1: stloc.s V_33
+ IL_01d3: ldloc.s V_33
+ IL_01d5: call class b $::h(class b)
+ IL_01da: stloc.s V_34
+ IL_01dc: ldloc.s V_34
+ IL_01de: ldloc.s V_15
+ IL_01e0: stloc.s V_10
+ IL_01e2: stloc.s V_9
+ IL_01e4: br IL_0051
+
+ IL_01e9: ldloc.s V_18
+ IL_01eb: ldfld class b b::b$PST04000004
+ IL_01f0: stloc.s V_19
+ IL_01f2: ldloc.s V_18
+ IL_01f4: ldfld class c b::a$PST04000003
+ IL_01f9: stloc.s V_20
+ IL_01fb: ldloc.s V_20
+ IL_01fd: ldfld int32 c::b$PST04000002
+ IL_0202: stloc.s V_21
+ IL_0204: ldloc.s V_20
+ IL_0206: ldfld int32 c::a$PST04000001
+ IL_020b: stloc.s V_22
+ IL_020d: ldloc.s V_22
+ IL_020f: ldloc.s V_21
+ IL_0211: call class b $::i(int32,
+ int32)
+ IL_0216: stloc.s V_23
+ IL_0218: ldloc.s V_14
+ IL_021a: ldloc.s V_23
+ IL_021c: call class b $::e(class a,
+ class b)
+ IL_0221: stloc.s V_24
+ IL_0223: ldloc.s V_16
+ IL_0225: ldloc.s V_24
+ IL_0227: stloc.s V_26
+ IL_0229: stloc.s V_25
+ IL_022b: ldloc.s V_26
+ IL_022d: brtrue IL_023f
+
+ IL_0232: ldloc.s V_25
+ IL_0234: ldloc.s V_19
+ IL_0236: stloc.s V_17
+ IL_0238: stloc.s V_16
+ IL_023a: br IL_01a0
+
+ IL_023f: ldloc.s V_26
+ IL_0241: stloc.s V_31
+ IL_0243: ldloc.s V_31
+ IL_0245: stloc.s V_27
+ IL_0247: ldloc.s V_27
+ IL_0249: ldfld class c b::a$PST04000003
+ IL_024e: stloc.s V_28
+ IL_0250: ldloc.s V_27
+ IL_0252: ldfld class b b::b$PST04000004
+ IL_0257: stloc.s V_29
+ IL_0259: ldloc.s V_28
+ IL_025b: ldloc.s V_25
+ IL_025d: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0262: stloc.s V_30
+ IL_0264: ldloc.s V_30
+ IL_0266: ldloc.s V_29
+ IL_0268: stloc.s V_26
+ IL_026a: stloc.s V_25
+ IL_026c: br IL_022b
+ }
+
+}
+
+.class public auto ansi a
+ extends [mscorlib]System.Object
+{
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ .method public virtual instance int32 a(class c A_0,
+ class c A_1) cil managed
+ {
+ .maxstack 1
+ IL_0000: ldnull
+ IL_0001: throw
+ }
+
+ .method public virtual instance int32 b(class c A_0) cil managed
+ {
+ .maxstack 1
+ IL_0000: ldnull
+ IL_0001: throw
+ }
+
+ .method public virtual instance class c
+ c(class c A_0) cil managed
+ {
+ .maxstack 1
+ IL_0000: ldnull
+ IL_0001: throw
+ }
+
+ .method public virtual instance void d(string A_0) cil managed
+ {
+ .maxstack 1
+ IL_0000: ldnull
+ IL_0001: throw
+ }
+
+}
+
+.class public auto ansi sealed d
+ extends a
+{
+ .field privatescope class b a$PST04000007
+ .method public specialname rtspecialname
+ instance void .ctor(class b A_0) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class b d::a$PST04000007
+ IL_000d: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 5
+ .locals init (class a V_0,
+ class b V_1)
+ IL_0000: ldsfld class a $::c$PST0400000E
+ IL_0005: stloc.0
+ IL_0006: ldarg.0
+ IL_0007: ldfld class b d::a$PST04000007
+ IL_000c: stloc.1
+ IL_000d: ldloc.0
+ IL_000e: ldloc.1
+ IL_000f: ldarg.1
+ IL_0010: tail.
+ IL_0012: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0017: ret
+ }
+
+}
+
+.class public auto ansi sealed e
+ extends a
+{
+ .field privatescope class a a$PST04000008
+ .method public specialname rtspecialname
+ instance void .ctor(class a A_0) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class a e::a$PST04000008
+ IL_000d: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 5
+ .locals init (class a V_0,
+ int32 V_1,
+ int32 V_2,
+ class b V_3,
+ class b V_4,
+ int32 V_5,
+ class b V_6,
+ class b V_7,
+ class b V_8,
+ int32 V_9,
+ class b V_10)
+ IL_0000: ldarg.0
+ IL_0001: ldfld class a e::a$PST04000008
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: ldfld int32 c::b$PST04000002
+ IL_000d: stloc.1
+ IL_000e: ldarg.1
+ IL_000f: ldfld int32 c::a$PST04000001
+ IL_0014: stloc.2
+ IL_0015: ldloc.2
+ IL_0016: ldloc.1
+ IL_0017: call class b $::i(int32,
+ int32)
+ IL_001c: stloc.3
+ IL_001d: ldloc.0
+ IL_001e: ldloc.3
+ IL_001f: call class b $::e(class a,
+ class b)
+ IL_0024: stloc.s V_4
+ IL_0026: ldc.i4.0
+ IL_0027: ldloc.s V_4
+ IL_0029: stloc.s V_6
+ IL_002b: stloc.s V_5
+ IL_002d: ldloc.s V_6
+ IL_002f: brtrue IL_0039
+
+ IL_0034: br IL_0046
+
+ IL_0039: ldloc.s V_6
+ IL_003b: stloc.s V_10
+ IL_003d: ldloc.s V_10
+ IL_003f: stloc.s V_7
+ IL_0041: br IL_005b
+
+ IL_0046: ldloc.s V_5
+ IL_0048: ldc.i4.2
+ IL_0049: beq IL_0053
+
+ IL_004e: br IL_0055
+
+ IL_0053: ldc.i4.1
+ IL_0054: ret
+
+ IL_0055: ldloc.s V_5
+ IL_0057: ldc.i4.3
+ IL_0058: ceq
+ IL_005a: ret
+
+ IL_005b: ldloc.s V_7
+ IL_005d: ldfld class b b::b$PST04000004
+ IL_0062: stloc.s V_8
+ IL_0064: ldloc.s V_5
+ IL_0066: ldc.i4.1
+ IL_0067: add
+ IL_0068: stloc.s V_9
+ IL_006a: ldloc.s V_9
+ IL_006c: ldloc.s V_8
+ IL_006e: stloc.s V_6
+ IL_0070: stloc.s V_5
+ IL_0072: br IL_002d
+ }
+
+}
+
+.class public auto ansi sealed f
+ extends a
+{
+ .field privatescope class b a$PST04000009
+ .method public specialname rtspecialname
+ instance void .ctor(class b A_0) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class b f::a$PST04000009
+ IL_000d: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 5
+ .locals init (class a V_0,
+ class b V_1,
+ int32 V_2)
+ IL_0000: ldsfld class a $::c$PST0400000E
+ IL_0005: stloc.0
+ IL_0006: ldarg.0
+ IL_0007: ldfld class b f::a$PST04000009
+ IL_000c: stloc.1
+ IL_000d: ldloc.0
+ IL_000e: ldloc.1
+ IL_000f: ldarg.1
+ IL_0010: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0015: stloc.2
+ IL_0016: ldloc.2
+ IL_0017: ldc.i4.1
+ IL_0018: bne.un IL_0022
+
+ IL_001d: br IL_0024
+
+ IL_0022: ldc.i4.1
+ IL_0023: ret
+
+ IL_0024: ldc.i4.0
+ IL_0025: ret
+ }
+
+}
+
+.class public auto ansi $
+ extends [mscorlib]System.Object
+{
+ .field static privatescope string $l$PST0400000A
+ .field static privatescope int32 $g$PST0400000B
+ .field static privatescope int32 a$PST0400000C
+ .field static privatescope int64 b$PST0400000D
+ .field static privatescope class a c$PST0400000E
+ .field static privatescope class a d$PST0400000F
+ .field static privatescope class a e$PST04000010
+ .field static privatescope class [mscorlib]System.IO.TextWriter f$PST04000011
+ .field static privatescope class [mscorlib]System.Exception g$PST04000012
+ .field static privatescope class b h$PST04000013
+ .field static privatescope class [mscorlib]System.Exception i$PST04000014
+ .field static privatescope class [mscorlib]System.IO.TextWriter j$PST04000015
+ .field static privatescope class [mscorlib]System.IO.TextWriter k$PST04000016
+ .field static privatescope class [mscorlib]System.Exception l$PST04000017
+ .field static privatescope class b m$PST04000018
+ .method public specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 12
+ .locals init (class l V_0,
+ class [mscorlib]System.Exception V_1,
+ class l V_2,
+ class l V_3,
+ class c V_4,
+ class c V_5,
+ class c V_6,
+ class c V_7,
+ class c V_8,
+ class b V_9,
+ class b V_10,
+ class b V_11,
+ class b V_12,
+ class b V_13,
+ class c V_14,
+ class c V_15,
+ class b V_16,
+ class b V_17,
+ class b V_18,
+ class b V_19,
+ class c V_20,
+ class b V_21,
+ class c V_22,
+ class b V_23,
+ class c V_24,
+ class c V_25,
+ class b V_26,
+ class b V_27,
+ class b V_28,
+ class b V_29,
+ class b V_30,
+ class b V_31,
+ class c V_32,
+ class b V_33,
+ class b V_34,
+ class b V_35,
+ class b V_36,
+ class c V_37,
+ class c V_38,
+ class c V_39,
+ class c V_40,
+ class c V_41,
+ class c V_42,
+ class c V_43,
+ class c V_44,
+ class c V_45,
+ class c V_46,
+ class c V_47,
+ class c V_48,
+ class c V_49,
+ class c V_50,
+ class c V_51,
+ class c V_52,
+ class c V_53,
+ class c V_54,
+ class c V_55,
+ class c V_56,
+ class c V_57,
+ class c V_58,
+ class c V_59,
+ class c V_60,
+ class c V_61,
+ class c V_62,
+ class c V_63,
+ class c V_64,
+ class c V_65,
+ class c V_66,
+ class c V_67,
+ class c V_68,
+ class c V_69,
+ class c V_70,
+ class c V_71,
+ class c V_72,
+ class c V_73,
+ class c V_74,
+ class c V_75,
+ class c V_76,
+ class c V_77,
+ class c V_78,
+ class c V_79,
+ class c V_80,
+ class b V_81,
+ class b V_82,
+ class b V_83,
+ class b V_84,
+ class b V_85,
+ class b V_86,
+ class b V_87,
+ class b V_88,
+ class b V_89,
+ class b V_90,
+ class b V_91,
+ class b V_92,
+ class b V_93,
+ class b V_94,
+ class b V_95,
+ class b V_96,
+ class b V_97,
+ class b V_98,
+ class b V_99,
+ class b V_100,
+ class b V_101,
+ class b V_102,
+ class b V_103,
+ class b V_104,
+ class b V_105,
+ class b V_106,
+ class b V_107,
+ class b V_108,
+ class b V_109,
+ class b V_110,
+ class b V_111,
+ class b V_112,
+ class b V_113,
+ class b V_114,
+ class b V_115,
+ class b V_116,
+ class b V_117,
+ class b V_118,
+ class b V_119,
+ class b V_120,
+ class b V_121,
+ class b V_122,
+ class b V_123,
+ class b V_124,
+ class b V_125,
+ class [mscorlib]System.IO.TextWriter V_126,
+ class [mscorlib]System.IO.TextWriter V_127,
+ class l V_128,
+ class [mscorlib]System.Exception V_129,
+ class [mscorlib]System.IO.TextWriter V_130,
+ int32 V_131,
+ class [mscorlib]System.Exception V_132)
+ldstr "Here1"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: newobj instance void l::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: stsfld class a $::c$PST0400000E
+ IL_000c: ldc.i8 0x0
+ IL_0015: stsfld int64 $::b$PST0400000D
+ldstr "Here2"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_001a: ldstr "repeat<0"
+ IL_001f: newobj instance void m::.ctor(string)
+ IL_0024: stloc.1
+ IL_0025: ldloc.1
+ IL_0026: stsfld class [mscorlib]System.Exception $::g$PST04000012
+ IL_002b: newobj instance void l::.ctor()
+ IL_0030: stloc.2
+ IL_0031: ldloc.2
+ IL_0032: stsfld class a $::d$PST0400000F
+ IL_0037: newobj instance void l::.ctor()
+ IL_003c: stloc.3
+ldstr "Here3"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldc.i4.0
+ IL_003e: ldc.i4.0
+ IL_003f: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0044: stloc.s V_4
+ IL_0046: ldc.i4.0
+ IL_0047: ldc.i4.2
+ IL_0048: newobj instance void c::.ctor(int32,
+ int32)
+ IL_004d: stloc.s V_5
+ IL_004f: ldc.i4.1
+ IL_0050: ldc.i4.1
+ IL_0051: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0056: stloc.s V_6
+ IL_0058: ldc.i4.1
+ IL_0059: ldc.i4.2
+ IL_005a: newobj instance void c::.ctor(int32,
+ int32)
+ IL_005f: stloc.s V_7
+ IL_0061: ldc.i4.2
+ IL_0062: ldc.i4.1
+ IL_0063: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0068: stloc.s V_8
+ IL_006a: ldloc.s V_8
+ IL_006c: ldnull
+ IL_006d: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0072: stloc.s V_9
+ IL_0074: ldloc.s V_7
+ IL_0076: ldloc.s V_9
+ IL_0078: newobj instance void b::.ctor(class c,
+ class b)
+ IL_007d: stloc.s V_10
+ IL_007f: ldloc.s V_6
+ IL_0081: ldloc.s V_10
+ IL_0083: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0088: stloc.s V_11
+ IL_008a: ldloc.s V_5
+ IL_008c: ldloc.s V_11
+ IL_008e: newobj instance void b::.ctor(class c,
+ class b)
+ldstr "Here3.5"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0093: stloc.s V_12
+ IL_0095: ldloc.s V_4
+ IL_0097: ldloc.s V_12
+ IL_0099: newobj instance void b::.ctor(class c,
+ class b)
+ IL_009e: stloc.s V_13
+ IL_00a0: ldc.i4.0
+ IL_00a1: ldc.i4.1
+ IL_00a2: newobj instance void c::.ctor(int32,
+ int32)
+ IL_00a7: stloc.s V_14
+ IL_00a9: ldc.i4.1
+ IL_00aa: ldc.i4.0
+ IL_00ab: newobj instance void c::.ctor(int32,
+ int32)
+ldstr "Here3.6"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00b0: stloc.s V_15
+ IL_00b2: ldloc.s V_6
+ IL_00b4: ldnull
+ IL_00b5: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00ba: stloc.s V_16
+ IL_00bc: ldloc.s V_15
+ IL_00be: ldloc.s V_16
+ IL_00c0: newobj instance void b::.ctor(class c,
+ class b)
+ldstr "Here3.7"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00c5: stloc.s V_17
+ IL_00c7: ldloc.s V_14
+ IL_00c9: ldloc.s V_17
+ IL_00cb: newobj instance void b::.ctor(class c,
+ class b)
+ldstr "Here3.8"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00d0: stloc.s V_18
+ IL_00d2: ldloc.s V_4
+ IL_00d4: ldloc.s V_18
+ IL_00d6: newobj instance void b::.ctor(class c,
+ class b)
+ldstr "Here3.9"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00db: stloc.s V_19
+ IL_00dd: ldc.i4.2
+ IL_00de: ldc.i4.2
+ IL_00df: newobj instance void c::.ctor(int32,
+ int32)
+ldstr "Here3.91"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00e4: stloc.s V_20
+ IL_00e6: ldloc.s V_13
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_00e8: ldloc.s V_20
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_00ea: call class b $::l(class b,
+ class c)
+ldstr "Here4"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_00ef: stloc.s V_21
+ IL_00f1: ldc.i4.2
+ IL_00f2: ldc.i4.s 12
+ IL_00f4: newobj instance void c::.ctor(int32,
+ int32)
+ IL_00f9: stloc.s V_22
+ IL_00fb: ldloc.s V_19
+ IL_00fd: ldloc.s V_22
+ IL_00ff: call class b $::l(class b,
+ class c)
+ IL_0104: stloc.s V_23
+ IL_0106: ldc.i4.7
+ IL_0107: ldc.i4.8
+ IL_0108: newobj instance void c::.ctor(int32,
+ int32)
+ IL_010d: stloc.s V_24
+ IL_010f: ldc.i4.8
+ IL_0110: ldc.i4.8
+ IL_0111: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0116: stloc.s V_25
+ IL_0118: ldloc.s V_25
+ IL_011a: ldnull
+ IL_011b: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0120: stloc.s V_26
+ IL_0122: ldloc.s V_24
+ IL_0124: ldloc.s V_26
+ IL_0126: newobj instance void b::.ctor(class c,
+ class b)
+ IL_012b: stloc.s V_27
+ IL_012d: ldloc.s V_27
+ IL_012f: stsfld class b $::m$PST04000018
+ IL_0134: ldc.i4.0
+ IL_0135: call class b $::m(int32)
+ IL_013a: stloc.s V_28
+ IL_013c: ldloc.s V_15
+ IL_013e: ldloc.s V_28
+ IL_0140: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0145: stloc.s V_29
+ IL_0147: ldloc.s V_4
+ IL_0149: ldloc.s V_29
+ IL_014b: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0150: stloc.s V_30
+ IL_0152: ldloc.3
+ IL_0153: ldloc.s V_30
+ IL_0155: call class b $::d(class a,
+ class b)
+ IL_015a: stloc.s V_31
+ IL_015c: ldc.i4.5
+ IL_015d: ldc.i4.s 20
+ IL_015f: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0164: stloc.s V_32
+ IL_0166: ldloc.s V_31
+ IL_0168: ldloc.s V_32
+ IL_016a: call class b $::l(class b,
+ class c)
+ IL_016f: stloc.s V_33
+ IL_0171: ldloc.s V_23
+ IL_0173: ldloc.s V_33
+ IL_0175: call class b $::a(class b,
+ class b)
+ IL_017a: stloc.s V_34
+ IL_017c: ldloc.s V_21
+ IL_017e: ldloc.s V_34
+ IL_0180: call class b $::a(class b,
+ class b)
+ IL_0185: stloc.s V_35
+ IL_0187: ldloc.s V_35
+ IL_0189: call class b $::h(class b)
+ IL_018e: stloc.s V_36
+ IL_0190: ldc.i4.2
+ IL_0191: ldc.i4.s 20
+ IL_0193: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0198: stloc.s V_37
+ IL_019a: ldc.i4.3
+ IL_019b: ldc.i4.s 19
+ IL_019d: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01a2: stloc.s V_38
+ IL_01a4: ldc.i4.3
+ IL_01a5: ldc.i4.s 21
+ IL_01a7: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01ac: stloc.s V_39
+ IL_01ae: ldc.i4.4
+ IL_01af: ldc.i4.s 18
+ IL_01b1: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01b6: stloc.s V_40
+ IL_01b8: ldc.i4.4
+ IL_01b9: ldc.i4.s 22
+ IL_01bb: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01c0: stloc.s V_41
+ IL_01c2: ldc.i4.4
+ IL_01c3: ldc.i4.s 23
+ IL_01c5: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01ca: stloc.s V_42
+ IL_01cc: ldc.i4.4
+ IL_01cd: ldc.i4.s 32
+ IL_01cf: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01d4: stloc.s V_43
+ IL_01d6: ldc.i4.5
+ IL_01d7: ldc.i4.7
+ IL_01d8: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01dd: stloc.s V_44
+ IL_01df: ldc.i4.5
+ IL_01e0: ldc.i4.8
+ IL_01e1: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01e6: stloc.s V_45
+ IL_01e8: ldc.i4.5
+ IL_01e9: ldc.i4.s 18
+ IL_01eb: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01f0: stloc.s V_46
+ IL_01f2: ldc.i4.5
+ IL_01f3: ldc.i4.s 22
+ IL_01f5: newobj instance void c::.ctor(int32,
+ int32)
+ IL_01fa: stloc.s V_47
+ IL_01fc: ldc.i4.5
+ IL_01fd: ldc.i4.s 23
+ IL_01ff: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0204: stloc.s V_48
+ IL_0206: ldc.i4.5
+ IL_0207: ldc.i4.s 29
+ IL_0209: newobj instance void c::.ctor(int32,
+ int32)
+ IL_020e: stloc.s V_49
+ IL_0210: ldc.i4.5
+ IL_0211: ldc.i4.s 30
+ IL_0213: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0218: stloc.s V_50
+ IL_021a: ldc.i4.5
+ IL_021b: ldc.i4.s 31
+ IL_021d: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0222: stloc.s V_51
+ IL_0224: ldc.i4.5
+ IL_0225: ldc.i4.s 32
+ IL_0227: newobj instance void c::.ctor(int32,
+ int32)
+ IL_022c: stloc.s V_52
+ IL_022e: ldc.i4.5
+ IL_022f: ldc.i4.s 36
+ IL_0231: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0236: stloc.s V_53
+ IL_0238: ldc.i4.6
+ IL_0239: ldc.i4.7
+ IL_023a: newobj instance void c::.ctor(int32,
+ int32)
+ IL_023f: stloc.s V_54
+ IL_0241: ldc.i4.6
+ IL_0242: ldc.i4.8
+ IL_0243: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0248: stloc.s V_55
+ IL_024a: ldc.i4.6
+ IL_024b: ldc.i4.s 18
+ IL_024d: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0252: stloc.s V_56
+ IL_0254: ldc.i4.6
+ IL_0255: ldc.i4.s 22
+ IL_0257: newobj instance void c::.ctor(int32,
+ int32)
+ IL_025c: stloc.s V_57
+ IL_025e: ldc.i4.6
+ IL_025f: ldc.i4.s 23
+ IL_0261: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0266: stloc.s V_58
+ IL_0268: ldc.i4.6
+ IL_0269: ldc.i4.s 28
+ IL_026b: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0270: stloc.s V_59
+ IL_0272: ldc.i4.6
+ IL_0273: ldc.i4.s 29
+ IL_0275: newobj instance void c::.ctor(int32,
+ int32)
+ IL_027a: stloc.s V_60
+ IL_027c: ldc.i4.6
+ IL_027d: ldc.i4.s 30
+ IL_027f: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0284: stloc.s V_61
+ IL_0286: ldc.i4.6
+ IL_0287: ldc.i4.s 31
+ IL_0289: newobj instance void c::.ctor(int32,
+ int32)
+ IL_028e: stloc.s V_62
+ IL_0290: ldc.i4.6
+ IL_0291: ldc.i4.s 36
+ IL_0293: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0298: stloc.s V_63
+ IL_029a: ldc.i4.7
+ IL_029b: ldc.i4.s 19
+ IL_029d: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02a2: stloc.s V_64
+ IL_02a4: ldc.i4.7
+ IL_02a5: ldc.i4.s 21
+ IL_02a7: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02ac: stloc.s V_65
+ IL_02ae: ldc.i4.7
+ IL_02af: ldc.i4.s 28
+ IL_02b1: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02b6: stloc.s V_66
+ IL_02b8: ldc.i4.7
+ IL_02b9: ldc.i4.s 31
+ IL_02bb: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02c0: stloc.s V_67
+ IL_02c2: ldc.i4.7
+ IL_02c3: ldc.i4.s 40
+ IL_02c5: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02ca: stloc.s V_68
+ IL_02cc: ldc.i4.7
+ IL_02cd: ldc.i4.s 41
+ IL_02cf: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02d4: stloc.s V_69
+ IL_02d6: ldc.i4.8
+ IL_02d7: ldc.i4.s 20
+ IL_02d9: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02de: stloc.s V_70
+ IL_02e0: ldc.i4.8
+ IL_02e1: ldc.i4.s 28
+ IL_02e3: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02e8: stloc.s V_71
+ IL_02ea: ldc.i4.8
+ IL_02eb: ldc.i4.s 29
+ IL_02ed: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02f2: stloc.s V_72
+ IL_02f4: ldc.i4.8
+ IL_02f5: ldc.i4.s 30
+ IL_02f7: newobj instance void c::.ctor(int32,
+ int32)
+ IL_02fc: stloc.s V_73
+ IL_02fe: ldc.i4.8
+ IL_02ff: ldc.i4.s 31
+ IL_0301: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0306: stloc.s V_74
+ IL_0308: ldc.i4.8
+ IL_0309: ldc.i4.s 40
+ IL_030b: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0310: stloc.s V_75
+ IL_0312: ldc.i4.8
+ IL_0313: ldc.i4.s 41
+ IL_0315: newobj instance void c::.ctor(int32,
+ int32)
+ IL_031a: stloc.s V_76
+ IL_031c: ldc.i4.s 9
+ IL_031e: ldc.i4.s 29
+ IL_0320: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0325: stloc.s V_77
+ IL_0327: ldc.i4.s 9
+ IL_0329: ldc.i4.s 30
+ IL_032b: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0330: stloc.s V_78
+ IL_0332: ldc.i4.s 9
+ IL_0334: ldc.i4.s 31
+ IL_0336: newobj instance void c::.ctor(int32,
+ int32)
+ IL_033b: stloc.s V_79
+ IL_033d: ldc.i4.s 9
+ IL_033f: ldc.i4.s 32
+ IL_0341: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0346: stloc.s V_80
+ IL_0348: ldloc.s V_80
+ IL_034a: ldnull
+ IL_034b: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0350: stloc.s V_81
+ IL_0352: ldloc.s V_79
+ IL_0354: ldloc.s V_81
+ IL_0356: newobj instance void b::.ctor(class c,
+ class b)
+ IL_035b: stloc.s V_82
+ IL_035d: ldloc.s V_78
+ IL_035f: ldloc.s V_82
+ IL_0361: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0366: stloc.s V_83
+ IL_0368: ldloc.s V_77
+ IL_036a: ldloc.s V_83
+ IL_036c: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0371: stloc.s V_84
+ IL_0373: ldloc.s V_76
+ IL_0375: ldloc.s V_84
+ IL_0377: newobj instance void b::.ctor(class c,
+ class b)
+ IL_037c: stloc.s V_85
+ IL_037e: ldloc.s V_75
+ IL_0380: ldloc.s V_85
+ IL_0382: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0387: stloc.s V_86
+ IL_0389: ldloc.s V_74
+ IL_038b: ldloc.s V_86
+ IL_038d: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0392: stloc.s V_87
+ IL_0394: ldloc.s V_73
+ IL_0396: ldloc.s V_87
+ IL_0398: newobj instance void b::.ctor(class c,
+ class b)
+ IL_039d: stloc.s V_88
+ IL_039f: ldloc.s V_72
+ IL_03a1: ldloc.s V_88
+ IL_03a3: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03a8: stloc.s V_89
+ IL_03aa: ldloc.s V_71
+ IL_03ac: ldloc.s V_89
+ IL_03ae: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03b3: stloc.s V_90
+ IL_03b5: ldloc.s V_70
+ IL_03b7: ldloc.s V_90
+ IL_03b9: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03be: stloc.s V_91
+ IL_03c0: ldloc.s V_69
+ IL_03c2: ldloc.s V_91
+ IL_03c4: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03c9: stloc.s V_92
+ IL_03cb: ldloc.s V_68
+ IL_03cd: ldloc.s V_92
+ IL_03cf: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03d4: stloc.s V_93
+ IL_03d6: ldloc.s V_67
+ IL_03d8: ldloc.s V_93
+ IL_03da: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03df: stloc.s V_94
+ IL_03e1: ldloc.s V_66
+ IL_03e3: ldloc.s V_94
+ IL_03e5: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03ea: stloc.s V_95
+ IL_03ec: ldloc.s V_65
+ IL_03ee: ldloc.s V_95
+ IL_03f0: newobj instance void b::.ctor(class c,
+ class b)
+ IL_03f5: stloc.s V_96
+ IL_03f7: ldloc.s V_64
+ IL_03f9: ldloc.s V_96
+ IL_03fb: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0400: stloc.s V_97
+ IL_0402: ldloc.s V_63
+ IL_0404: ldloc.s V_97
+ IL_0406: newobj instance void b::.ctor(class c,
+ class b)
+ IL_040b: stloc.s V_98
+ IL_040d: ldloc.s V_62
+ IL_040f: ldloc.s V_98
+ IL_0411: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0416: stloc.s V_99
+ IL_0418: ldloc.s V_61
+ IL_041a: ldloc.s V_99
+ IL_041c: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0421: stloc.s V_100
+ IL_0423: ldloc.s V_60
+ IL_0425: ldloc.s V_100
+ IL_0427: newobj instance void b::.ctor(class c,
+ class b)
+ IL_042c: stloc.s V_101
+ IL_042e: ldloc.s V_59
+ IL_0430: ldloc.s V_101
+ IL_0432: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0437: stloc.s V_102
+ IL_0439: ldloc.s V_58
+ IL_043b: ldloc.s V_102
+ IL_043d: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0442: stloc.s V_103
+ IL_0444: ldloc.s V_57
+ IL_0446: ldloc.s V_103
+ IL_0448: newobj instance void b::.ctor(class c,
+ class b)
+ IL_044d: stloc.s V_104
+ IL_044f: ldloc.s V_56
+ IL_0451: ldloc.s V_104
+ IL_0453: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0458: stloc.s V_105
+ IL_045a: ldloc.s V_55
+ IL_045c: ldloc.s V_105
+ IL_045e: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0463: stloc.s V_106
+ IL_0465: ldloc.s V_54
+ IL_0467: ldloc.s V_106
+ IL_0469: newobj instance void b::.ctor(class c,
+ class b)
+ IL_046e: stloc.s V_107
+ IL_0470: ldloc.s V_53
+ IL_0472: ldloc.s V_107
+ IL_0474: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0479: stloc.s V_108
+ IL_047b: ldloc.s V_52
+ IL_047d: ldloc.s V_108
+ IL_047f: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0484: stloc.s V_109
+ IL_0486: ldloc.s V_51
+ IL_0488: ldloc.s V_109
+ IL_048a: newobj instance void b::.ctor(class c,
+ class b)
+ IL_048f: stloc.s V_110
+ IL_0491: ldloc.s V_50
+ IL_0493: ldloc.s V_110
+ IL_0495: newobj instance void b::.ctor(class c,
+ class b)
+ IL_049a: stloc.s V_111
+ IL_049c: ldloc.s V_49
+ IL_049e: ldloc.s V_111
+ IL_04a0: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04a5: stloc.s V_112
+ IL_04a7: ldloc.s V_48
+ IL_04a9: ldloc.s V_112
+ IL_04ab: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04b0: stloc.s V_113
+ IL_04b2: ldloc.s V_47
+ IL_04b4: ldloc.s V_113
+ IL_04b6: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04bb: stloc.s V_114
+ IL_04bd: ldloc.s V_46
+ IL_04bf: ldloc.s V_114
+ IL_04c1: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04c6: stloc.s V_115
+ IL_04c8: ldloc.s V_45
+ IL_04ca: ldloc.s V_115
+ IL_04cc: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04d1: stloc.s V_116
+ IL_04d3: ldloc.s V_44
+ IL_04d5: ldloc.s V_116
+ IL_04d7: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04dc: stloc.s V_117
+ IL_04de: ldloc.s V_43
+ IL_04e0: ldloc.s V_117
+ IL_04e2: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04e7: stloc.s V_118
+ IL_04e9: ldloc.s V_42
+ IL_04eb: ldloc.s V_118
+ IL_04ed: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04f2: stloc.s V_119
+ IL_04f4: ldloc.s V_41
+ IL_04f6: ldloc.s V_119
+ IL_04f8: newobj instance void b::.ctor(class c,
+ class b)
+ IL_04fd: stloc.s V_120
+ IL_04ff: ldloc.s V_40
+ IL_0501: ldloc.s V_120
+ IL_0503: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0508: stloc.s V_121
+ IL_050a: ldloc.s V_39
+ IL_050c: ldloc.s V_121
+ IL_050e: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0513: stloc.s V_122
+ IL_0515: ldloc.s V_38
+ IL_0517: ldloc.s V_122
+ IL_0519: newobj instance void b::.ctor(class c,
+ class b)
+ IL_051e: stloc.s V_123
+ IL_0520: ldloc.s V_37
+ IL_0522: ldloc.s V_123
+ IL_0524: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0529: stloc.s V_124
+ IL_052b: ldloc.s V_124
+ IL_052d: call class b $::h(class b)
+ IL_0532: stloc.s V_125
+ IL_0534: ldloc.s V_125
+ IL_0536: stsfld class b $::h$PST04000013
+ IL_053b: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0540: stloc.s V_126
+ IL_0542: ldloc.s V_126
+ IL_0544: stsfld class [mscorlib]System.IO.TextWriter $::f$PST04000011
+ IL_0549: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_054e: stloc.s V_127
+ IL_0550: ldloc.s V_127
+ IL_0552: stsfld class [mscorlib]System.IO.TextWriter $::k$PST04000016
+ IL_0557: newobj instance void l::.ctor()
+ IL_055c: stloc.s V_128
+ IL_055e: ldloc.s V_128
+ IL_0560: stsfld class a $::e$PST04000010
+ IL_0565: newobj instance void n::.ctor()
+ IL_056a: stloc.s V_129
+ IL_056c: ldloc.s V_129
+ IL_056e: stsfld class [mscorlib]System.Exception $::i$PST04000014
+ IL_0573: call class [mscorlib]System.IO.TextWriter [System.Console]System.Console::get_Out()
+ IL_0578: stloc.s V_130
+ IL_057a: ldloc.s V_130
+ IL_057c: stsfld class [mscorlib]System.IO.TextWriter $::j$PST04000015
+ IL_0581: ldc.i4 0x30
+ IL_0586: conv.i4
+ IL_0587: stloc.s V_131
+ IL_0589: ldloc.s V_131
+ IL_058b: stsfld int32 $::a$PST0400000C
+ IL_0590: newobj instance void o::.ctor()
+ IL_0595: stloc.s V_132
+ IL_0597: ldloc.s V_132
+ IL_0599: stsfld class [mscorlib]System.Exception $::l$PST04000017
+ IL_059e: ret
+ }
+
+ .method public static class b a(class b A_0,
+ class b A_1) cil managed
+ {
+ .maxstack 4
+ .locals init (class b V_0,
+ class b V_1,
+ class c V_2,
+ class b V_3,
+ class b V_4,
+ class b V_5)
+ IL_0000: ldarg.0
+ IL_0001: brtrue IL_000b
+
+ IL_0006: br IL_0016
+
+ IL_000b: ldarg.0
+ IL_000c: stloc.s V_5
+ IL_000e: ldloc.s V_5
+ IL_0010: stloc.0
+ IL_0011: br IL_0018
+
+ IL_0016: ldarg.1
+ IL_0017: ret
+
+ IL_0018: ldloc.0
+ IL_0019: ldfld class b b::b$PST04000004
+ IL_001e: stloc.1
+ IL_001f: ldloc.0
+ IL_0020: ldfld class c b::a$PST04000003
+ IL_0025: stloc.2
+ IL_0026: ldloc.1
+ IL_0027: ldarg.1
+ IL_0028: call class b $::a(class b,
+ class b)
+ IL_002d: stloc.3
+ IL_002e: ldloc.2
+ IL_002f: ldloc.3
+ IL_0030: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0035: stloc.s V_4
+ IL_0037: ldloc.s V_4
+ IL_0039: ret
+ }
+
+ .method public static void b(class a A_0,
+ class g A_1) cil managed
+ {
+ .maxstack 3
+ .locals init (class g V_0,
+ class g V_1,
+ string V_2,
+ class g V_3)
+ IL_0000: ldarg.1
+ IL_0001: brtrue IL_000b
+
+ IL_0006: br IL_0014
+
+ IL_000b: ldarg.1
+ IL_000c: stloc.3
+ IL_000d: ldloc.3
+ IL_000e: stloc.0
+ IL_000f: br IL_0015
+
+ IL_0014: ret
+
+ IL_0015: ldloc.0
+ IL_0016: ldfld class g g::b$PST04000006
+ IL_001b: stloc.1
+ IL_001c: ldloc.0
+ IL_001d: ldfld string g::a$PST04000005
+ IL_0022: stloc.2
+ IL_0023: ldarg.0
+ IL_0024: ldloc.2
+ IL_0025: callvirt instance void a::d(string)
+ IL_002a: ldarg.0
+ IL_002b: ldloc.1
+ IL_002c: tail.
+ IL_002e: call void $::b(class a,
+ class g)
+ IL_0033: ret
+ }
+
+ .method public static void c(class [mscorlib]System.Text.StringBuilder A_0,
+ int32 A_1,
+ int64 A_2) cil managed
+ {
+ .maxstack 8
+ .locals init (class [mscorlib]System.Exception V_0,
+ int32 V_1,
+ int64 V_2,
+ int64 V_3,
+ int32 V_4,
+ int32 V_5,
+ int32 V_6,
+ char V_7,
+ class [mscorlib]System.Text.StringBuilder V_8,
+ class [mscorlib]System.Text.StringBuilder V_9,
+ class [mscorlib]System.Text.StringBuilder V_10)
+ IL_0000: ldsfld class [mscorlib]System.Exception $::l$PST04000017
+ IL_0005: stloc.0
+ IL_0006: ldsfld int32 $::a$PST0400000C
+ IL_000b: stloc.1
+ IL_000c: ldarg.2
+ IL_000d: ldc.i8 0xa
+ IL_0016: rem
+ IL_0017: stloc.2
+ IL_0018: ldarg.2
+ IL_0019: ldc.i8 0xa
+ IL_0022: div
+ IL_0023: stloc.3
+ IL_0024: ldarg.1
+ IL_0025: ldc.i4.1
+ IL_0026: sub
+ IL_0027: stloc.s V_4
+ IL_0029: ldloc.s V_4
+ IL_002b: ldc.i4.0
+ IL_002c: beq IL_0036
+
+ IL_0031: br IL_0051
+
+ IL_0036: ldarg.0
+ IL_0037: ldloc.3
+ IL_0038: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(int64)
+ IL_003d: stloc.s V_9
+ IL_003f: ldarg.0
+ IL_0040: ldc.i4 0x2e
+ IL_0045: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(char)
+ IL_004a: stloc.s V_10
+ IL_004c: br IL_005a
+
+ IL_0051: ldarg.0
+ IL_0052: ldloc.s V_4
+ IL_0054: ldloc.3
+ IL_0055: call void $::c(class [mscorlib]System.Text.StringBuilder,
+ int32,
+ int64)
+ IL_005a: ldloc.2
+ IL_005b: conv.i4
+ IL_005c: stloc.s V_5
+ IL_005e: ldloc.s V_5
+ IL_0060: ldloc.1
+ IL_0061: add
+ IL_0062: stloc.s V_6
+ IL_0064: ldloc.s V_6
+ IL_0066: ldc.i4.0
+ IL_0067: blt IL_0071
+
+ IL_006c: br IL_0073
+
+ IL_0071: ldloc.0
+ IL_0072: throw
+
+ IL_0073: ldloc.s V_6
+ IL_0075: ldc.i4 0xffff
+ IL_007a: bgt IL_0084
+
+ IL_007f: br IL_0086
+
+ IL_0084: ldloc.0
+ IL_0085: throw
+
+ IL_0086: ldloc.s V_6
+ IL_0088: conv.i4
+ IL_0089: stloc.s V_7
+ IL_008b: ldarg.0
+ IL_008c: ldloc.s V_7
+ IL_008e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(char)
+ IL_0093: stloc.s V_8
+ IL_0095: ret
+ }
+
+ .method public static class b d(class a A_0,
+ class b A_1) cil managed
+ {
+ .maxstack 5
+ .locals init (class b V_0,
+ class b V_1,
+ class c V_2,
+ class c V_3,
+ class b V_4,
+ class b V_5,
+ class b V_6)
+ IL_0000: ldarg.1
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ldstr "really1 - above is the second param to $::d after call"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0001: brtrue IL_000b
+
+ IL_0006: br IL_0016
+
+ IL_000b: ldarg.1
+ IL_000c: stloc.s V_6
+ IL_000e: ldloc.s V_6
+ IL_0010: stloc.0
+ IL_0011: br IL_0018
+
+ IL_0016: ldnull
+ IL_0017: ret
+
+ IL_0018: ldloc.0
+dup
+call void [System.Console]System.Console::WriteLine(object)
+
+ldstr "really2"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0019: ldfld class b b::b$PST04000004
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_001e: stloc.1
+ IL_001f: ldloc.0
+ IL_0020: ldfld class c b::a$PST04000003
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_0025: stloc.2
+ IL_0026: ldarg.0
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_0027: ldloc.2
+dup
+call void [System.Console]System.Console::WriteLine(object)
+ IL_0028: callvirt instance class c a::c(class c)
+ldstr "really3"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_002d: stloc.3
+ IL_002e: ldarg.0
+ IL_002f: ldloc.1
+ldstr "really4"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: call class b $::d(class a,
+ class b)
+ IL_0035: stloc.s V_4
+ IL_0037: ldloc.3
+ IL_0038: ldloc.s V_4
+ldstr "really4"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_003a: newobj instance void b::.ctor(class c,
+ class b)
+ IL_003f: stloc.s V_5
+ IL_0041: ldloc.s V_5
+ldstr "really5"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0043: ret
+ }
+
+ .method public static class b e(class a A_0,
+ class b A_1) cil managed
+ {
+ .maxstack 4
+ .locals init (class b V_0,
+ class b V_1,
+ class c V_2,
+ class b V_3,
+ int32 V_4,
+ class b V_5,
+ class b V_6,
+ class b V_7,
+ class b V_8,
+ class b V_9,
+ class c V_10,
+ class b V_11,
+ class b V_12,
+ class b V_13)
+ IL_0000: ldnull
+ IL_0001: stloc.0
+ IL_0002: ldarg.1
+ IL_0003: brtrue IL_000d
+
+ IL_0008: br IL_0018
+
+ IL_000d: ldarg.1
+ IL_000e: stloc.s V_13
+ IL_0010: ldloc.s V_13
+ IL_0012: stloc.1
+ IL_0013: br IL_0064
+
+ IL_0018: ldloc.0
+ IL_0019: ldnull
+ IL_001a: stloc.s V_7
+ IL_001c: stloc.s V_6
+ IL_001e: ldloc.s V_6
+ IL_0020: brtrue IL_002a
+
+ IL_0025: br IL_0037
+
+ IL_002a: ldloc.s V_6
+ IL_002c: stloc.s V_12
+ IL_002e: ldloc.s V_12
+ IL_0030: stloc.s V_8
+ IL_0032: br IL_003a
+
+ IL_0037: ldloc.s V_7
+ IL_0039: ret
+
+ IL_003a: ldloc.s V_8
+ IL_003c: ldfld class b b::b$PST04000004
+ IL_0041: stloc.s V_9
+ IL_0043: ldloc.s V_8
+ IL_0045: ldfld class c b::a$PST04000003
+ IL_004a: stloc.s V_10
+ IL_004c: ldloc.s V_10
+ IL_004e: ldloc.s V_7
+ IL_0050: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0055: stloc.s V_11
+ IL_0057: ldloc.s V_9
+ IL_0059: ldloc.s V_11
+ IL_005b: stloc.s V_7
+ IL_005d: stloc.s V_6
+ IL_005f: br IL_001e
+
+ IL_0064: ldloc.1
+ IL_0065: ldfld class c b::a$PST04000003
+ IL_006a: stloc.2
+ IL_006b: ldloc.1
+ IL_006c: ldfld class b b::b$PST04000004
+ IL_0071: stloc.3
+ IL_0072: ldarg.0
+ IL_0073: ldloc.2
+ IL_0074: callvirt instance int32 a::b(class c)
+ IL_0079: stloc.s V_4
+ IL_007b: ldloc.s V_4
+ IL_007d: brtrue IL_008c
+
+ IL_0082: ldloc.0
+ IL_0083: ldloc.3
+ IL_0084: starg.s A_1
+ IL_0086: stloc.0
+ IL_0087: br IL_0002
+
+ IL_008c: ldloc.2
+ IL_008d: ldloc.0
+ IL_008e: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0093: stloc.s V_5
+ IL_0095: ldloc.s V_5
+ IL_0097: ldloc.3
+ IL_0098: starg.s A_1
+ IL_009a: stloc.0
+ IL_009b: br IL_0002
+ }
+
+ .method public static int32 f(class a A_0,
+ class b A_1,
+ class c A_2) cil managed
+ {
+ .maxstack 4
+ .locals init (class b V_0,
+ class c V_1,
+ int32 V_2,
+ class b V_3,
+ class b V_4)
+ IL_0000: ldarg.1
+ IL_0001: brtrue IL_000b
+
+ IL_0006: br IL_0016
+
+ IL_000b: ldarg.1
+ IL_000c: stloc.s V_4
+ IL_000e: ldloc.s V_4
+ IL_0010: stloc.0
+ IL_0011: br IL_0018
+
+ IL_0016: ldc.i4.0
+ IL_0017: ret
+
+ IL_0018: ldloc.0
+ IL_0019: ldfld class c b::a$PST04000003
+ IL_001e: stloc.1
+ IL_001f: ldarg.0
+ IL_0020: ldarg.2
+ IL_0021: ldloc.1
+ IL_0022: callvirt instance int32 a::a(class c,
+ class c)
+ IL_0027: stloc.2
+ IL_0028: ldloc.2
+ IL_0029: brtrue IL_0033
+
+ IL_002e: br IL_0035
+
+ IL_0033: ldc.i4.1
+ IL_0034: ret
+
+ IL_0035: ldloc.0
+ IL_0036: ldfld class b b::b$PST04000004
+ IL_003b: stloc.3
+ IL_003c: ldloc.3
+ IL_003d: starg.s A_1
+ IL_003f: br IL_0000
+ }
+
+ .method public static int32 g(int32 A_0,
+ int32 A_1,
+ class c A_2) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1)
+ IL_0000: ldarg.2
+ IL_0001: ldfld int32 c::a$PST04000001
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldarg.0
+ IL_0009: blt IL_0013
+
+ IL_000e: br IL_0015
+
+ IL_0013: ldc.i4.1
+ IL_0014: ret
+
+ IL_0015: ldloc.0
+ IL_0016: ldarg.0
+ IL_0017: beq IL_0021
+
+ IL_001c: br IL_002d
+
+ IL_0021: ldarg.2
+ IL_0022: ldfld int32 c::b$PST04000002
+ IL_0027: stloc.1
+ IL_0028: ldloc.1
+ IL_0029: ldarg.1
+ IL_002a: clt
+ IL_002c: ret
+
+ IL_002d: ldc.i4.0
+ IL_002e: ret
+ }
+
+ .method public static class b h(class b A_0) cil managed
+ {
+ .maxstack 8
+ .locals init (class b V_0,
+ class b V_1,
+ class c V_2,
+ int32 V_3,
+ int32 V_4,
+ class j V_5,
+ class b V_6,
+ class b V_7,
+ class b V_8,
+ class i V_9,
+ class b V_10,
+ class b V_11,
+ class b V_12,
+ class b V_13)
+ IL_0000: ldarg.0
+ IL_0001: brtrue IL_000b
+
+ IL_0006: br IL_0016
+
+ IL_000b: ldarg.0
+ IL_000c: stloc.s V_13
+ IL_000e: ldloc.s V_13
+ IL_0010: stloc.0
+ IL_0011: br IL_0018
+
+ IL_0016: ldnull
+ IL_0017: ret
+
+ IL_0018: ldloc.0
+ IL_0019: ldfld class b b::b$PST04000004
+ IL_001e: stloc.1
+ IL_001f: ldloc.0
+ IL_0020: ldfld class c b::a$PST04000003
+ IL_0025: stloc.2
+ IL_0026: ldloc.2
+ IL_0027: ldfld int32 c::b$PST04000002
+ IL_002c: stloc.3
+ IL_002d: ldloc.2
+ IL_002e: ldfld int32 c::a$PST04000001
+ IL_0033: stloc.s V_4
+ IL_0035: ldloc.3
+ IL_0036: ldloc.s V_4
+ IL_0038: newobj instance void j::.ctor(int32,
+ int32)
+ IL_003d: stloc.s V_5
+ IL_003f: ldloc.s V_5
+ IL_0041: ldloc.1
+ IL_0042: call class b $::e(class a,
+ class b)
+ IL_0047: stloc.s V_6
+ IL_0049: ldloc.s V_6
+ IL_004b: call class b $::h(class b)
+ IL_0050: stloc.s V_7
+ IL_0052: ldloc.2
+ IL_0053: ldnull
+ IL_0054: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0059: stloc.s V_8
+ IL_005b: ldloc.2
+ IL_005c: newobj instance void i::.ctor(class c)
+ IL_0061: stloc.s V_9
+ IL_0063: ldloc.s V_9
+ IL_0065: ldloc.1
+ IL_0066: call class b $::e(class a,
+ class b)
+ IL_006b: stloc.s V_10
+ IL_006d: ldloc.s V_10
+ IL_006f: call class b $::h(class b)
+ IL_0074: stloc.s V_11
+ IL_0076: ldloc.s V_8
+ IL_0078: ldloc.s V_11
+ IL_007a: call class b $::a(class b,
+ class b)
+ IL_007f: stloc.s V_12
+ IL_0081: ldloc.s V_7
+ IL_0083: ldloc.s V_12
+ IL_0085: tail.
+ IL_0087: call class b $::a(class b,
+ class b)
+ IL_008c: ret
+ }
+
+ .method public static class b i(int32 A_0,
+ int32 A_1) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ class c V_2,
+ int32 V_3,
+ class c V_4,
+ int32 V_5,
+ int32 V_6,
+ class c V_7,
+ int32 V_8,
+ class c V_9,
+ int32 V_10,
+ class c V_11,
+ int32 V_12,
+ int32 V_13,
+ class c V_14,
+ int32 V_15,
+ class c V_16,
+ int32 V_17,
+ int32 V_18,
+ class c V_19,
+ class b V_20,
+ class b V_21,
+ class b V_22,
+ class b V_23,
+ class b V_24,
+ class b V_25,
+ class b V_26,
+ class b V_27)
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4.1
+ IL_0002: sub
+ IL_0003: stloc.0
+ IL_0004: ldarg.1
+ IL_0005: ldc.i4.1
+ IL_0006: sub
+ IL_0007: stloc.1
+ IL_0008: ldloc.0
+ IL_0009: ldloc.1
+ IL_000a: newobj instance void c::.ctor(int32,
+ int32)
+ IL_000f: stloc.2
+ IL_0010: ldarg.0
+ IL_0011: ldc.i4.1
+ IL_0012: sub
+ IL_0013: stloc.3
+ IL_0014: ldloc.3
+ IL_0015: ldarg.1
+ IL_0016: newobj instance void c::.ctor(int32,
+ int32)
+ IL_001b: stloc.s V_4
+ IL_001d: ldarg.0
+ IL_001e: ldc.i4.1
+ IL_001f: sub
+ IL_0020: stloc.s V_5
+ IL_0022: ldarg.1
+ IL_0023: ldc.i4.1
+ IL_0024: add
+ IL_0025: stloc.s V_6
+ IL_0027: ldloc.s V_5
+ IL_0029: ldloc.s V_6
+ IL_002b: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0030: stloc.s V_7
+ IL_0032: ldarg.1
+ IL_0033: ldc.i4.1
+ IL_0034: sub
+ IL_0035: stloc.s V_8
+ IL_0037: ldarg.0
+ IL_0038: ldloc.s V_8
+ IL_003a: newobj instance void c::.ctor(int32,
+ int32)
+ IL_003f: stloc.s V_9
+ IL_0041: ldarg.1
+ IL_0042: ldc.i4.1
+ IL_0043: add
+ IL_0044: stloc.s V_10
+ IL_0046: ldarg.0
+ IL_0047: ldloc.s V_10
+ IL_0049: newobj instance void c::.ctor(int32,
+ int32)
+ IL_004e: stloc.s V_11
+ IL_0050: ldarg.0
+ IL_0051: ldc.i4.1
+ IL_0052: add
+ IL_0053: stloc.s V_12
+ IL_0055: ldarg.1
+ IL_0056: ldc.i4.1
+ IL_0057: sub
+ IL_0058: stloc.s V_13
+ IL_005a: ldloc.s V_12
+ IL_005c: ldloc.s V_13
+ IL_005e: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0063: stloc.s V_14
+ IL_0065: ldarg.0
+ IL_0066: ldc.i4.1
+ IL_0067: add
+ IL_0068: stloc.s V_15
+ IL_006a: ldloc.s V_15
+ IL_006c: ldarg.1
+ IL_006d: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0072: stloc.s V_16
+ IL_0074: ldarg.0
+ IL_0075: ldc.i4.1
+ IL_0076: add
+ IL_0077: stloc.s V_17
+ IL_0079: ldarg.1
+ IL_007a: ldc.i4.1
+ IL_007b: add
+ IL_007c: stloc.s V_18
+ IL_007e: ldloc.s V_17
+ IL_0080: ldloc.s V_18
+ IL_0082: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0087: stloc.s V_19
+ IL_0089: ldloc.s V_19
+ IL_008b: ldnull
+ IL_008c: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0091: stloc.s V_20
+ IL_0093: ldloc.s V_16
+ IL_0095: ldloc.s V_20
+ IL_0097: newobj instance void b::.ctor(class c,
+ class b)
+ IL_009c: stloc.s V_21
+ IL_009e: ldloc.s V_14
+ IL_00a0: ldloc.s V_21
+ IL_00a2: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00a7: stloc.s V_22
+ IL_00a9: ldloc.s V_11
+ IL_00ab: ldloc.s V_22
+ IL_00ad: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00b2: stloc.s V_23
+ IL_00b4: ldloc.s V_9
+ IL_00b6: ldloc.s V_23
+ IL_00b8: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00bd: stloc.s V_24
+ IL_00bf: ldloc.s V_7
+ IL_00c1: ldloc.s V_24
+ IL_00c3: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00c8: stloc.s V_25
+ IL_00ca: ldloc.s V_4
+ IL_00cc: ldloc.s V_25
+ IL_00ce: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00d3: stloc.s V_26
+ IL_00d5: ldloc.2
+ IL_00d6: ldloc.s V_26
+ IL_00d8: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00dd: stloc.s V_27
+ IL_00df: ldloc.s V_27
+ IL_00e1: ret
+ }
+
+ .method public static class g j(int32 A_0,
+ int32 A_1,
+ string A_2,
+ class b A_3) cil managed
+ {
+ .maxstack 9
+ .locals init (class [mscorlib]System.Exception V_0,
+ class g V_1,
+ class b V_2,
+ class b V_3,
+ class c V_4,
+ int32 V_5,
+ int32 V_6,
+ int32 V_7,
+ class c V_8,
+ class b V_9,
+ class g V_10,
+ class g V_11,
+ int32 V_12,
+ class g V_13,
+ string V_14,
+ int32 V_15,
+ string V_16,
+ string V_17,
+ class g V_18,
+ class g V_19,
+ class g V_20,
+ class g V_21,
+ class g V_22,
+ string V_23,
+ class [mscorlib]System.Text.StringBuilder V_24,
+ class g V_25,
+ class g V_26,
+ class g V_27,
+ string V_28,
+ class [mscorlib]System.Text.StringBuilder V_29,
+ string V_30,
+ class g V_31,
+ string V_32,
+ string V_33,
+ string V_34,
+ class g V_35,
+ string V_36,
+ class g V_37,
+ class g V_38,
+ class b V_39)
+ IL_0000: ldsfld class [mscorlib]System.Exception $::g$PST04000012
+ IL_0005: stloc.0
+ IL_0006: ldarg.3
+ IL_0007: brtrue IL_0011
+
+ IL_000c: br IL_01c3
+
+ IL_0011: ldarg.3
+ IL_0012: stloc.s V_39
+ IL_0014: ldloc.s V_39
+ IL_0016: stloc.2
+ IL_0017: ldloc.2
+ IL_0018: ldfld class b b::b$PST04000004
+ IL_001d: stloc.3
+ IL_001e: ldloc.2
+ IL_001f: ldfld class c b::a$PST04000003
+ IL_0024: stloc.s V_4
+ IL_0026: ldloc.s V_4
+ IL_0028: ldfld int32 c::b$PST04000002
+ IL_002d: stloc.s V_5
+ IL_002f: ldloc.s V_4
+ IL_0031: ldfld int32 c::a$PST04000001
+ IL_0036: stloc.s V_6
+ IL_0038: ldarg.0
+ IL_0039: ldloc.s V_6
+ IL_003b: beq IL_0045
+
+ IL_0040: br IL_018f
+
+ IL_0045: ldloc.s V_5
+ IL_0047: ldarg.1
+ IL_0048: sub
+ IL_0049: stloc.s V_12
+ IL_004b: ldloc.s V_12
+ IL_004d: ldc.i4.0
+ IL_004e: blt IL_0058
+
+ IL_0053: br IL_005a
+
+ IL_0058: ldloc.0
+ IL_0059: throw
+
+ IL_005a: ldloc.s V_12
+ IL_005c: ldnull
+ IL_005d: call class g $::k(int32,
+ class g)
+ IL_0062: stloc.s V_13
+ IL_0064: ldloc.s V_13
+ IL_0066: brtrue IL_0073
+
+ IL_006b: ldnull
+ IL_006c: stloc.s V_14
+ IL_006e: br IL_015e
+
+ IL_0073: ldloc.s V_13
+ IL_0075: stloc.s V_38
+ IL_0077: ldloc.s V_38
+ IL_0079: stloc.s V_18
+ IL_007b: ldloc.s V_18
+ IL_007d: ldfld class g g::b$PST04000006
+ IL_0082: stloc.s V_19
+ IL_0084: ldloc.s V_19
+ IL_0086: brtrue IL_0090
+
+ IL_008b: br IL_009d
+
+ IL_0090: ldloc.s V_19
+ IL_0092: stloc.s V_37
+ IL_0094: ldloc.s V_37
+ IL_0096: stloc.s V_20
+ IL_0098: br IL_00af
+
+ IL_009d: ldloc.s V_18
+ IL_009f: ldfld string g::a$PST04000005
+ IL_00a4: stloc.s V_36
+ IL_00a6: ldloc.s V_36
+ IL_00a8: stloc.s V_14
+ IL_00aa: br IL_015e
+
+ IL_00af: ldloc.s V_20
+ IL_00b1: ldfld class g g::b$PST04000006
+ IL_00b6: stloc.s V_21
+ IL_00b8: ldloc.s V_21
+ IL_00ba: brtrue IL_00c4
+
+ IL_00bf: br IL_00d1
+
+ IL_00c4: ldloc.s V_21
+ IL_00c6: stloc.s V_35
+ IL_00c8: ldloc.s V_35
+ IL_00ca: stloc.s V_22
+ IL_00cc: br IL_00f7
+
+ IL_00d1: ldloc.s V_20
+ IL_00d3: ldfld string g::a$PST04000005
+ IL_00d8: stloc.s V_32
+ IL_00da: ldloc.s V_18
+ IL_00dc: ldfld string g::a$PST04000005
+ IL_00e1: stloc.s V_33
+ IL_00e3: ldloc.s V_33
+ IL_00e5: ldloc.s V_32
+ IL_00e7: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_00ec: stloc.s V_34
+ IL_00ee: ldloc.s V_34
+ IL_00f0: stloc.s V_14
+ IL_00f2: br IL_015e
+
+ IL_00f7: ldloc.s V_18
+ IL_00f9: ldfld string g::a$PST04000005
+ IL_00fe: stloc.s V_23
+ IL_0100: ldloc.s V_23
+ IL_0102: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor(string)
+ IL_0107: stloc.s V_24
+ IL_0109: ldloc.s V_20
+ IL_010b: stloc.s V_25
+ IL_010d: ldloc.s V_25
+ IL_010f: brtrue IL_0119
+
+ IL_0114: br IL_0126
+
+ IL_0119: ldloc.s V_25
+ IL_011b: stloc.s V_31
+ IL_011d: ldloc.s V_31
+ IL_011f: stloc.s V_26
+ IL_0121: br IL_0138
+
+ IL_0126: ldloc.s V_24
+ IL_0128: callvirt instance string [mscorlib]System.Text.StringBuilder::ToString()
+ IL_012d: stloc.s V_30
+ IL_012f: ldloc.s V_30
+ IL_0131: stloc.s V_14
+ IL_0133: br IL_015e
+
+ IL_0138: ldloc.s V_26
+ IL_013a: ldfld class g g::b$PST04000006
+ IL_013f: stloc.s V_27
+ IL_0141: ldloc.s V_26
+ IL_0143: ldfld string g::a$PST04000005
+ IL_0148: stloc.s V_28
+ IL_014a: ldloc.s V_24
+ IL_014c: ldloc.s V_28
+ IL_014e: callvirt instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)
+ IL_0153: stloc.s V_29
+ IL_0155: ldloc.s V_27
+ IL_0157: stloc.s V_25
+ IL_0159: br IL_010d
+
+ IL_015e: ldloc.s V_5
+ IL_0160: ldc.i4.1
+ IL_0161: add
+ IL_0162: stloc.s V_15
+ IL_0164: ldarg.2
+ IL_0165: ldloc.s V_14
+ IL_0167: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_016c: stloc.s V_16
+ IL_016e: ldloc.s V_16
+ IL_0170: ldstr "0"
+ IL_0175: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_017a: stloc.s V_17
+ IL_017c: ldarg.0
+ IL_017d: ldloc.s V_15
+ IL_017f: ldloc.s V_17
+ IL_0181: ldloc.3
+ IL_0182: starg.s A_3
+ IL_0184: starg.s A_2
+ IL_0186: starg.s A_1
+ IL_0188: starg.s A_0
+ IL_018a: br IL_0006
+
+ IL_018f: ldarg.0
+ IL_0190: ldc.i4.1
+ IL_0191: add
+ IL_0192: stloc.s V_7
+ IL_0194: ldloc.s V_6
+ IL_0196: ldloc.s V_5
+ IL_0198: newobj instance void c::.ctor(int32,
+ int32)
+ IL_019d: stloc.s V_8
+ IL_019f: ldloc.s V_8
+ IL_01a1: ldloc.3
+ IL_01a2: newobj instance void b::.ctor(class c,
+ class b)
+ IL_01a7: stloc.s V_9
+ IL_01a9: ldloc.s V_7
+ IL_01ab: ldc.i4.0
+ IL_01ac: ldnull
+ IL_01ad: ldloc.s V_9
+ IL_01af: call class g $::j(int32,
+ int32,
+ string,
+ class b)
+ IL_01b4: stloc.s V_10
+ IL_01b6: ldarg.2
+ IL_01b7: ldloc.s V_10
+ IL_01b9: newobj instance void g::.ctor(string,
+ class g)
+ IL_01be: stloc.s V_11
+ IL_01c0: ldloc.s V_11
+ IL_01c2: ret
+
+ IL_01c3: ldarg.2
+ IL_01c4: ldnull
+ IL_01c5: newobj instance void g::.ctor(string,
+ class g)
+ IL_01ca: stloc.1
+ IL_01cb: ldloc.1
+ IL_01cc: ret
+ }
+
+ .method public static class g k(int32 A_0,
+ class g A_1) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ class g V_1)
+ IL_0000: ldarg.0
+ IL_0001: ldc.i4.0
+ IL_0002: beq IL_000c
+
+ IL_0007: br IL_000e
+
+ IL_000c: ldarg.1
+ IL_000d: ret
+
+ IL_000e: ldarg.0
+ IL_000f: ldc.i4.1
+ IL_0010: sub
+ IL_0011: stloc.0
+ IL_0012: ldstr " "
+ IL_0017: ldarg.1
+ IL_0018: newobj instance void g::.ctor(string,
+ class g)
+ IL_001d: stloc.1
+ IL_001e: ldloc.0
+ IL_001f: ldloc.1
+ IL_0020: tail.
+ IL_0022: call class g $::k(int32,
+ class g)
+ IL_0027: ret
+ }
+
+ .method public static class b l(class b A_0,
+ class c A_1) cil managed
+ {
+ .maxstack 10
+ .locals init (int32 V_0,
+ int32 V_1,
+ class j V_2)
+ldstr "hit1"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldarg.1
+ IL_0001: ldfld int32 c::b$PST04000002
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: ldfld int32 c::a$PST04000001
+ IL_000d: stloc.1
+ IL_000e: ldloc.0
+ IL_000f: ldloc.1
+ldstr "hit2 - before call to $::d"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0010: newobj instance void j::.ctor(int32,
+ int32)
+ IL_0015: stloc.2
+ IL_0016: ldloc.2
+ IL_0017: ldarg.0
+ IL_0018: tail.
+ IL_001a: call class b $::d(class a,
+ class b)
+ IL_001f: ret
+ }
+
+ .method public static class b m(int32 A_0) cil managed
+ {
+ .maxstack 6
+ .locals init (class b V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ class c V_4,
+ int32 V_5,
+ int32 V_6,
+ int32 V_7,
+ int32 V_8,
+ class c V_9,
+ int32 V_10,
+ class b V_11,
+ class b V_12,
+ class b V_13)
+ IL_0000: ldsfld class b $::m$PST04000018
+ IL_0005: stloc.0
+ IL_0006: ldarg.0
+ IL_0007: ldc.i4.4
+ IL_0008: beq IL_0012
+
+ IL_000d: br IL_0014
+
+ IL_0012: ldloc.0
+ IL_0013: ret
+
+ IL_0014: ldarg.0
+ IL_0015: ldarg.0
+ IL_0016: add
+ IL_0017: stloc.1
+ IL_0018: ldarg.0
+ IL_0019: ldarg.0
+ IL_001a: add
+ IL_001b: stloc.2
+ IL_001c: ldloc.2
+ IL_001d: ldc.i4.1
+ IL_001e: add
+ IL_001f: stloc.3
+ IL_0020: ldloc.1
+ IL_0021: ldloc.3
+ IL_0022: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0027: stloc.s V_4
+ IL_0029: ldarg.0
+ IL_002a: ldarg.0
+ IL_002b: add
+ IL_002c: stloc.s V_5
+ IL_002e: ldloc.s V_5
+ IL_0030: ldc.i4.2
+ IL_0031: add
+ IL_0032: stloc.s V_6
+ IL_0034: ldarg.0
+ IL_0035: ldarg.0
+ IL_0036: add
+ IL_0037: stloc.s V_7
+ IL_0039: ldloc.s V_7
+ IL_003b: ldc.i4.1
+ IL_003c: add
+ IL_003d: stloc.s V_8
+ IL_003f: ldloc.s V_6
+ IL_0041: ldloc.s V_8
+ IL_0043: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0048: stloc.s V_9
+ IL_004a: ldarg.0
+ IL_004b: ldc.i4.1
+ IL_004c: add
+ IL_004d: stloc.s V_10
+ IL_004f: ldloc.s V_10
+ IL_0051: call class b $::m(int32)
+ IL_0056: stloc.s V_11
+ IL_0058: ldloc.s V_9
+ IL_005a: ldloc.s V_11
+ IL_005c: newobj instance void b::.ctor(class c,
+ class b)
+ IL_0061: stloc.s V_12
+ IL_0063: ldloc.s V_4
+ IL_0065: ldloc.s V_12
+ IL_0067: newobj instance void b::.ctor(class c,
+ class b)
+ IL_006c: stloc.s V_13
+ IL_006e: ldloc.s V_13
+ IL_0070: ret
+ }
+
+ .method public static class b n(class a A_0,
+ class b A_1,
+ class b A_2,
+ class b A_3,
+ class b A_4,
+ class b A_5) cil managed
+ {
+ .maxstack 11
+ .locals init (class b V_0,
+ class b V_1,
+ class c V_2,
+ int32 V_3,
+ int32 V_4,
+ int32 V_5,
+ int32 V_6,
+ class b V_7,
+ class b V_8,
+ class b V_9,
+ class b V_10,
+ class k V_11,
+ class b V_12)
+ IL_0000: ldarg.s A_5
+ IL_0002: brtrue IL_000c
+
+ IL_0007: br IL_0018
+
+ IL_000c: ldarg.s A_5
+ IL_000e: stloc.s V_12
+ IL_0010: ldloc.s V_12
+ IL_0012: stloc.0
+ IL_0013: br IL_002c
+
+ IL_0018: ldarg.0
+ IL_0019: ldarg.1
+ IL_001a: newobj instance void k::.ctor(class a,
+ class b)
+ IL_001f: stloc.s V_11
+ IL_0021: ldloc.s V_11
+ IL_0023: ldarg.2
+ IL_0024: tail.
+ IL_0026: call class b $::e(class a,
+ class b)
+ IL_002b: ret
+
+ IL_002c: ldloc.0
+ IL_002d: ldfld class b b::b$PST04000004
+ IL_0032: stloc.1
+ IL_0033: ldloc.0
+ IL_0034: ldfld class c b::a$PST04000003
+ IL_0039: stloc.2
+ IL_003a: ldarg.0
+ IL_003b: ldarg.1
+ IL_003c: ldloc.2
+ IL_003d: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0042: stloc.3
+ IL_0043: ldloc.3
+ IL_0044: brtrue IL_004e
+
+ IL_0049: br IL_005d
+
+ IL_004e: ldarg.0
+ IL_004f: ldarg.1
+ IL_0050: ldarg.2
+ IL_0051: ldarg.3
+ IL_0052: ldarg.s A_4
+ IL_0054: ldloc.1
+ IL_0055: tail.
+ IL_0057: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_005c: ret
+
+ IL_005d: ldarg.0
+ IL_005e: ldarg.2
+ IL_005f: ldloc.2
+ IL_0060: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0065: stloc.s V_4
+ IL_0067: ldloc.s V_4
+ IL_0069: brtrue IL_0073
+
+ IL_006e: br IL_008c
+
+ IL_0073: ldloc.2
+ IL_0074: ldarg.1
+ IL_0075: newobj instance void b::.ctor(class c,
+ class b)
+ IL_007a: stloc.s V_10
+ IL_007c: ldarg.0
+ IL_007d: ldloc.s V_10
+ IL_007f: ldarg.2
+ IL_0080: ldarg.3
+ IL_0081: ldarg.s A_4
+ IL_0083: ldloc.1
+ IL_0084: tail.
+ IL_0086: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_008b: ret
+
+ IL_008c: ldarg.0
+ IL_008d: ldarg.3
+ IL_008e: ldloc.2
+ IL_008f: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0094: stloc.s V_5
+ IL_0096: ldloc.s V_5
+ IL_0098: brtrue IL_00a2
+
+ IL_009d: br IL_00bb
+
+ IL_00a2: ldloc.2
+ IL_00a3: ldarg.2
+ IL_00a4: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00a9: stloc.s V_9
+ IL_00ab: ldarg.0
+ IL_00ac: ldarg.1
+ IL_00ad: ldloc.s V_9
+ IL_00af: ldarg.3
+ IL_00b0: ldarg.s A_4
+ IL_00b2: ldloc.1
+ IL_00b3: tail.
+ IL_00b5: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_00ba: ret
+
+ IL_00bb: ldarg.0
+ IL_00bc: ldarg.s A_4
+ IL_00be: ldloc.2
+ IL_00bf: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_00c4: stloc.s V_6
+ IL_00c6: ldloc.s V_6
+ IL_00c8: brtrue IL_00d2
+
+ IL_00cd: br IL_00eb
+
+ IL_00d2: ldloc.2
+ IL_00d3: ldarg.3
+ IL_00d4: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00d9: stloc.s V_8
+ IL_00db: ldarg.0
+ IL_00dc: ldarg.1
+ IL_00dd: ldarg.2
+ IL_00de: ldloc.s V_8
+ IL_00e0: ldarg.s A_4
+ IL_00e2: ldloc.1
+ IL_00e3: tail.
+ IL_00e5: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_00ea: ret
+
+ IL_00eb: ldloc.2
+ IL_00ec: ldarg.s A_4
+ IL_00ee: newobj instance void b::.ctor(class c,
+ class b)
+ IL_00f3: stloc.s V_7
+ IL_00f5: ldarg.0
+ IL_00f6: ldarg.1
+ IL_00f7: ldarg.2
+ IL_00f8: ldarg.3
+ IL_00f9: ldloc.s V_7
+ IL_00fb: ldloc.1
+ IL_00fc: tail.
+ IL_00fe: call class b $::n(class a,
+ class b,
+ class b,
+ class b,
+ class b,
+ class b)
+ IL_0103: ret
+ }
+
+}
+
+.class public abstract auto ansi h
+ extends [mscorlib]System.Exception
+{
+ .field privatescope string s$PST04000019
+ .method public specialname rtspecialname
+ instance void .ctor(string A_0) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: call instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0007: ldarg.0
+ IL_0008: ldarg.1
+ IL_0009: stfld string h::s$PST04000019
+ IL_000e: ret
+ }
+
+ .method public virtual instance string
+ ToString() cil managed
+ {
+ .maxstack 6
+ .locals init (string V_0,
+ string V_1,
+ string V_2,
+ string V_3,
+ string V_4)
+ IL_0000: ldarg.0
+ IL_0001: callvirt instance string h::ExnMessage()
+ IL_0006: stloc.0
+ IL_0007: ldsfld string $::$l$PST0400000A
+ IL_000c: stloc.1
+ IL_000d: ldloc.1
+ IL_000e: brtrue IL_0018
+
+ IL_0013: br IL_0023
+
+ IL_0018: ldloc.1
+ IL_0019: stloc.s V_4
+ IL_001b: ldloc.s V_4
+ IL_001d: stloc.2
+ IL_001e: br IL_0025
+
+ IL_0023: ldloc.0
+ IL_0024: ret
+
+ IL_0025: ldloc.0
+ IL_0026: ldloc.2
+ IL_0027: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_002c: stloc.3
+ IL_002d: ldloc.3
+ IL_002e: ret
+ }
+
+ .method public virtual instance string
+ ExnMessage() cil managed
+ {
+ .maxstack 6
+ .locals init (string V_0,
+ string V_1,
+ string V_2)
+ IL_0000: ldarg.0
+ IL_0001: callvirt instance string h::ExnName()
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldstr ": "
+ IL_000d: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0012: stloc.1
+ IL_0013: ldarg.0
+ IL_0014: callvirt instance string [mscorlib]System.Exception::get_Message()
+ IL_0019: stloc.2
+ IL_001a: ldloc.1
+ IL_001b: ldloc.2
+ IL_001c: call string [mscorlib]System.String::Concat(string,
+ string)
+ IL_0021: ret
+ }
+
+ .method public virtual instance string
+ ExnName() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldstr "SML exception"
+ IL_0005: ret
+ }
+
+}
+
+.class public auto ansi sealed i
+ extends a
+{
+ .field privatescope class c a$PST0400001A
+ .method public specialname rtspecialname
+ instance void .ctor(class c A_0) cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class c i::a$PST0400001A
+ IL_000d: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (class c V_0,
+ int32 V_1,
+ int32 V_2)
+ IL_0000: ldarg.0
+ IL_0001: ldfld class c i::a$PST0400001A
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: ldfld int32 c::b$PST04000002
+ IL_000d: stloc.1
+ IL_000e: ldarg.1
+ IL_000f: ldfld int32 c::a$PST04000001
+ IL_0014: stloc.2
+ IL_0015: ldloc.2
+ IL_0016: ldloc.1
+ IL_0017: ldloc.0
+ IL_0018: tail.
+ IL_001a: call int32 $::g(int32,
+ int32,
+ class c)
+ IL_001f: ret
+ }
+
+}
+
+.class public auto ansi sealed j
+ extends a
+{
+ .field privatescope int32 a$PST0400001B
+ .field privatescope int32 b$PST0400001C
+ .method public specialname rtspecialname
+ instance void .ctor(int32 A_0,
+ int32 A_1) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ldstr "now1"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld int32 j::a$PST0400001B
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld int32 j::b$PST0400001C
+ldstr "now2"
+call void [System.Console]System.Console::WriteLine(string)
+ IL_0014: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 j::b$PST0400001C
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldfld int32 j::a$PST0400001B
+ IL_000d: stloc.1
+ IL_000e: ldloc.0
+ IL_000f: ldloc.1
+ IL_0010: ldarg.1
+ IL_0011: tail.
+ IL_0013: call int32 $::g(int32,
+ int32,
+ class c)
+ IL_0018: ret
+ }
+
+ .method public virtual final instance class c
+ c(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3,
+ int32 V_4,
+ int32 V_5)
+ IL_0000: ldarg.0
+ IL_0001: ldfld int32 j::b$PST0400001C
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldfld int32 j::a$PST0400001B
+ IL_000d: stloc.1
+ IL_000e: ldarg.1
+ IL_000f: ldfld int32 c::b$PST04000002
+ IL_0014: stloc.2
+ IL_0015: ldarg.1
+ IL_0016: ldfld int32 c::a$PST04000001
+ IL_001b: stloc.3
+ IL_001c: ldloc.3
+ IL_001d: ldloc.0
+ IL_001e: add
+ IL_001f: stloc.s V_4
+ IL_0021: ldloc.2
+ IL_0022: ldloc.1
+ IL_0023: add
+ IL_0024: stloc.s V_5
+ IL_0026: ldloc.s V_4
+ IL_0028: ldloc.s V_5
+ IL_002a: newobj instance void c::.ctor(int32,
+ int32)
+ IL_002f: ret
+ }
+
+}
+
+.class public auto ansi sealed k
+ extends a
+{
+ .field privatescope class a a$PST0400001D
+ .field privatescope class b b$PST0400001E
+ .method public specialname rtspecialname
+ instance void .ctor(class a A_0,
+ class b A_1) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ldarg.0
+ IL_0007: ldarg.1
+ IL_0008: stfld class a k::a$PST0400001D
+ IL_000d: ldarg.0
+ IL_000e: ldarg.2
+ IL_000f: stfld class b k::b$PST0400001E
+ IL_0014: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (class b V_0,
+ class a V_1,
+ int32 V_2)
+ IL_0000: ldarg.0
+ IL_0001: ldfld class b k::b$PST0400001E
+ IL_0006: stloc.0
+ IL_0007: ldarg.0
+ IL_0008: ldfld class a k::a$PST0400001D
+ IL_000d: stloc.1
+ IL_000e: ldloc.1
+ IL_000f: ldloc.0
+ IL_0010: ldarg.1
+ IL_0011: call int32 $::f(class a,
+ class b,
+ class c)
+ IL_0016: stloc.2
+ IL_0017: ldloc.2
+ IL_0018: ldc.i4.1
+ IL_0019: bne.un IL_0023
+
+ IL_001e: br IL_0025
+
+ IL_0023: ldc.i4.1
+ IL_0024: ret
+
+ IL_0025: ldc.i4.0
+ IL_0026: ret
+ }
+
+}
+
+.class public auto ansi sealed l
+ extends a
+{
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 2
+ IL_0000: ldarg.0
+ IL_0001: call instance void a::.ctor()
+ IL_0006: ret
+ }
+
+ .method public virtual final instance int32
+ a(class c A_0,
+ class c A_1) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3)
+ IL_0000: ldarg.1
+ IL_0001: ldfld int32 c::a$PST04000001
+ IL_0006: stloc.0
+ IL_0007: ldarg.2
+ IL_0008: ldfld int32 c::a$PST04000001
+ IL_000d: stloc.1
+ IL_000e: ldloc.0
+ IL_000f: ldloc.1
+ IL_0010: beq IL_001a
+
+ IL_0015: br IL_002d
+
+ IL_001a: ldarg.1
+ IL_001b: ldfld int32 c::b$PST04000002
+ IL_0020: stloc.2
+ IL_0021: ldarg.2
+ IL_0022: ldfld int32 c::b$PST04000002
+ IL_0027: stloc.3
+ IL_0028: ldloc.2
+ IL_0029: ldloc.3
+ IL_002a: ceq
+ IL_002c: ret
+
+ IL_002d: ldc.i4.0
+ IL_002e: ret
+ }
+
+ .method public virtual final instance int32
+ b(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2,
+ int32 V_3)
+ IL_0000: ldarg.1
+ IL_0001: ldfld int32 c::a$PST04000001
+ IL_0006: stloc.0
+ IL_0007: ldloc.0
+ IL_0008: ldc.i4.0
+ IL_0009: blt IL_0015
+
+ IL_000e: ldc.i4.1
+ IL_000f: stloc.1
+ IL_0010: br IL_001e
+
+ IL_0015: ldarg.1
+ IL_0016: ldfld int32 c::b$PST04000002
+ IL_001b: stloc.3
+ IL_001c: ldc.i4.0
+ IL_001d: stloc.1
+ IL_001e: ldloc.1
+ IL_001f: brtrue IL_0029
+
+ IL_0024: br IL_0040
+
+ IL_0029: ldarg.1
+ IL_002a: ldfld int32 c::b$PST04000002
+ IL_002f: stloc.2
+ IL_0030: ldloc.2
+ IL_0031: ldc.i4.0
+ IL_0032: blt IL_003c
+
+ IL_0037: br IL_003e
+
+ IL_003c: ldc.i4.0
+ IL_003d: ret
+
+ IL_003e: ldc.i4.1
+ IL_003f: ret
+
+ IL_0040: ldc.i4.0
+ IL_0041: ret
+ }
+
+ .method public virtual final instance class c
+ c(class c A_0) cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0,
+ int32 V_1,
+ int32 V_2)
+ IL_0000: ldarg.1
+ IL_0001: ldfld int32 c::b$PST04000002
+ IL_0006: stloc.0
+ IL_0007: ldarg.1
+ IL_0008: ldfld int32 c::a$PST04000001
+ IL_000d: stloc.1
+ IL_000e: ldloc.1
+ IL_000f: neg
+ IL_0010: stloc.2
+ IL_0011: ldloc.0
+ IL_0012: ldloc.2
+ IL_0013: newobj instance void c::.ctor(int32,
+ int32)
+ IL_0018: ret
+ }
+
+ .method public virtual final instance void
+ d(string A_0) cil managed
+ {
+ .maxstack 5
+ .locals init (class [mscorlib]System.IO.TextWriter V_0,
+ class [mscorlib]System.IO.TextWriter V_1)
+ IL_0000: ldsfld class [mscorlib]System.IO.TextWriter $::k$PST04000016
+ IL_0005: stloc.0
+ IL_0006: ldsfld class [mscorlib]System.IO.TextWriter $::f$PST04000011
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldarg.1
+ IL_000e: callvirt instance void [mscorlib]System.IO.TextWriter::Write(string)
+ IL_0013: ldloc.0
+ IL_0014: ldstr "\n"
+ IL_0019: callvirt instance void [mscorlib]System.IO.TextWriter::Write(string)
+ IL_001e: ret
+ }
+
+}
+
+.class public auto ansi sealed m
+ extends h
+{
+ .method public specialname rtspecialname
+ instance void .ctor(string A_0) cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: call instance void h::.ctor(string)
+ IL_0007: ret
+ }
+
+ .method public virtual instance string
+ ExnName() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldstr "Main.ex_undefined"
+ IL_0005: ret
+ }
+
+}
+
+.class public auto ansi sealed n
+ extends h
+{
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: ldnull
+ IL_0002: call instance void h::.ctor(string)
+ IL_0007: ret
+ }
+
+ .method public virtual instance string
+ ExnName() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldstr "Time.Time"
+ IL_0005: ret
+ }
+
+}
+
+.class public auto ansi sealed o
+ extends h
+{
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldarg.0
+ IL_0001: ldnull
+ IL_0002: call instance void h::.ctor(string)
+ IL_0007: ret
+ }
+
+ .method public virtual instance string
+ ExnName() cil managed
+ {
+ .maxstack 3
+ IL_0000: ldstr "PrimUtils.Char.Chr"
+ IL_0005: ret
+ }
+
+}
+
+
+
+
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/b19101.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/b19101.ilproj
new file mode 100644
index 0000000000..4554c15b02
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/b19101.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_01.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/test_01.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/test_01.il
new file mode 100644
index 0000000000..3b0ac646af
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19101/test_01.il
@@ -0,0 +1,35 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly double_ulong_e_1{}
+
+ .class public auto ansi beforefieldinit Driver extends [mscorlib]System.Object
+ {
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+
+ ldc.r8 1.
+ conv.u8
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+
+ ldc.i4.1
+ conv.i8
+ bne.un.s IL_1d
+
+ ldstr "Pass"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+
+IL_1d: ldstr "Fail"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+ } \ No newline at end of file
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/b19289.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/b19289.ilproj
new file mode 100644
index 0000000000..3779ec3866
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/b19289.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test_09.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/test_09.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/test_09.il
new file mode 100644
index 0000000000..a18b584ce4
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b19289/test_09.il
@@ -0,0 +1,44 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly decm014{}
+
+.class public auto ansi beforefieldinit MyClass
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .locals init (float32)
+ ldc.r4 7.9999996e+028
+ stloc.0
+ .try
+ {
+ ldloc.0
+ conv.r4
+ dup
+ call void [System.Console]System.Console::WriteLine(float32)
+
+ call valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Explicit(float32)
+ pop
+ ldstr "Fail"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_0015
+
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldstr "Pass"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s IL_0016
+
+ }
+ IL_0015: ldc.i4 1 ret
+ IL_0016: ldc.i4 100 ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/Negative001.il b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/Negative001.il
new file mode 100644
index 0000000000..cfe1c095b5
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/Negative001.il
@@ -0,0 +1,228 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly Negative001 {}
+.class public auto ansi beforefieldinit GenBase<([mscorlib]System.Object) T>
+ extends [mscorlib]System.Object
+{
+ .field private !0 t
+ .method private hidebysig instance !0 Dummy(!0 t) cil managed
+ {
+ .maxstack 2
+ .locals init (!0 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ IL_0002: stfld !0 class GenBase<!0>::t
+ IL_0007: ldarg.1
+ IL_0008: stloc.0
+ IL_0009: br.s IL_000b
+
+ IL_000b: ldloc.0
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public explicit ansi beforefieldinit Gen<([mscorlib]System.Object) T>
+ extends class GenBase<!0>
+{
+ .method private hidebysig instance !0 Dummy(!0 t) cil managed
+ {
+ .maxstack 1
+ .locals init (!0 V_0)
+ IL_0000: ldarg.1
+ IL_0001: stloc.0
+ IL_0002: br.s IL_0004
+
+ IL_0004: ldloc.0
+ IL_0005: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void class GenBase<!0>::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit GenTest<([mscorlib]System.Object) T>
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig instance class Gen<!0>
+ InternalTest() cil managed
+ {
+ .maxstack 1
+ .locals init (class Gen<!0> V_0)
+ IL_0000: newobj instance void class Gen<!0>::.ctor()
+ IL_0005: stloc.0
+ IL_0006: br.s IL_0008
+
+ IL_0008: ldloc.0
+ IL_0009: ret
+ }
+
+ .method private hidebysig instance void
+ IndirectTest() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance class Gen<!0> class GenTest<!0>::InternalTest()
+ IL_0006: pop
+ IL_0007: ret
+ }
+
+ .method public hidebysig instance bool
+ Test() cil managed
+ {
+ .maxstack 2
+ .locals init (class [mscorlib]System.Exception V_0,
+ bool V_1)
+ .try
+ {
+ IL_0000: ldarg.0
+ IL_0001: call instance void class GenTest<!0>::IndirectTest()
+ IL_0006: ldstr "Test did not throw expected TypeLoadException"
+ IL_000b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0010: ldc.i4.0
+ IL_0011: stloc.1
+ IL_0012: leave.s IL_002e
+
+ }
+ catch [mscorlib]System.TypeLoadException
+ {
+ IL_0014: pop
+ IL_0015: ldc.i4.1
+ IL_0016: stloc.1
+ IL_0017: leave.s IL_002e
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0019: stloc.0
+ IL_001a: ldstr "Test caught unexpected Exception "
+ IL_001f: ldloc.0
+ IL_0020: call string [mscorlib]System.String::Concat(object,
+ object)
+ IL_0025: call void [System.Console]System.Console::WriteLine(string)
+ IL_002a: ldc.i4.0
+ IL_002b: stloc.1
+ IL_002c: leave.s IL_002e
+
+ }
+ IL_002e: ldloc.1
+ IL_002f: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+.class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .field public static int32 counter
+ .field public static bool result
+ .method public hidebysig static void Eval(bool exp) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldsfld int32 Test::counter
+ IL_0005: ldc.i4.1
+ IL_0006: add
+ IL_0007: stsfld int32 Test::counter
+ IL_000c: ldarg.0
+ IL_000d: brtrue.s IL_002e
+
+ IL_000f: ldarg.0
+ IL_0010: stsfld bool Test::result
+ IL_0015: ldstr "Test Failed at location: "
+ IL_001a: ldsfld int32 Test::counter
+ IL_001f: box [mscorlib]System.Int32
+ IL_0024: call string [mscorlib]System.String::Concat(object,
+ object)
+ IL_0029: call void [System.Console]System.Console::WriteLine(string)
+ IL_002e: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 V_0)
+ IL_0000: newobj instance void class GenTest<int32>::.ctor()
+ IL_0005: call instance bool class GenTest<int32>::Test()
+ IL_000a: call void Test::Eval(bool)
+ IL_000f: newobj instance void class GenTest<float64>::.ctor()
+ IL_0014: call instance bool class GenTest<float64>::Test()
+ IL_0019: call void Test::Eval(bool)
+ IL_001e: newobj instance void class GenTest<valuetype [mscorlib]System.Guid>::.ctor()
+ IL_0023: call instance bool class GenTest<valuetype [mscorlib]System.Guid>::Test()
+ IL_0028: call void Test::Eval(bool)
+ IL_002d: newobj instance void class GenTest<string>::.ctor()
+ IL_0032: call instance bool class GenTest<string>::Test()
+ IL_0037: call void Test::Eval(bool)
+ IL_003c: newobj instance void class GenTest<object>::.ctor()
+ IL_0041: call instance bool class GenTest<object>::Test()
+ IL_0046: call void Test::Eval(bool)
+ IL_004b: ldsfld bool Test::result
+ IL_0050: brfalse.s IL_0061
+
+ IL_0052: ldstr "Test Passed"
+ IL_0057: call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: ldc.i4.s 100
+ IL_005e: stloc.0
+ IL_005f: br.s IL_006f
+
+ IL_0061: ldstr "Test Failed"
+ IL_0066: call void [System.Console]System.Console::WriteLine(string)
+ IL_006b: ldc.i4.1
+ IL_006c: stloc.0
+ IL_006d: br.s IL_006f
+
+ IL_006f: ldloc.0
+ IL_0070: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 Test::counter
+ IL_0006: ldc.i4.1
+ IL_0007: stsfld bool Test::result
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/b27077.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/b27077.ilproj
new file mode 100644
index 0000000000..ff9320a8ce
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b27077/b27077.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Negative001.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/app.config b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.il b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.il
new file mode 100644
index 0000000000..b593a26163
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.il
@@ -0,0 +1,263 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly b410474{}
+.class public A{.method static void V1() {.maxstack 50
+ldsfld int8 [b410474]A::a0100
+ldc.i4 0
+beq a0101
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0101:
+ldsfld int8 [b410474]A::a0101
+ldc.i4 1
+beq a0102
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0102:
+ldsfld float32 [b410474]A::a0102
+ldc.r4 2.0
+beq a0103
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0103:
+ldsfld int16 [b410474]A::a0103
+ldc.i4 3
+beq a0104
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0104:
+ldsfld float32 [b410474]A::a0104
+ldc.r4 4.0
+beq a0105
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0105:
+ret}
+.method static void V2() {.maxstack 50
+ldsflda int8 [b410474]A::a0100
+ldind.i1
+ldc.i4 0
+beq a0100
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0100:
+ldsflda int8 [b410474]A::a0101
+ldind.i1
+ldc.i4 1
+beq a0101
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0101:
+ldsflda float32 [b410474]A::a0102
+ldind.r4
+ldc.r4 2.0
+beq a0102
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0102:
+ldsflda int16 [b410474]A::a0103
+ldind.i2
+ldc.i4 3
+beq a0103
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0103:
+ldsflda float32 [b410474]A::a0104
+ldind.r4
+ldc.r4 4.0
+beq a0104
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0104:
+ret}
+.method static void V3() {.maxstack 50
+ldsfld float32 [b410474]A::a0102
+ldc.r4 2.0
+beq a0106
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0106:
+ldsfld int8 [b410474]A::a0101
+ldc.i4 1
+beq a0107
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0107:
+ldsfld float32 [b410474]A::a0104
+ldc.r4 4.0
+beq a0108
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0108:
+ldsfld int16 [b410474]A::a0103
+ldc.i4 3
+beq a0109
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0109:
+ldsfld int16 [b410474]A::a0103
+ldc.i4 3
+beq a01010
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a01010:
+ret}
+.method static void V4() {.maxstack 50
+ldsflda int8 [b410474]A::a0100
+conv.i8
+dup
+ldc.i8 0xffffffff00000000
+and
+ldc.i4 32
+shr.un
+conv.i8
+ldc.i4 32
+shl
+or
+conv.i
+ldind.i1
+ldc.i4 0
+beq a0100
+ldstr "a0100"
+newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+throw
+a0100:
+ldsflda int8 [b410474]A::a0101
+conv.r8
+ldc.r8 234.098
+add
+conv.r8
+ldc.r8 -234.098
+add
+conv.i
+ldind.i1
+ldc.i4 1
+beq a0101
+ldstr "a0101"
+newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+throw
+a0101:
+ldsflda float32 [b410474]A::a0102
+conv.i8
+dup
+dup
+xor
+xor
+conv.i
+ldind.r4
+ldc.r4 2.0
+beq a0102
+ldstr "a0102"
+newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+throw
+a0102:
+ldsflda int16 [b410474]A::a0103
+conv.i8
+ldc.i8 49048
+add
+conv.i8
+ldc.i8 49048
+sub
+conv.i
+ldind.i2
+ldc.i4 3
+beq a0103
+ldstr "a0103"
+newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+throw
+a0103:
+ldsflda float32 [b410474]A::a0104
+conv.i8
+dup
+dup
+xor
+xor
+conv.i
+ldind.r4
+ldc.r4 4.0
+beq a0104
+ldstr "a0104"
+newobj instance void [mscorlib]System.ApplicationException::.ctor(string)
+throw
+a0104:
+ret}
+.method static void V5() {.maxstack 50
+ldsfld int8 [b410474]A::a0100
+ldc.i4 1
+add
+stsfld int8 [b410474]A::a0100
+ldsfld int8 [b410474]A::a0100
+ldc.i4 1
+beq a0100
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0100:
+ldsfld int8 [b410474]A::a0101
+ldc.i4 1
+add
+stsfld int8 [b410474]A::a0101
+ldsfld int8 [b410474]A::a0101
+ldc.i4 2
+beq a0101
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0101:
+ldsfld float32 [b410474]A::a0102
+ldc.r4 1
+add
+stsfld float32 [b410474]A::a0102
+ldsfld float32 [b410474]A::a0102
+ldc.r4 3.0
+beq a0102
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0102:
+ldsfld int16 [b410474]A::a0103
+ldc.i4 1
+add
+stsfld int16 [b410474]A::a0103
+ldsfld int16 [b410474]A::a0103
+ldc.i4 4
+beq a0103
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0103:
+ldsfld float32 [b410474]A::a0104
+ldc.r4 1
+add
+stsfld float32 [b410474]A::a0104
+ldsfld float32 [b410474]A::a0104
+ldc.r4 5.0
+beq a0104
+newobj instance void [mscorlib]System.ApplicationException::.ctor()
+throw
+a0104:
+ret}
+.method static int32 Main(string[] args){.entrypoint .maxstack 5
+call void [b410474]A::V1()
+call void [b410474]A::V2()
+call void [b410474]A::V3()
+call void [b410474]A::V4()
+call void [b410474]A::V5()
+
+ldstr "Test SUCCESS"
+call void [System.Console]System.Console::WriteLine(string)
+
+ldc.i4 100
+ret}
+.field public static float32 a0102 at b0101
+.field public static int8 a0100 at b0102
+.field public static int8 a0101 at b0103
+.field public static int16 a0103 at b0104
+.field public static float32 a0104 at b0105
+}
+.data b0101 = float32(2.0)
+.data b0102 = int8(0)
+.data b0103 = int8(1)
+.data b0104 = int16(3)
+.data b0105 = float32(4.0)
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj
new file mode 100644
index 0000000000..43d88c01ef
--- /dev/null
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="b410474.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/config/extra/project.json b/tests/src/JIT/config/extra/project.json
index 9079341efc..10ec66416e 100644
--- a/tests/src/JIT/config/extra/project.json
+++ b/tests/src/JIT/config/extra/project.json
@@ -5,6 +5,7 @@
"System.Runtime.Extensions": "4.0.10-beta-*",
"System.Collections": "4.0.10-beta-*",
"System.Runtime.InteropServices": "4.0.21-beta-*",
+ "System.IO": "4.0.11-beta-*",
"System.IO.FileSystem": "4.0.1-beta-*",
"System.Globalization": "4.0.11-beta-*",
"System.Reflection": "4.1.0-beta-*",
diff --git a/tests/src/JIT/config/extra/project.lock.json b/tests/src/JIT/config/extra/project.lock.json
index 4fe1a9d324..b719220b8f 100644
--- a/tests/src/JIT/config/extra/project.lock.json
+++ b/tests/src/JIT/config/extra/project.lock.json
@@ -58,15 +58,18 @@
"lib/DNXCore50/System.Globalization.dll": {}
}
},
- "System.IO/4.0.0": {
+ "System.IO/4.0.11-beta-23516": {
"type": "package",
"dependencies": {
- "System.Runtime": "4.0.0",
+ "System.Runtime": "4.0.20",
"System.Text.Encoding": "4.0.0",
"System.Threading.Tasks": "4.0.0"
},
"compile": {
- "ref/dotnet/System.IO.dll": {}
+ "ref/dotnet5.4/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.dll": {}
}
},
"System.IO.FileSystem/4.0.1-beta-23516": {
@@ -383,15 +386,18 @@
"lib/DNXCore50/System.Globalization.dll": {}
}
},
- "System.IO/4.0.0": {
+ "System.IO/4.0.11-beta-23516": {
"type": "package",
"dependencies": {
- "System.Runtime": "4.0.0",
+ "System.Runtime": "4.0.20",
"System.Text.Encoding": "4.0.0",
"System.Threading.Tasks": "4.0.0"
},
"compile": {
- "ref/dotnet/System.IO.dll": {}
+ "ref/dotnet5.4/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.dll": {}
}
},
"System.IO.FileSystem/4.0.1-beta-23516": {
@@ -792,15 +798,18 @@
"lib/DNXCore50/System.Globalization.dll": {}
}
},
- "System.IO/4.0.0": {
+ "System.IO/4.0.11-beta-23516": {
"type": "package",
"dependencies": {
- "System.Runtime": "4.0.0",
+ "System.Runtime": "4.0.20",
"System.Text.Encoding": "4.0.0",
"System.Threading.Tasks": "4.0.0"
},
"compile": {
- "ref/dotnet/System.IO.dll": {}
+ "ref/dotnet5.4/System.IO.dll": {}
+ },
+ "runtime": {
+ "lib/DNXCore50/System.IO.dll": {}
}
},
"System.IO.FileSystem/4.0.1-beta-23516": {
@@ -1383,30 +1392,43 @@
"System.Globalization.nuspec"
]
},
- "System.IO/4.0.0": {
+ "System.IO/4.0.11-beta-23516": {
"type": "package",
- "sha512": "MoCHQ0u5n0OMwUS8OX4Gl48qKiQziSW5cXvt82d+MmAcsLq9OL90+ihnu/aJ1h6OOYcBswrZAEuApfZha9w2lg==",
+ "serviceable": true,
+ "sha512": "6nJmAk4vYjN+5/haenkKk/BDGCOKw5pk5EjXAOvBnUM5PFIfO8JwUxGbcveOD4vV5Vb6TAxrmRmts/7F+BEuEw==",
"files": [
+ "lib/DNXCore50/System.IO.dll",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
+ "lib/netcore50/System.IO.dll",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
- "License.rtf",
- "ref/dotnet/de/System.IO.xml",
- "ref/dotnet/es/System.IO.xml",
- "ref/dotnet/fr/System.IO.xml",
- "ref/dotnet/it/System.IO.xml",
- "ref/dotnet/ja/System.IO.xml",
- "ref/dotnet/ko/System.IO.xml",
- "ref/dotnet/ru/System.IO.xml",
- "ref/dotnet/System.IO.dll",
- "ref/dotnet/System.IO.xml",
- "ref/dotnet/zh-hans/System.IO.xml",
- "ref/dotnet/zh-hant/System.IO.xml",
+ "ref/dotnet5.1/de/System.IO.xml",
+ "ref/dotnet5.1/es/System.IO.xml",
+ "ref/dotnet5.1/fr/System.IO.xml",
+ "ref/dotnet5.1/it/System.IO.xml",
+ "ref/dotnet5.1/ja/System.IO.xml",
+ "ref/dotnet5.1/ko/System.IO.xml",
+ "ref/dotnet5.1/ru/System.IO.xml",
+ "ref/dotnet5.1/System.IO.dll",
+ "ref/dotnet5.1/System.IO.xml",
+ "ref/dotnet5.1/zh-hans/System.IO.xml",
+ "ref/dotnet5.1/zh-hant/System.IO.xml",
+ "ref/dotnet5.4/de/System.IO.xml",
+ "ref/dotnet5.4/es/System.IO.xml",
+ "ref/dotnet5.4/fr/System.IO.xml",
+ "ref/dotnet5.4/it/System.IO.xml",
+ "ref/dotnet5.4/ja/System.IO.xml",
+ "ref/dotnet5.4/ko/System.IO.xml",
+ "ref/dotnet5.4/ru/System.IO.xml",
+ "ref/dotnet5.4/System.IO.dll",
+ "ref/dotnet5.4/System.IO.xml",
+ "ref/dotnet5.4/zh-hans/System.IO.xml",
+ "ref/dotnet5.4/zh-hant/System.IO.xml",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
@@ -1426,8 +1448,9 @@
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
- "System.IO.4.0.0.nupkg",
- "System.IO.4.0.0.nupkg.sha512",
+ "runtimes/win8-aot/lib/netcore50/System.IO.dll",
+ "System.IO.4.0.11-beta-23516.nupkg",
+ "System.IO.4.0.11-beta-23516.nupkg.sha512",
"System.IO.nuspec"
]
},
@@ -2176,6 +2199,7 @@
"System.Runtime.Extensions >= 4.0.10-beta-*",
"System.Collections >= 4.0.10-beta-*",
"System.Runtime.InteropServices >= 4.0.21-beta-*",
+ "System.IO >= 4.0.11-beta-*",
"System.IO.FileSystem >= 4.0.1-beta-*",
"System.Globalization >= 4.0.11-beta-*",
"System.Reflection >= 4.1.0-beta-*",
diff --git a/tests/src/JIT/config/minimal/project.lock.json b/tests/src/JIT/config/minimal/project.lock.json
index f0a6c4a1fa..01b4f6bdf8 100644
--- a/tests/src/JIT/config/minimal/project.lock.json
+++ b/tests/src/JIT/config/minimal/project.lock.json
@@ -1242,4 +1242,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/jit64/eh/basics/project.lock.json b/tests/src/JIT/jit64/eh/basics/project.lock.json
index 48730e8c4d..a2f423a380 100644
--- a/tests/src/JIT/jit64/eh/basics/project.lock.json
+++ b/tests/src/JIT/jit64/eh/basics/project.lock.json
@@ -1318,4 +1318,4 @@
],
"DNXCore,Version=v5.0": []
}
-}
+} \ No newline at end of file
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.il b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.il
new file mode 100644
index 0000000000..40916f88fb
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.il
@@ -0,0 +1,130 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly test {}
+.module test.exe
+.assembly extern common {}
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_1
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_1: leave.s TRY_0
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_0: leave.s DONE
+ }
+ finally
+ {
+ ldstr "in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.ilproj b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.ilproj
new file mode 100644
index 0000000000..38e2de5bd6
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter1.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.il b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.il
new file mode 100644
index 0000000000..19441c1ea2
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.il
@@ -0,0 +1,137 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly test {}
+.assembly extern common {}
+.module test.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_1
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_1: leave.s TRY_0
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_0: leave.s DONE
+ }
+ filter
+ {
+ pop
+ ldstr "in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr "in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.ilproj b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.ilproj
new file mode 100644
index 0000000000..c71efedc41
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter2.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.il b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.il
new file mode 100644
index 0000000000..3d42306c1f
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.il
@@ -0,0 +1,159 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly test {}
+.assembly extern common {}
+.module test.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "caught an exception!"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldc.i4.0
+ call void func(int32)
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "caught an exception!"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE:
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void func(int32 i)
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try
+ {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ .try {
+ ldstr " in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_2: leave.s TRY_1
+ }
+ filter
+ {
+ pop
+ ldstr " in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr " in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_0
+ }
+ TRY_1: leave.s TRY_0
+ }
+ finally
+ {
+ ldstr " in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ endfinally
+ }
+ TRY_0: leave.s DONE
+ }
+ filter
+ {
+ pop
+ ldstr "in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.0
+ endfilter
+ } {
+ pop
+ ldstr "in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.ilproj b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.ilproj
new file mode 100644
index 0000000000..4965274ce1
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwinfinallyintryfilter3.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwinfinallyintryfilter3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.il b/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.il
new file mode 100644
index 0000000000..84a512125d
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.il
@@ -0,0 +1,70 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module throw.exe
+
+.class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+{
+ .field private static class [common]TestUtil.TestLog testLog
+ .method private hidebysig specialname rtspecialname static void .cctor() cil managed
+ {
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut
+ )
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "after try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stsfld class [common]TestUtil.TestLog test::testLog
+ ret
+ }
+
+ .method public static int32 Main() cil managed
+ {
+ .entrypoint
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave IL_end
+ }
+
+ catch [mscorlib]System.Exception
+ {
+ throw
+ }
+
+
+ IL_end:
+ ldstr "after try"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldsfld class [common]TestUtil.TestLog test::testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.ilproj b/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.ilproj
new file mode 100644
index 0000000000..5715d5a933
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/basics/throwisfirstinstruction.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="throwisfirstinstruction.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.il b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.il
new file mode 100644
index 0000000000..15af2001e8
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.il
@@ -0,0 +1,117 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module nonlocalexitincatch.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call void Run()
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void Run()
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s DONE
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "in catch"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_1:
+ ldstr " in try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ ldstr "*** UNREACHABLE ***"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_2:
+ ldstr " in try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s CATCH_END
+ }
+ finally
+ {
+ ldstr " in finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ CATCH_END:
+ leave.s DONE
+ }
+
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.ilproj b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.ilproj
new file mode 100644
index 0000000000..333e28345d
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitincatch.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexitincatch.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.il b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.il
new file mode 100644
index 0000000000..859ec0cf00
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.il
@@ -0,0 +1,114 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module nonlocalexitinfinally.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call void Run()
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void Run()
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ finally
+ {
+ ldstr "in finally"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_1:
+ ldstr " in try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ ldstr "*** UNREACHABLE ***"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_2:
+ ldstr " in try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s FINALLY_END
+ }
+ finally
+ {
+ ldstr " in finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ FINALLY_END:
+ endfinally
+ }
+
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.ilproj b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.ilproj
new file mode 100644
index 0000000000..6087e57d72
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinfinally.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexitinfinally.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.il b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.il
new file mode 100644
index 0000000000..6330844fdd
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.il
@@ -0,0 +1,126 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module nonlocalexitinhandler.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in filter"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in handler"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call void Run()
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void Run()
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s DONE
+ }
+ filter
+ {
+ pop
+ ldstr "in filter"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.1
+ endfilter
+ } {
+ pop
+ ldstr "in handler"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_1:
+ ldstr " in try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ ldstr "*** UNREACHABLE ***"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_2:
+ ldstr " in try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s HANDLER_END
+ }
+ finally
+ {
+ ldstr " in finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ HANDLER_END:
+ leave.s DONE
+ }
+
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.ilproj b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.ilproj
new file mode 100644
index 0000000000..2acfbf7fff
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinhandler.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexitinhandler.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.il b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.il
new file mode 100644
index 0000000000..56e010aa42
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.il
@@ -0,0 +1,94 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module nonlocalexitinroot.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call void Run()
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void Run()
+{
+ .maxstack 1
+
+ .try
+ {
+ TRY_1:
+ ldstr "in try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr "in finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ ldstr "*** UNREACHABLE ***"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_2:
+ ldstr "in try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+ finally
+ {
+ ldstr "in finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.ilproj b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.ilproj
new file mode 100644
index 0000000000..5bb22cfbd3
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitinroot.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexitinroot.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.il b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.il
new file mode 100644
index 0000000000..dd791cd19f
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.il
@@ -0,0 +1,118 @@
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+.module nonlocalexitintry.exe
+
+
+.method public static int32 Main()
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (
+ class [mscorlib]System.IO.StringWriter expectedOut,
+ class [common]TestUtil.TestLog testLog
+ )
+
+
+ newobj instance void [mscorlib]System.IO.StringWriter::.ctor()
+ stloc.s expectedOut
+ ldloc.s expectedOut
+ ldstr "in try"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 1"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in try 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr " in finally 2"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ ldstr "in catch"
+ callvirt instance void [mscorlib]System.IO.TextWriter::WriteLine(string)
+ ldloc.s expectedOut
+ newobj instance void [common]TestUtil.TestLog::.ctor(object)
+ stloc.s testLog
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StartRecording()
+
+ call void Run()
+
+ ldloc.s testLog
+ callvirt instance void [common]TestUtil.TestLog::StopRecording()
+
+ ldloc.s testLog
+ callvirt instance int32 [common]TestUtil.TestLog::VerifyOutput()
+
+ ret
+}
+
+
+.method public static void Run()
+{
+ .maxstack 1
+ .try
+ {
+ ldstr "in try"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_1:
+ ldstr " in try 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_2
+ }
+ finally
+ {
+ ldstr " in finally 1"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ ldstr "*** UNREACHABLE ***"
+ call void [System.Console]System.Console::WriteLine(string)
+
+ .try
+ {
+ TRY_2:
+ ldstr " in try 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s TRY_END
+ }
+ finally
+ {
+ ldstr " in finally 2"
+ call void [System.Console]System.Console::WriteLine(string)
+ endfinally
+ }
+
+ TRY_END:
+ newobj instance void [mscorlib]System.Exception::.ctor()
+ throw
+ leave.s DONE
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ pop
+ ldstr "in catch"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s DONE
+ }
+
+ DONE: ret
+}
diff --git a/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.ilproj b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.ilproj
new file mode 100644
index 0000000000..e8a6662d24
--- /dev/null
+++ b/tests/src/JIT/jit64/eh/finallyexec/nonlocalexitintry.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="nonlocalexitintry.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.csproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/app.config b/tests/src/JIT/jit64/localloc/call/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/localloc/call/call03_dynamic.il b/tests/src/JIT/jit64/localloc/call/call03_dynamic.il
new file mode 100644
index 0000000000..80999370d7
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_dynamic.il
@@ -0,0 +1,223 @@
+// Tail call version of call01 test.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly call01_SMALL {}
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+ IL_001b: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ ldstr "local1"
+ ldloc.0
+ ldc.i8 0xfedcba9876543210
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s L_Verify1
+
+ ldc.i4.1
+ br.s L_End
+ L_Verify1:
+ ldstr "local2"
+ ldloc.1
+ ldc.i8 0xfedcba9876543211
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s IL_0041
+
+ ldc.i4.1
+ br.s L_End
+
+ IL_0041: ldc.i4.1
+ IL_0042: ldc.i4.2
+ IL_0043: ldc.i4.3
+ IL_0044: ldc.i4.4
+ IL_0045: ldc.i4.5
+ IL_0046: ldc.i4.6
+ IL_0047: ldc.i4.7
+ IL_0048: ldc.i4.8
+ IL_0049: ldloc.2
+ IL_004a: ldloc.3
+ IL_004b: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ L_End: ret
+ }
+
+ .method private hidebysig static int32 func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 RetValue)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 0x3e8
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s L_Verify1
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s IL_009e
+
+ L_Verify1: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0x7d0
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s L_Verify2
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s IL_009e
+
+ L_Verify2: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 0xbb8
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s L_Verify3
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s IL_009e
+
+ L_Verify3: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 0xfa0
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_Passed
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s IL_009e
+
+ L_Passed: ldstr "Passed\n"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ IL_009b: stloc.2
+ IL_009c: br.s IL_009e
+
+ IL_009e: ldloc.2
+ IL_009f: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/call/call03_dynamic.ilproj b/tests/src/JIT/jit64/localloc/call/call03_dynamic.ilproj
new file mode 100644
index 0000000000..dffc4897f6
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call03_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call03_large.il b/tests/src/JIT/jit64/localloc/call/call03_large.il
new file mode 100644
index 0000000000..79dfbe48d0
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_large.il
@@ -0,0 +1,223 @@
+// Tail call version of call01 test.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly call01_SMALL {}
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4 0x1000
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+ IL_001b: ldc.i4 0x1000
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ ldstr "local1"
+ ldloc.0
+ ldc.i8 0xfedcba9876543210
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s L_Verify1
+
+ ldc.i4.1
+ br.s L_End
+ L_Verify1:
+ ldstr "local2"
+ ldloc.1
+ ldc.i8 0xfedcba9876543211
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s IL_0041
+
+ ldc.i4.1
+ br.s L_End
+
+ IL_0041: ldc.i4.1
+ IL_0042: ldc.i4.2
+ IL_0043: ldc.i4.3
+ IL_0044: ldc.i4.4
+ IL_0045: ldc.i4.5
+ IL_0046: ldc.i4.6
+ IL_0047: ldc.i4.7
+ IL_0048: ldc.i4.8
+ IL_0049: ldloc.2
+ IL_004a: ldloc.3
+ IL_004b: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ L_End: ret
+ }
+
+ .method private hidebysig static int32 func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 RetValue)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4 0x1000
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 0x3e8
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s L_Verify1
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s IL_009e
+
+ L_Verify1: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0x7d0
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s L_Verify2
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s IL_009e
+
+ L_Verify2: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 0xbb8
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s L_Verify3
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s IL_009e
+
+ L_Verify3: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 0xfa0
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_Passed
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s IL_009e
+
+ L_Passed: ldstr "Passed\n"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ IL_009b: stloc.2
+ IL_009c: br.s IL_009e
+
+ IL_009e: ldloc.2
+ IL_009f: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/call/call03_large.ilproj b/tests/src/JIT/jit64/localloc/call/call03_large.ilproj
new file mode 100644
index 0000000000..341198656d
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call03_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call03_small.il b/tests/src/JIT/jit64/localloc/call/call03_small.il
new file mode 100644
index 0000000000..e419804a74
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_small.il
@@ -0,0 +1,224 @@
+// Tail call version of call01 test.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly call01_SMALL {}
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4.1
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+ IL_001b: ldc.i4.1
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ ldstr "local1"
+ ldloc.0
+ ldc.i8 0xfedcba9876543210
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s L_Verify1
+
+ ldc.i4.1
+ br.s L_End
+ L_Verify1:
+ ldstr "local2"
+ ldloc.1
+ ldc.i8 0xfedcba9876543211
+ call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ brtrue.s IL_0041
+
+ ldc.i4.1
+ br.s L_End
+
+ IL_0041: ldc.i4.1
+ IL_0042: ldc.i4.2
+ IL_0043: ldc.i4.3
+ IL_0044: ldc.i4.4
+ IL_0045: ldc.i4.5
+ IL_0046: ldc.i4.6
+ IL_0047: ldc.i4.7
+ IL_0048: ldc.i4.8
+ IL_0049: ldloc.2
+ IL_004a: ldloc.3
+ IL_004b: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ L_End: ret
+ }
+
+ .method private hidebysig static int32 func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 RetValue)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4.1
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 0x3e8
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s L_Verify1
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s IL_009e
+
+ L_Verify1: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0x7d0
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s L_Verify2
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s IL_009e
+
+ L_Verify2: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 0xbb8
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s L_Verify3
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s IL_009e
+
+ L_Verify3: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 0xfa0
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_Passed
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s IL_009e
+
+ L_Passed: ldstr "Passed\n"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ IL_009b: stloc.2
+ IL_009c: br.s IL_009e
+
+ IL_009e: ldloc.2
+ IL_009f: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/call/call03_small.ilproj b/tests/src/JIT/jit64/localloc/call/call03_small.ilproj
new file mode 100644
index 0000000000..46f88cb0b7
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call03_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call03_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call04_dynamic.il b/tests/src/JIT/jit64/localloc/call/call04_dynamic.il
new file mode 100644
index 0000000000..266b49e93d
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_dynamic.il
@@ -0,0 +1,242 @@
+// tail call version of call02.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+
+.assembly call02 {}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ class [common]LocallocTesting.TestClass obj)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+ IL_001b: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ IL_0041: ldc.i4 9999
+ IL_0046: conv.i8
+ IL_0047: newobj instance void [common]LocallocTesting.TestClass::.ctor(int64)
+ IL_004c: stloc.s obj
+
+ IL_004e: ldc.i4.1
+ IL_004f: ldc.i4.2
+ IL_0050: ldc.i4.3
+ IL_0051: ldc.i4.4
+ IL_0052: ldc.i4.5
+ IL_0053: ldc.i4.6
+ IL_0054: ldc.i4.7
+ IL_0055: ldc.i4.8
+ IL_0056: ldloc.2
+ IL_0057: ldloc.s obj
+ IL_0059: ldloc.3
+ IL_005a: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ class [common]LocallocTesting.TestClass,
+ int32*)
+
+ IL_0065: ret
+ }
+
+ .method private hidebysig static int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ class [common]LocallocTesting.TestClass obj,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+
+ ldc.i4.4
+ IL_0078: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0079: mul
+ IL_007a: localloc
+ IL_007c: stloc.s intArray1
+ IL_007e: ldc.i4.4
+ IL_007f: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0080: mul
+ IL_0081: localloc
+ IL_0083: stloc.s intArray2
+
+ IL_0085: ldloc.s intArray1
+ IL_0087: ldsfld int32 LocallocTest::locallocSize
+ IL_008c: ldc.i4 3000
+ IL_0091: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0096: ldloc.s intArray2
+ IL_0098: ldsfld int32 LocallocTest::locallocSize
+ IL_009d: ldc.i4 4000
+ IL_00a2: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0036: ldarg.s obj
+ IL_0037: callvirt instance bool [common]LocallocTesting.TestClass::ForceGC()
+ IL_003c: brtrue.s L_Forced
+ IL_003d: ldstr "Failed to force GC!"
+ IL_0042: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldc.i4.1
+ IL_004f: stloc.s retValue
+ IL_0051: br L_END
+
+ L_Forced: ldarg.s obj
+ IL_00a9: ldfld int64 [common]LocallocTesting.TestClass::id
+ IL_00ae: ldc.i4 0x270f
+ IL_00b3: conv.i8
+ IL_00b4: beq.s L_Verify1
+
+ IL_00b6: ldstr "obj.id is corrupted."
+ IL_00bb: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c0: ldc.i4.1
+ IL_00c1: stloc.s retValue
+ IL_00c3: br L_END
+
+ L_Verify1: ldstr "ar1"
+ IL_00cd: ldarg.s ar1
+ IL_00cf: ldsfld int32 LocallocTest::locallocSize
+ IL_00d4: ldc.i4 1000
+ IL_00d9: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00de: brtrue.s L_Verify2
+
+ IL_00e0: ldc.i4.1
+ IL_00e1: stloc.s retValue
+ IL_00e3: br.s L_END
+
+ L_Verify2: ldstr "ar2"
+ IL_00ea: ldarg.s ar2
+ IL_00ec: ldsfld int32 LocallocTest::locallocSize
+ IL_00f1: ldc.i4 2000
+ IL_00f6: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00fb: brtrue.s L_Verify3
+
+ IL_00fd: ldc.i4.1
+ IL_00fe: stloc.s retValue
+ IL_0100: br.s L_END
+
+ L_Verify3: ldstr "intArray1"
+ IL_0107: ldloc.s intArray1
+ IL_0109: ldsfld int32 LocallocTest::locallocSize
+ IL_010e: ldc.i4 3000
+ IL_0113: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0118: brtrue.s L_Verify4
+
+ IL_011a: ldc.i4.1
+ IL_011b: stloc.s retValue
+ IL_011d: br.s L_END
+
+ L_Verify4: ldstr "intArray2"
+ IL_0124: ldloc.s intArray2
+ IL_0126: ldsfld int32 LocallocTest::locallocSize
+ IL_012b: ldc.i4 4000
+ IL_0130: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0135: brtrue.s L_Passed
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_END
+
+ L_Passed: ldstr "Passed"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+ IL_014a: br.s L_END
+
+ L_END: ldloc.s retValue
+ IL_014e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call04_dynamic.ilproj b/tests/src/JIT/jit64/localloc/call/call04_dynamic.ilproj
new file mode 100644
index 0000000000..fdca5bdcc8
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call04_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call04_large.il b/tests/src/JIT/jit64/localloc/call/call04_large.il
new file mode 100644
index 0000000000..da3541d820
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_large.il
@@ -0,0 +1,242 @@
+// tail call version of call02.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+
+.assembly call02 {}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ class [common]LocallocTesting.TestClass obj)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4 0x1000
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+ IL_001b: ldc.i4 0x1000
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ IL_0041: ldc.i4 9999
+ IL_0046: conv.i8
+ IL_0047: newobj instance void [common]LocallocTesting.TestClass::.ctor(int64)
+ IL_004c: stloc.s obj
+
+ IL_004e: ldc.i4.1
+ IL_004f: ldc.i4.2
+ IL_0050: ldc.i4.3
+ IL_0051: ldc.i4.4
+ IL_0052: ldc.i4.5
+ IL_0053: ldc.i4.6
+ IL_0054: ldc.i4.7
+ IL_0055: ldc.i4.8
+ IL_0056: ldloc.2
+ IL_0057: ldloc.s obj
+ IL_0059: ldloc.3
+ IL_005a: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ class [common]LocallocTesting.TestClass,
+ int32*)
+
+ IL_0065: ret
+ }
+
+ .method private hidebysig static int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ class [common]LocallocTesting.TestClass obj,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+
+ ldc.i4.4
+ IL_0078: ldc.i4 0x1000
+ IL_0079: mul
+ IL_007a: localloc
+ IL_007c: stloc.s intArray1
+ IL_007e: ldc.i4.4
+ IL_007f: ldc.i4 0x1000
+ IL_0080: mul
+ IL_0081: localloc
+ IL_0083: stloc.s intArray2
+
+ IL_0085: ldloc.s intArray1
+ IL_0087: ldsfld int32 LocallocTest::locallocSize
+ IL_008c: ldc.i4 3000
+ IL_0091: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0096: ldloc.s intArray2
+ IL_0098: ldsfld int32 LocallocTest::locallocSize
+ IL_009d: ldc.i4 4000
+ IL_00a2: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0036: ldarg.s obj
+ IL_0037: callvirt instance bool [common]LocallocTesting.TestClass::ForceGC()
+ IL_003c: brtrue.s L_Forced
+ IL_003d: ldstr "Failed to force GC!"
+ IL_0042: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldc.i4.1
+ IL_004f: stloc.s retValue
+ IL_0051: br L_END
+
+ L_Forced: ldarg.s obj
+ IL_00a9: ldfld int64 [common]LocallocTesting.TestClass::id
+ IL_00ae: ldc.i4 0x270f
+ IL_00b3: conv.i8
+ IL_00b4: beq.s L_Verify1
+
+ IL_00b6: ldstr "obj.id is corrupted."
+ IL_00bb: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c0: ldc.i4.1
+ IL_00c1: stloc.s retValue
+ IL_00c3: br L_END
+
+ L_Verify1: ldstr "ar1"
+ IL_00cd: ldarg.s ar1
+ IL_00cf: ldsfld int32 LocallocTest::locallocSize
+ IL_00d4: ldc.i4 1000
+ IL_00d9: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00de: brtrue.s L_Verify2
+
+ IL_00e0: ldc.i4.1
+ IL_00e1: stloc.s retValue
+ IL_00e3: br.s L_END
+
+ L_Verify2: ldstr "ar2"
+ IL_00ea: ldarg.s ar2
+ IL_00ec: ldsfld int32 LocallocTest::locallocSize
+ IL_00f1: ldc.i4 2000
+ IL_00f6: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00fb: brtrue.s L_Verify3
+
+ IL_00fd: ldc.i4.1
+ IL_00fe: stloc.s retValue
+ IL_0100: br.s L_END
+
+ L_Verify3: ldstr "intArray1"
+ IL_0107: ldloc.s intArray1
+ IL_0109: ldsfld int32 LocallocTest::locallocSize
+ IL_010e: ldc.i4 3000
+ IL_0113: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0118: brtrue.s L_Verify4
+
+ IL_011a: ldc.i4.1
+ IL_011b: stloc.s retValue
+ IL_011d: br.s L_END
+
+ L_Verify4: ldstr "intArray2"
+ IL_0124: ldloc.s intArray2
+ IL_0126: ldsfld int32 LocallocTest::locallocSize
+ IL_012b: ldc.i4 4000
+ IL_0130: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0135: brtrue.s L_Passed
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_END
+
+ L_Passed: ldstr "Passed"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+ IL_014a: br.s L_END
+
+ L_END: ldloc.s retValue
+ IL_014e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call04_large.ilproj b/tests/src/JIT/jit64/localloc/call/call04_large.ilproj
new file mode 100644
index 0000000000..a7c0134d3f
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call04_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call04_small.il b/tests/src/JIT/jit64/localloc/call/call04_small.il
new file mode 100644
index 0000000000..e13764d7ba
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_small.il
@@ -0,0 +1,260 @@
+// tail call version of call02.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+
+.assembly call02 {}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ // Code size 102 (0x66)
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ class [common]LocallocTesting.TestClass obj)
+// Initialize local variable
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+// localloc for intArrayXX
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4.1
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+
+// Set size localloc
+ IL_001b: ldc.i4.1
+ IL_001c: stsfld int32 LocallocTest::locallocSize
+
+// Initialize intArrayXX
+ IL_0021: ldloc.2
+ IL_0022: ldsfld int32 LocallocTest::locallocSize
+ IL_0027: ldc.i4 1000
+ IL_002c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0031: ldloc.3
+ IL_0032: ldsfld int32 LocallocTest::locallocSize
+ IL_0037: ldc.i4 2000
+ IL_003c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+// allocate 'obj' which is one of param
+ IL_0041: ldc.i4 9999
+ IL_0046: conv.i8
+ IL_0047: newobj instance void [common]LocallocTesting.TestClass::.ctor(int64)
+ IL_004c: stloc.s obj
+
+// Invoke func1
+ IL_004e: ldc.i4.1
+ IL_004f: ldc.i4.2
+ IL_0050: ldc.i4.3
+ IL_0051: ldc.i4.4
+ IL_0052: ldc.i4.5
+ IL_0053: ldc.i4.6
+ IL_0054: ldc.i4.7
+ IL_0055: ldc.i4.8
+ IL_0056: ldloc.2
+ IL_0057: ldloc.s obj
+ IL_0059: ldloc.3
+ IL_005a: tail. call int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ class [common]LocallocTesting.TestClass,
+ int32*)
+
+ IL_0065: ret
+ } // end of method LocallocTest::Main
+
+ .method private hidebysig static int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ class [common]LocallocTesting.TestClass obj,
+ int32* ar2) cil managed
+ {
+ // Code size 335 (0x14f)
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+
+// allocate intArrayXX
+ ldc.i4.4
+ IL_0078: ldc.i4.1
+ IL_0079: mul
+ IL_007a: localloc
+ IL_007c: stloc.s intArray1
+ IL_007e: ldc.i4.4
+ IL_007f: ldc.i4.1
+ IL_0080: mul
+ IL_0081: localloc
+ IL_0083: stloc.s intArray2
+
+// Initialize intArrayXX
+ IL_0085: ldloc.s intArray1
+ IL_0087: ldsfld int32 LocallocTest::locallocSize
+ IL_008c: ldc.i4 3000
+ IL_0091: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0096: ldloc.s intArray2
+ IL_0098: ldsfld int32 LocallocTest::locallocSize
+ IL_009d: ldc.i4 4000
+ IL_00a2: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+// Force GC
+ IL_0036: ldarg.s obj
+ IL_0037: callvirt instance bool [common]LocallocTesting.TestClass::ForceGC()
+ IL_003c: brtrue.s L_Forced
+ IL_003d: ldstr "Failed to force GC!"
+ IL_0042: call void [System.Console]System.Console::WriteLine(string)
+ IL_004e: ldc.i4.1
+ IL_004f: stloc.s retValue
+ IL_0051: br L_END
+
+// Check if obj is corrupted
+ L_Forced: ldarg.s obj
+ IL_00a9: ldfld int64 [common]LocallocTesting.TestClass::id
+ IL_00ae: ldc.i4 0x270f
+ IL_00b3: conv.i8
+ IL_00b4: beq.s L_Verify1
+
+ IL_00b6: ldstr "obj.id is corrupted."
+ IL_00bb: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c0: ldc.i4.1
+ IL_00c1: stloc.s retValue
+ IL_00c3: br L_END
+
+// Verify arrays.
+ L_Verify1: ldstr "ar1"
+ IL_00cd: ldarg.s ar1
+ IL_00cf: ldsfld int32 LocallocTest::locallocSize
+ IL_00d4: ldc.i4 1000
+ IL_00d9: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00de: brtrue.s L_Verify2
+
+ IL_00e0: ldc.i4.1
+ IL_00e1: stloc.s retValue
+ IL_00e3: br.s L_END
+
+ L_Verify2: ldstr "ar2"
+ IL_00ea: ldarg.s ar2
+ IL_00ec: ldsfld int32 LocallocTest::locallocSize
+ IL_00f1: ldc.i4 2000
+ IL_00f6: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00fb: brtrue.s L_Verify3
+
+ IL_00fd: ldc.i4.1
+ IL_00fe: stloc.s retValue
+ IL_0100: br.s L_END
+
+ L_Verify3: ldstr "intArray1"
+ IL_0107: ldloc.s intArray1
+ IL_0109: ldsfld int32 LocallocTest::locallocSize
+ IL_010e: ldc.i4 3000
+ IL_0113: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0118: brtrue.s L_Verify4
+
+ IL_011a: ldc.i4.1
+ IL_011b: stloc.s retValue
+ IL_011d: br.s L_END
+
+ L_Verify4: ldstr "intArray2"
+ IL_0124: ldloc.s intArray2
+ IL_0126: ldsfld int32 LocallocTest::locallocSize
+ IL_012b: ldc.i4 4000
+ IL_0130: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0135: brtrue.s L_Passed
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_END
+
+ L_Passed: ldstr "Passed"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+ IL_014a: br.s L_END
+
+ L_END: ldloc.s retValue
+ IL_014e: ret
+ } // end of method LocallocTest::func1
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ } // end of method LocallocTest::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method LocallocTest::.ctor
+
+} // end of class LocallocTest
+
+
+// =============================================================
+
+//*********** DISASSEMBLY COMPLETE ***********************
+// WARNING: Created Win32 resource file call04_small.res
diff --git a/tests/src/JIT/jit64/localloc/call/call04_small.ilproj b/tests/src/JIT/jit64/localloc/call/call04_small.ilproj
new file mode 100644
index 0000000000..1fa45b4ca2
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call04_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call04_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call05_dynamic.il b/tests/src/JIT/jit64/localloc/call/call05_dynamic.il
new file mode 100644
index 0000000000..7568b1283e
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_dynamic.il
@@ -0,0 +1,242 @@
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2,
+ int32 V_3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+
+ IL_000c: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0048: stloc.3
+ IL_004b: ldloc.3
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_0043: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0055: stloc.2
+ IL_0058: ldc.i4.1
+ IL_0059: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 1000
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s IL_0048
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s L_END
+
+ IL_0048: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 2000
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s IL_0064
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s L_END
+
+ IL_0064: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 3000
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s L_END
+
+ IL_007f: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 4000
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_PASS
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s L_END
+
+ L_PASS: ldstr "Passed\n"
+ IL_009f: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a4: ldc.i4.s 100
+ IL_00a6: stloc.2
+
+ L_END: ldloc.2
+ IL_00aa: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call05_dynamic.ilproj b/tests/src/JIT/jit64/localloc/call/call05_dynamic.ilproj
new file mode 100644
index 0000000000..41a55b120f
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call05_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call05_large.il b/tests/src/JIT/jit64/localloc/call/call05_large.il
new file mode 100644
index 0000000000..b93c28c39e
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_large.il
@@ -0,0 +1,241 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2,
+ int32 V_3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4 0x1000
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+
+ IL_000c: ldc.i4 0x1000
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0048: stloc.3
+ IL_004b: ldloc.3
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_0043: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0055: stloc.2
+ IL_0058: ldc.i4.1
+ IL_0059: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4 0x1000
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 1000
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s IL_0048
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s L_END
+
+ IL_0048: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 2000
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s IL_0064
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s L_END
+
+ IL_0064: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 3000
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s L_END
+
+ IL_007f: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 4000
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_PASS
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s L_END
+
+ L_PASS: ldstr "Passed\n"
+ IL_009f: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a4: ldc.i4.s 100
+ IL_00a6: stloc.2
+
+ L_END: ldloc.2
+ IL_00aa: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call05_large.ilproj b/tests/src/JIT/jit64/localloc/call/call05_large.ilproj
new file mode 100644
index 0000000000..91aa5427a5
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call05_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call05_small.il b/tests/src/JIT/jit64/localloc/call/call05_small.il
new file mode 100644
index 0000000000..a1b211c6bf
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_small.il
@@ -0,0 +1,243 @@
+// localloc test with jmp
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2,
+ int32 V_3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4.1
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+
+ IL_000c: ldc.i4.1
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0048: stloc.3
+ IL_004b: ldloc.3
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+
+ IL_0043: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_0055: stloc.2
+ IL_0058: ldc.i4.1
+ IL_0059: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray1,
+ int32* intArray2,
+ int32 V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4.1
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldloc.0
+ IL_000d: ldsfld int32 LocallocTest::locallocSize
+ IL_0012: ldc.i4 0xbb8
+ IL_0017: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_001c: ldloc.1
+ IL_001d: ldsfld int32 LocallocTest::locallocSize
+ IL_0022: ldc.i4 0xfa0
+ IL_0027: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002c: ldstr "ar1"
+ IL_0031: ldarg.s ar1
+ IL_0033: ldsfld int32 LocallocTest::locallocSize
+ IL_0038: ldc.i4 1000
+ IL_003d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0042: brtrue.s IL_0048
+
+ IL_0044: ldc.i4.1
+ IL_0045: stloc.2
+ IL_0046: br.s L_END
+
+ IL_0048: ldstr "ar2"
+ IL_004d: ldarg.s ar2
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 2000
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue.s IL_0064
+
+ IL_0060: ldc.i4.1
+ IL_0061: stloc.2
+ IL_0062: br.s L_END
+
+ IL_0064: ldstr "intArray1"
+ IL_0069: ldloc.0
+ IL_006a: ldsfld int32 LocallocTest::locallocSize
+ IL_006f: ldc.i4 3000
+ IL_0074: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.2
+ IL_007d: br.s L_END
+
+ IL_007f: ldstr "intArray2"
+ IL_0084: ldloc.1
+ IL_0085: ldsfld int32 LocallocTest::locallocSize
+ IL_008a: ldc.i4 4000
+ IL_008f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0094: brtrue.s L_PASS
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.2
+ IL_0098: br.s L_END
+
+ L_PASS: ldstr "Passed\n"
+ IL_009f: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a4: ldc.i4.s 100
+ IL_00a6: stloc.2
+
+ L_END: ldloc.2
+ IL_00aa: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call05_small.ilproj b/tests/src/JIT/jit64/localloc/call/call05_small.ilproj
new file mode 100644
index 0000000000..55714133c9
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call05_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call05_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call06_dynamic.il b/tests/src/JIT/jit64/localloc/call/call06_dynamic.il
new file mode 100644
index 0000000000..be5a6f75f7
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_dynamic.il
@@ -0,0 +1,287 @@
+// Test localloc with tail call followed by jump
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: tail. callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (int32 retValue)
+ IL_0000: ldstr "ar1"
+ IL_0005: ldarg.s ar1
+ IL_0007: ldsfld int32 LocallocTest::locallocSize
+ IL_000c: ldc.i4 1000
+ IL_0011: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0016: brtrue.s IL_001c
+
+ IL_0018: ldc.i4.1
+ IL_0019: stloc.0
+ IL_001a: br.s L_END
+
+ IL_001c: ldstr "ar2"
+ IL_0021: ldarg.s ar2
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0032: brtrue.s L_JMP
+
+ IL_0034: ldc.i4.1
+ IL_0035: stloc.0
+ IL_0036: br.s L_END
+
+ L_JMP: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004a: stloc.0
+
+ L_END: ldc.i4.1
+ IL_004e: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldloc.2
+ IL_001c: ldsfld int32 LocallocTest::locallocSize
+ IL_0021: ldc.i4 3000
+ IL_0026: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002b: ldloc.3
+ IL_002c: ldsfld int32 LocallocTest::locallocSize
+ IL_0031: ldc.i4 4000
+ IL_0036: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_003b: ldstr "local1"
+ IL_0040: ldloc.0
+ IL_0041: ldc.i8 0xfedcba9876543210
+ IL_004a: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_004f: brtrue.s IL_0059
+
+ IL_0051: ldc.i4.1
+ IL_0052: stloc.s retValue
+ IL_0054: br L_END
+
+ IL_0059: ldstr "local2"
+ IL_005e: ldloc.1
+ IL_005f: ldc.i8 0xfedcba9876543211
+ IL_0068: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006d: brtrue.s IL_0077
+ IL_006f: ldc.i4.1
+ IL_0070: stloc.s retValue
+ IL_0072: br L_END
+
+ IL_0077: ldstr "ar1"
+ IL_007c: ldarg.s ar1
+ IL_007e: ldsfld int32 LocallocTest::locallocSize
+ IL_0083: ldc.i4 1000
+ IL_0088: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008d: brtrue.s IL_0094
+
+ IL_008f: ldc.i4.1
+ IL_0090: stloc.s retValue
+ IL_0092: br.s L_END
+
+ IL_0094: ldstr "ar2"
+ IL_0099: ldarg.s ar2
+ IL_009b: ldsfld int32 LocallocTest::locallocSize
+ IL_00a0: ldc.i4 2000
+ IL_00a5: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00aa: brtrue.s IL_00b1
+
+ IL_00ac: ldc.i4.1
+ IL_00ad: stloc.s retValue
+ IL_00af: br.s L_END
+
+ IL_00b1: ldstr "intArray1"
+ IL_00b6: ldloc.2
+ IL_00b7: ldsfld int32 LocallocTest::locallocSize
+ IL_00bc: ldc.i4 3000
+ IL_00c1: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_END
+
+ IL_00cd: ldstr "intArray2"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 4000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s L_Passed
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_END
+
+ L_Passed: ldstr "Passed\n"
+ IL_00ee: call void [System.Console]System.Console::WriteLine(string)
+ IL_00f3: ldc.i4.s 100
+ IL_00f5: stloc.s retValue
+
+ L_END: ldloc.s retValue
+ IL_00fb: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call06_dynamic.ilproj b/tests/src/JIT/jit64/localloc/call/call06_dynamic.ilproj
new file mode 100644
index 0000000000..4c9fc0efe1
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call06_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call06_large.il b/tests/src/JIT/jit64/localloc/call/call06_large.il
new file mode 100644
index 0000000000..c454286f21
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_large.il
@@ -0,0 +1,287 @@
+// Test localloc with tail call followed by jump
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4 0x1000
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldc.i4 0x1000
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: tail. callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (int32 retValue)
+ IL_0000: ldstr "ar1"
+ IL_0005: ldarg.s ar1
+ IL_0007: ldsfld int32 LocallocTest::locallocSize
+ IL_000c: ldc.i4 1000
+ IL_0011: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0016: brtrue.s IL_001c
+
+ IL_0018: ldc.i4.1
+ IL_0019: stloc.0
+ IL_001a: br.s L_END
+
+ IL_001c: ldstr "ar2"
+ IL_0021: ldarg.s ar2
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0032: brtrue.s L_JMP
+
+ IL_0034: ldc.i4.1
+ IL_0035: stloc.0
+ IL_0036: br.s L_END
+
+ L_JMP: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004a: stloc.0
+
+ L_END: ldc.i4.1
+ IL_004e: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4 0x1000
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldloc.2
+ IL_001c: ldsfld int32 LocallocTest::locallocSize
+ IL_0021: ldc.i4 3000
+ IL_0026: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002b: ldloc.3
+ IL_002c: ldsfld int32 LocallocTest::locallocSize
+ IL_0031: ldc.i4 4000
+ IL_0036: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_003b: ldstr "local1"
+ IL_0040: ldloc.0
+ IL_0041: ldc.i8 0xfedcba9876543210
+ IL_004a: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_004f: brtrue.s IL_0059
+
+ IL_0051: ldc.i4.1
+ IL_0052: stloc.s retValue
+ IL_0054: br L_END
+
+ IL_0059: ldstr "local2"
+ IL_005e: ldloc.1
+ IL_005f: ldc.i8 0xfedcba9876543211
+ IL_0068: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006d: brtrue.s IL_0077
+ IL_006f: ldc.i4.1
+ IL_0070: stloc.s retValue
+ IL_0072: br L_END
+
+ IL_0077: ldstr "ar1"
+ IL_007c: ldarg.s ar1
+ IL_007e: ldsfld int32 LocallocTest::locallocSize
+ IL_0083: ldc.i4 1000
+ IL_0088: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008d: brtrue.s IL_0094
+
+ IL_008f: ldc.i4.1
+ IL_0090: stloc.s retValue
+ IL_0092: br.s L_END
+
+ IL_0094: ldstr "ar2"
+ IL_0099: ldarg.s ar2
+ IL_009b: ldsfld int32 LocallocTest::locallocSize
+ IL_00a0: ldc.i4 2000
+ IL_00a5: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00aa: brtrue.s IL_00b1
+
+ IL_00ac: ldc.i4.1
+ IL_00ad: stloc.s retValue
+ IL_00af: br.s L_END
+
+ IL_00b1: ldstr "intArray1"
+ IL_00b6: ldloc.2
+ IL_00b7: ldsfld int32 LocallocTest::locallocSize
+ IL_00bc: ldc.i4 3000
+ IL_00c1: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_END
+
+ IL_00cd: ldstr "intArray2"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 4000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s L_Passed
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_END
+
+ L_Passed: ldstr "Passed\n"
+ IL_00ee: call void [System.Console]System.Console::WriteLine(string)
+ IL_00f3: ldc.i4.s 100
+ IL_00f5: stloc.s retValue
+
+ L_END: ldloc.s retValue
+ IL_00fb: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call06_large.ilproj b/tests/src/JIT/jit64/localloc/call/call06_large.ilproj
new file mode 100644
index 0000000000..5579bce628
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call06_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call06_small.il b/tests/src/JIT/jit64/localloc/call/call06_small.il
new file mode 100644
index 0000000000..3acf909b7b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_small.il
@@ -0,0 +1,287 @@
+// Test localloc with tail call followed by jump
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 11
+ .locals (int32* intArray1,
+ int32* intArray2,
+ class LocallocTest V_2)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.0
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4.1
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.1
+ IL_000c: ldc.i4.1
+ IL_000d: stsfld int32 LocallocTest::locallocSize
+ IL_0012: ldloc.0
+ IL_0013: ldsfld int32 LocallocTest::locallocSize
+ IL_0018: ldc.i4 1000
+ IL_001d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0022: ldloc.1
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0032: newobj instance void LocallocTest::.ctor()
+ IL_0037: stloc.2
+ IL_0038: ldloc.2
+ IL_0039: ldc.i4.1
+ IL_003a: ldc.i4.2
+ IL_003b: ldc.i4.3
+ IL_003c: ldc.i4.4
+ IL_003d: ldc.i4.5
+ IL_003e: ldc.i4.6
+ IL_003f: ldc.i4.7
+ IL_0040: ldc.i4.8
+ IL_0041: ldloc.0
+ IL_0042: ldloc.1
+ IL_0043: tail. callvirt instance int32 LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004c: ret
+ }
+
+ .method private hidebysig instance int32
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 11
+ .locals (int32 retValue)
+ IL_0000: ldstr "ar1"
+ IL_0005: ldarg.s ar1
+ IL_0007: ldsfld int32 LocallocTest::locallocSize
+ IL_000c: ldc.i4 1000
+ IL_0011: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0016: brtrue.s IL_001c
+
+ IL_0018: ldc.i4.1
+ IL_0019: stloc.0
+ IL_001a: br.s L_END
+
+ IL_001c: ldstr "ar2"
+ IL_0021: ldarg.s ar2
+ IL_0023: ldsfld int32 LocallocTest::locallocSize
+ IL_0028: ldc.i4 2000
+ IL_002d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0032: brtrue.s L_JMP
+
+ IL_0034: ldc.i4.1
+ IL_0035: stloc.0
+ IL_0036: br.s L_END
+
+ L_JMP: jmp instance int32 LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*,
+ int32*)
+ IL_004a: stloc.0
+
+ L_END: ldc.i4.1
+ IL_004e: ret
+ }
+
+ .method private hidebysig instance int32
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0011: mul
+ IL_0012: localloc
+ IL_0014: stloc.2
+ IL_0015: ldc.i4.4
+ IL_0016: ldc.i4.1
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldloc.2
+ IL_001c: ldsfld int32 LocallocTest::locallocSize
+ IL_0021: ldc.i4 3000
+ IL_0026: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002b: ldloc.3
+ IL_002c: ldsfld int32 LocallocTest::locallocSize
+ IL_0031: ldc.i4 4000
+ IL_0036: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_003b: ldstr "local1"
+ IL_0040: ldloc.0
+ IL_0041: ldc.i8 0xfedcba9876543210
+ IL_004a: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_004f: brtrue.s IL_0059
+
+ IL_0051: ldc.i4.1
+ IL_0052: stloc.s retValue
+ IL_0054: br L_END
+
+ IL_0059: ldstr "local2"
+ IL_005e: ldloc.1
+ IL_005f: ldc.i8 0xfedcba9876543211
+ IL_0068: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006d: brtrue.s IL_0077
+ IL_006f: ldc.i4.1
+ IL_0070: stloc.s retValue
+ IL_0072: br L_END
+
+ IL_0077: ldstr "ar1"
+ IL_007c: ldarg.s ar1
+ IL_007e: ldsfld int32 LocallocTest::locallocSize
+ IL_0083: ldc.i4 1000
+ IL_0088: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008d: brtrue.s IL_0094
+
+ IL_008f: ldc.i4.1
+ IL_0090: stloc.s retValue
+ IL_0092: br.s L_END
+
+ IL_0094: ldstr "ar2"
+ IL_0099: ldarg.s ar2
+ IL_009b: ldsfld int32 LocallocTest::locallocSize
+ IL_00a0: ldc.i4 2000
+ IL_00a5: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00aa: brtrue.s IL_00b1
+
+ IL_00ac: ldc.i4.1
+ IL_00ad: stloc.s retValue
+ IL_00af: br.s L_END
+
+ IL_00b1: ldstr "intArray1"
+ IL_00b6: ldloc.2
+ IL_00b7: ldsfld int32 LocallocTest::locallocSize
+ IL_00bc: ldc.i4 3000
+ IL_00c1: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_END
+
+ IL_00cd: ldstr "intArray2"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 4000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s L_Passed
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_END
+
+ L_Passed: ldstr "Passed\n"
+ IL_00ee: call void [System.Console]System.Console::WriteLine(string)
+ IL_00f3: ldc.i4.s 100
+ IL_00f5: stloc.s retValue
+
+ L_END: ldloc.s retValue
+ IL_00fb: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call06_small.ilproj b/tests/src/JIT/jit64/localloc/call/call06_small.ilproj
new file mode 100644
index 0000000000..7b711432d4
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call06_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call06_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call07_dynamic.il b/tests/src/JIT/jit64/localloc/call/call07_dynamic.il
new file mode 100644
index 0000000000..32fb99b309
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call07_dynamic.il
@@ -0,0 +1,451 @@
+// Test localloc with jump followed by tail call.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call07{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar1,
+ class LocallocTest V_3,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: newobj instance void LocallocTest::.ctor()
+ IL_0038: stloc.3
+ IL_0039: ldloc.3
+ IL_003a: ldc.i4.1
+ IL_003b: ldc.i4.2
+ IL_003c: ldc.i4.3
+ IL_003d: ldc.i4.4
+ IL_003e: ldc.i4.5
+ IL_003f: ldc.i4.6
+ IL_0040: ldc.i4.7
+ IL_0041: ldc.i4.8
+ IL_0042: ldloc.2
+ IL_0043: callvirt instance bool LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_0048: brtrue.s IL_004f
+
+ IL_004a: ldc.i4.1
+ IL_004b: stloc.s retValue
+ IL_004d: br.s L_END
+
+ IL_004f: ldstr "local1"
+ IL_0054: ldloc.0
+ IL_0055: ldc.i8 0xfedcba9876543210
+ IL_005e: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0063: brtrue.s IL_006a
+
+ IL_0065: ldc.i4.1
+ IL_0066: stloc.s retValue
+ IL_0068: br.s L_END
+
+ IL_006a: ldstr "local2"
+ IL_006f: ldloc.1
+ IL_0070: ldc.i8 0xfedcba9876543211
+ IL_0079: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_007e: brtrue.s IL_0085
+
+ IL_0080: ldc.i4.1
+ IL_0081: stloc.s retValue
+ IL_0083: br.s L_END
+
+ IL_0085: ldstr "Passed\n"
+ IL_008a: call void [System.Console]System.Console::WriteLine(string)
+ IL_008f: ldc.i4.s 100
+ IL_0091: stloc.s retValue
+ IL_0093: br.s L_END
+
+ L_END: ldloc.s retValue
+ IL_0097: ret
+ }
+
+ .method private hidebysig instance bool
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 10
+ .locals (bool retValue)
+ IL_0000: ldstr "ar1"
+ IL_0005: ldarg.s ar1
+ IL_0007: ldsfld int32 LocallocTest::locallocSize
+ IL_000c: ldc.i4 1000
+ IL_0011: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0016: brtrue.s L_JUMP
+
+ IL_0018: ldc.i4.0
+ IL_0019: stloc.0
+ IL_001a: br.s IL_002f
+ L_JUMP: jmp instance bool LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_002c: stloc.0
+ IL_002d: br.s IL_002f
+
+ IL_002f: ldc.i4.1
+ IL_0030: ret
+ }
+
+ .method private hidebysig instance bool
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 3
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar2)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldloc.2
+ IL_001a: ldsfld int32 LocallocTest::locallocSize
+ IL_001f: ldc.i4 2000
+ IL_0024: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0029: ldstr "local1"
+ IL_002e: ldloc.0
+ IL_002f: ldc.i8 0xfedcba9876543210
+ IL_0038: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_003d: brtrue.s IL_0043
+
+ IL_003f: ldc.i4.0
+ IL_0041: br.s L_END
+
+ IL_0043: ldstr "local2"
+ IL_0048: ldloc.1
+ IL_0049: ldc.i8 0xfedcba9876543211
+ IL_0052: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0057: brtrue.s IL_005d
+
+ IL_0059: ldc.i4.0
+ IL_005b: br.s L_END
+ IL_005d: ldarg.0
+ IL_005e: ldarg.s ar1
+ IL_0060: ldloc.2
+ IL_0061: call instance bool LocallocTest::func2(int32*,
+ int32*)
+ L_END: ret
+ }
+
+ .method private hidebysig instance bool
+ func2(int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar3,
+ bool retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldloc.2
+ IL_001a: ldsfld int32 LocallocTest::locallocSize
+ IL_001f: ldc.i4 3000
+ IL_0024: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0029: ldstr "local1"
+ IL_002e: ldloc.0
+ IL_002f: ldc.i8 0xfedcba9876543210
+ IL_0038: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_003d: brtrue.s IL_0043
+
+ IL_003f: ldc.i4.0
+ IL_0040: stloc.3
+ IL_0041: br IL_00d3
+
+ IL_0043: ldstr "local2"
+ IL_0048: ldloc.1
+ IL_0049: ldc.i8 0xfedcba9876543211
+ IL_0052: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0057: brtrue.s IL_005d
+
+ IL_0059: ldc.i4.0
+ IL_005a: stloc.3
+ IL_005b: br IL_00d3
+ IL_005d: ldstr "ar1"
+ IL_0062: ldarg.1
+ IL_0063: ldsfld int32 LocallocTest::locallocSize
+ IL_0068: ldc.i4 1000
+ IL_006d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0072: brtrue.s IL_0078
+
+ IL_0074: ldc.i4.0
+ IL_0075: stloc.3
+ IL_0076: br IL_00d3
+
+ IL_0078: ldstr "ar2"
+ IL_007d: ldarg.2
+ IL_007e: ldsfld int32 LocallocTest::locallocSize
+ IL_0083: ldc.i4 2000
+ IL_0088: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008d: brtrue.s IL_0093
+
+ IL_008f: ldc.i4.0
+ IL_0090: stloc.3
+ IL_0091: br IL_00d3
+
+ IL_0093: ldstr "ar3"
+ IL_0098: ldloc.2
+ IL_0099: ldsfld int32 LocallocTest::locallocSize
+ IL_009e: ldc.i4 3000
+ IL_00a3: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00b4: brtrue.s IL_00bd
+
+ IL_00b6: ldc.i4.0
+ IL_00b7: stloc.3
+ IL_00b8: br IL_00d3
+
+ IL_00bd: ldarg.0
+ IL_00be: ldc.i4 0x1f4
+ IL_00c3: ldarg ar1
+ IL_00c7: ldarg ar2
+ IL_00cb: call instance bool LocallocTest::func3(int32,
+ int32*,
+ int32*)
+ IL_00d0: stloc.3
+ IL_00d1: br.s IL_00d3
+
+ IL_00d3: ldloc.3
+ IL_00d4: ret
+ }
+
+ .method private hidebysig instance bool
+ func3(int32 n,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals init ([0] int32* ar3,
+ [1] int32* ar4,
+ [2] int32 iter)
+
+ IL_0000: ldarg.s n
+ IL_0002: stloc.s iter
+
+ IL_0004: ldloc.s iter
+ IL_0006: ldc.i4.1
+ IL_0007: bgt.s IL_000c
+
+ IL_0009: ldloc.s iter
+ IL_000b: ret
+
+ IL_000c: ldc.i4.4
+ IL_000d: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0012: mul
+ IL_0013: localloc
+ IL_0015: stloc ar3
+ IL_0019: ldloc.s ar3
+ IL_001b: ldsfld int32 LocallocTest::locallocSize
+ IL_0020: ldc.i4 0xbb8
+ IL_0025: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002a: ldc.i4.4
+ IL_002b: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0030: mul
+ IL_0031: localloc
+ IL_0033: stloc.s ar4
+ IL_0035: ldloc.s ar4
+ IL_0037: ldsfld int32 LocallocTest::locallocSize
+ IL_003c: ldc.i4 0xfa0
+ IL_0041: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0046: ldstr "ar1"
+ IL_004b: ldarg ar1
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0x3e8
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue IL_006d
+
+ IL_0063: ldc.i4.0
+ IL_0064: stloc iter
+ IL_0068: br IL_00ec
+
+ IL_006d: ldstr "ar2"
+ IL_0072: ldarg ar2
+ IL_0076: ldsfld int32 LocallocTest::locallocSize
+ IL_007b: ldc.i4 0x7d0
+ IL_0080: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0085: brtrue IL_0094
+
+ IL_008a: ldc.i4.0
+ IL_008b: stloc iter
+ IL_008f: br IL_00ec
+
+ IL_0094: ldstr "ar3"
+ IL_0099: ldloc ar3
+ IL_009d: ldsfld int32 LocallocTest::locallocSize
+ IL_00a2: ldc.i4 0xbb8
+ IL_00a7: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ac: brtrue IL_00bb
+
+ IL_00b1: ldc.i4.0
+ IL_00b2: stloc iter
+ IL_00b6: br IL_00ec
+
+ IL_00bb: ldstr "ar4"
+ IL_00c0: ldloc ar4
+ IL_00c4: ldsfld int32 LocallocTest::locallocSize
+ IL_00c9: ldc.i4 0xfa0
+ IL_00ce: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00d3: brtrue IL_00e2
+
+ IL_00d8: ldc.i4.0
+ IL_00d9: stloc iter
+ IL_00dd: br IL_00ec
+
+ IL_00e2: ldc.i4.m1
+ IL_00e3: ldloc iter
+ IL_00e7: add
+ IL_00e8: stloc iter
+
+ IL_00ec: ldarg.0
+ IL_00ed: ldloc iter
+ IL_00f1: ldarg ar1
+ IL_00f5: ldarg ar2
+ IL_00f9: tail.
+ IL_00fb: call instance bool LocallocTest::func3(int32,
+ int32*,
+ int32*)
+ IL_0100: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call07_dynamic.ilproj b/tests/src/JIT/jit64/localloc/call/call07_dynamic.ilproj
new file mode 100644
index 0000000000..e7d12b8ed1
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call07_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call07_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/call/call07_small.il b/tests/src/JIT/jit64/localloc/call/call07_small.il
new file mode 100644
index 0000000000..e1ea33e1eb
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call07_small.il
@@ -0,0 +1,451 @@
+// Test localloc with jump followed by tail call.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly call07{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 10
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar1,
+ class LocallocTest V_3,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4.1
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: newobj instance void LocallocTest::.ctor()
+ IL_0038: stloc.3
+ IL_0039: ldloc.3
+ IL_003a: ldc.i4.1
+ IL_003b: ldc.i4.2
+ IL_003c: ldc.i4.3
+ IL_003d: ldc.i4.4
+ IL_003e: ldc.i4.5
+ IL_003f: ldc.i4.6
+ IL_0040: ldc.i4.7
+ IL_0041: ldc.i4.8
+ IL_0042: ldloc.2
+ IL_0043: callvirt instance bool LocallocTest::func0(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_0048: brtrue.s IL_004f
+
+ IL_004a: ldc.i4.1
+ IL_004b: stloc.s retValue
+ IL_004d: br.s L_END
+
+ IL_004f: ldstr "local1"
+ IL_0054: ldloc.0
+ IL_0055: ldc.i8 0xfedcba9876543210
+ IL_005e: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0063: brtrue.s IL_006a
+
+ IL_0065: ldc.i4.1
+ IL_0066: stloc.s retValue
+ IL_0068: br.s L_END
+
+ IL_006a: ldstr "local2"
+ IL_006f: ldloc.1
+ IL_0070: ldc.i8 0xfedcba9876543211
+ IL_0079: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_007e: brtrue.s IL_0085
+
+ IL_0080: ldc.i4.1
+ IL_0081: stloc.s retValue
+ IL_0083: br.s L_END
+
+ IL_0085: ldstr "Passed\n"
+ IL_008a: call void [System.Console]System.Console::WriteLine(string)
+ IL_008f: ldc.i4.s 100
+ IL_0091: stloc.s retValue
+ IL_0093: br.s L_END
+
+ L_END: ldloc.s retValue
+ IL_0097: ret
+ }
+
+ .method private hidebysig instance bool
+ func0(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 10
+ .locals (bool retValue)
+ IL_0000: ldstr "ar1"
+ IL_0005: ldarg.s ar1
+ IL_0007: ldsfld int32 LocallocTest::locallocSize
+ IL_000c: ldc.i4 1000
+ IL_0011: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0016: brtrue.s L_JUMP
+
+ IL_0018: ldc.i4.0
+ IL_0019: stloc.0
+ IL_001a: br.s IL_002f
+ L_JUMP: jmp instance bool LocallocTest::func1(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32*)
+ IL_002c: stloc.0
+ IL_002d: br.s IL_002f
+
+ IL_002f: ldc.i4.1
+ IL_0030: ret
+ }
+
+ .method private hidebysig instance bool
+ func1(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32* ar1) cil managed
+ {
+ .maxstack 3
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar2)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldloc.2
+ IL_001a: ldsfld int32 LocallocTest::locallocSize
+ IL_001f: ldc.i4 2000
+ IL_0024: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0029: ldstr "local1"
+ IL_002e: ldloc.0
+ IL_002f: ldc.i8 0xfedcba9876543210
+ IL_0038: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_003d: brtrue.s IL_0043
+
+ IL_003f: ldc.i4.0
+ IL_0041: br.s L_END
+
+ IL_0043: ldstr "local2"
+ IL_0048: ldloc.1
+ IL_0049: ldc.i8 0xfedcba9876543211
+ IL_0052: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0057: brtrue.s IL_005d
+
+ IL_0059: ldc.i4.0
+ IL_005b: br.s L_END
+ IL_005d: ldarg.0
+ IL_005e: ldarg.s ar1
+ IL_0060: ldloc.2
+ IL_0061: call instance bool LocallocTest::func2(int32*,
+ int32*)
+ L_END: ret
+ }
+
+ .method private hidebysig instance bool
+ func2(int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* ar3,
+ bool retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4.1
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldloc.2
+ IL_001a: ldsfld int32 LocallocTest::locallocSize
+ IL_001f: ldc.i4 3000
+ IL_0024: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0029: ldstr "local1"
+ IL_002e: ldloc.0
+ IL_002f: ldc.i8 0xfedcba9876543210
+ IL_0038: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_003d: brtrue.s IL_0043
+
+ IL_003f: ldc.i4.0
+ IL_0040: stloc.3
+ IL_0041: br IL_00d3
+
+ IL_0043: ldstr "local2"
+ IL_0048: ldloc.1
+ IL_0049: ldc.i8 0xfedcba9876543211
+ IL_0052: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0057: brtrue.s IL_005d
+
+ IL_0059: ldc.i4.0
+ IL_005a: stloc.3
+ IL_005b: br IL_00d3
+ IL_005d: ldstr "ar1"
+ IL_0062: ldarg.1
+ IL_0063: ldsfld int32 LocallocTest::locallocSize
+ IL_0068: ldc.i4 1000
+ IL_006d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0072: brtrue.s IL_0078
+
+ IL_0074: ldc.i4.0
+ IL_0075: stloc.3
+ IL_0076: br IL_00d3
+
+ IL_0078: ldstr "ar2"
+ IL_007d: ldarg.2
+ IL_007e: ldsfld int32 LocallocTest::locallocSize
+ IL_0083: ldc.i4 2000
+ IL_0088: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008d: brtrue.s IL_0093
+
+ IL_008f: ldc.i4.0
+ IL_0090: stloc.3
+ IL_0091: br IL_00d3
+
+ IL_0093: ldstr "ar3"
+ IL_0098: ldloc.2
+ IL_0099: ldsfld int32 LocallocTest::locallocSize
+ IL_009e: ldc.i4 3000
+ IL_00a3: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00b4: brtrue.s IL_00bd
+
+ IL_00b6: ldc.i4.0
+ IL_00b7: stloc.3
+ IL_00b8: br IL_00d3
+
+ IL_00bd: ldarg.0
+ IL_00be: ldc.i4 0x1f4
+ IL_00c3: ldarg ar1
+ IL_00c7: ldarg ar2
+ IL_00cb: call instance bool LocallocTest::func3(int32,
+ int32*,
+ int32*)
+ IL_00d0: stloc.3
+ IL_00d1: br.s IL_00d3
+
+ IL_00d3: ldloc.3
+ IL_00d4: ret
+ }
+
+ .method private hidebysig instance bool
+ func3(int32 n,
+ int32* ar1,
+ int32* ar2) cil managed
+ {
+ .maxstack 4
+ .locals init ([0] int32* ar3,
+ [1] int32* ar4,
+ [2] int32 iter)
+
+ IL_0000: ldarg.s n
+ IL_0002: stloc.s iter
+
+ IL_0004: ldloc.s iter
+ IL_0006: ldc.i4.1
+ IL_0007: bgt.s IL_000c
+
+ IL_0009: ldloc.s iter
+ IL_000b: ret
+
+ IL_000c: ldc.i4.4
+ IL_000d: ldc.i4.1
+ IL_0012: mul
+ IL_0013: localloc
+ IL_0015: stloc ar3
+ IL_0019: ldloc.s ar3
+ IL_001b: ldsfld int32 LocallocTest::locallocSize
+ IL_0020: ldc.i4 0xbb8
+ IL_0025: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_002a: ldc.i4.4
+ IL_002b: ldc.i4.1
+ IL_0030: mul
+ IL_0031: localloc
+ IL_0033: stloc.s ar4
+ IL_0035: ldloc.s ar4
+ IL_0037: ldsfld int32 LocallocTest::locallocSize
+ IL_003c: ldc.i4 0xfa0
+ IL_0041: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0046: ldstr "ar1"
+ IL_004b: ldarg ar1
+ IL_004f: ldsfld int32 LocallocTest::locallocSize
+ IL_0054: ldc.i4 0x3e8
+ IL_0059: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005e: brtrue IL_006d
+
+ IL_0063: ldc.i4.0
+ IL_0064: stloc iter
+ IL_0068: br IL_00ec
+
+ IL_006d: ldstr "ar2"
+ IL_0072: ldarg ar2
+ IL_0076: ldsfld int32 LocallocTest::locallocSize
+ IL_007b: ldc.i4 0x7d0
+ IL_0080: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0085: brtrue IL_0094
+
+ IL_008a: ldc.i4.0
+ IL_008b: stloc iter
+ IL_008f: br IL_00ec
+
+ IL_0094: ldstr "ar3"
+ IL_0099: ldloc ar3
+ IL_009d: ldsfld int32 LocallocTest::locallocSize
+ IL_00a2: ldc.i4 0xbb8
+ IL_00a7: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ac: brtrue IL_00bb
+
+ IL_00b1: ldc.i4.0
+ IL_00b2: stloc iter
+ IL_00b6: br IL_00ec
+
+ IL_00bb: ldstr "ar4"
+ IL_00c0: ldloc ar4
+ IL_00c4: ldsfld int32 LocallocTest::locallocSize
+ IL_00c9: ldc.i4 0xfa0
+ IL_00ce: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00d3: brtrue IL_00e2
+
+ IL_00d8: ldc.i4.0
+ IL_00d9: stloc iter
+ IL_00dd: br IL_00ec
+
+ IL_00e2: ldc.i4.m1
+ IL_00e3: ldloc iter
+ IL_00e7: add
+ IL_00e8: stloc iter
+
+ IL_00ec: ldarg.0
+ IL_00ed: ldloc iter
+ IL_00f1: ldarg ar1
+ IL_00f5: ldarg ar2
+ IL_00f9: tail.
+ IL_00fb: call instance bool LocallocTest::func3(int32,
+ int32*,
+ int32*)
+ IL_0100: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/call/call07_small.ilproj b/tests/src/JIT/jit64/localloc/call/call07_small.ilproj
new file mode 100644
index 0000000000..4ef64e14c0
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/call/call07_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="call07_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/app.config b/tests/src/JIT/jit64/localloc/eh/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.il b/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.il
new file mode 100644
index 0000000000..0a1085f31b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.il
@@ -0,0 +1,212 @@
+// Test localloc with filter + handler construct.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ filter
+ {
+ ldstr "In filter block"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: pop
+ IL_005d: ldstr "intArray1"
+ IL_0062: ldloc.3
+ IL_0063: ldsfld int32 LocallocTest::locallocSize
+ IL_0068: ldc.i4 1000
+ IL_006d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0072: brtrue.s IL_0076
+
+ IL_0074: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0076: ldstr "intArray2"
+ IL_007b: ldloc.s intArray2
+ IL_007d: ldsfld int32 LocallocTest::locallocSize
+ IL_0082: ldc.i4 2000
+ IL_0087: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008c: brtrue.s IL_0090
+
+ IL_008e: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0090: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ ldstr "In handler block"
+ call void [System.Console]System.Console::WriteLine(string)
+ pop
+ ldstr "intArray1"
+ IL_0095: ldloc.3
+ IL_0096: ldsfld int32 LocallocTest::locallocSize
+ IL_009b: ldc.i4 1000
+ IL_00a0: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00a5: brtrue.s IL_00a9
+
+ IL_00a7: ldc.i4.0
+ IL_00a8: stloc.0
+ IL_00a9: ldstr "intArray2"
+ IL_00ae: ldloc.s intArray2
+ IL_00b0: ldsfld int32 LocallocTest::locallocSize
+ IL_00b5: ldc.i4 2000
+ IL_00ba: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00bf: brtrue.s IL_00c3
+
+ IL_00c1: ldc.i4.0
+ IL_00c2: stloc.0
+ IL_00c3: leave.s IL_00c5
+ }
+ IL_00c5: ldloc.0
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_RET
+ IL_00cd: ldstr "intArray1"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 1000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s IL_00e9
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_RET
+
+ IL_00e9: ldstr "intArray2"
+ IL_00ee: ldloc.s intArray2
+ IL_00f0: ldsfld int32 LocallocTest::locallocSize
+ IL_00f5: ldc.i4 2000
+ IL_00fa: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ff: brtrue.s IL_0106
+
+ IL_0101: ldc.i4.1
+ IL_0102: stloc.s retValue
+ IL_0104: br.s L_RET
+ IL_0106: ldstr "local1"
+ IL_010b: ldloc.1
+ IL_010c: ldc.i8 0xfedcba9876543210
+ IL_0115: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_011a: brtrue.s IL_0121
+
+ IL_011c: ldc.i4.1
+ IL_011d: stloc.s retValue
+ IL_011f: br.s L_RET
+
+ IL_0121: ldstr "local2"
+ IL_0126: ldloc.2
+ IL_0127: ldc.i8 0xfedcba9876543211
+ IL_0130: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0135: brtrue.s IL_013c
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_RET
+
+ IL_013c: ldstr "Passed\n"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+
+ L_RET: ldloc.s retValue
+ IL_014e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.ilproj b/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.ilproj
new file mode 100644
index 0000000000..e75ba6e9b8
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh03_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_large.il b/tests/src/JIT/jit64/localloc/eh/eh03_large.il
new file mode 100644
index 0000000000..9d00874ea8
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_large.il
@@ -0,0 +1,212 @@
+// Test localloc with filter + handler construct.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldc.i4 0x1000
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldc.i4 0x1000
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldc.i4 0x1000
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ filter
+ {
+ ldstr "In filter block"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: pop
+ IL_005d: ldstr "intArray1"
+ IL_0062: ldloc.3
+ IL_0063: ldsfld int32 LocallocTest::locallocSize
+ IL_0068: ldc.i4 1000
+ IL_006d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0072: brtrue.s IL_0076
+
+ IL_0074: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0076: ldstr "intArray2"
+ IL_007b: ldloc.s intArray2
+ IL_007d: ldsfld int32 LocallocTest::locallocSize
+ IL_0082: ldc.i4 2000
+ IL_0087: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008c: brtrue.s IL_0090
+
+ IL_008e: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0090: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ ldstr "In handler block"
+ call void [System.Console]System.Console::WriteLine(string)
+ pop
+ ldstr "intArray1"
+ IL_0095: ldloc.3
+ IL_0096: ldsfld int32 LocallocTest::locallocSize
+ IL_009b: ldc.i4 1000
+ IL_00a0: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00a5: brtrue.s IL_00a9
+
+ IL_00a7: ldc.i4.0
+ IL_00a8: stloc.0
+ IL_00a9: ldstr "intArray2"
+ IL_00ae: ldloc.s intArray2
+ IL_00b0: ldsfld int32 LocallocTest::locallocSize
+ IL_00b5: ldc.i4 2000
+ IL_00ba: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00bf: brtrue.s IL_00c3
+
+ IL_00c1: ldc.i4.0
+ IL_00c2: stloc.0
+ IL_00c3: leave.s IL_00c5
+ }
+ IL_00c5: ldloc.0
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_RET
+ IL_00cd: ldstr "intArray1"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 1000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s IL_00e9
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_RET
+
+ IL_00e9: ldstr "intArray2"
+ IL_00ee: ldloc.s intArray2
+ IL_00f0: ldsfld int32 LocallocTest::locallocSize
+ IL_00f5: ldc.i4 2000
+ IL_00fa: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ff: brtrue.s IL_0106
+
+ IL_0101: ldc.i4.1
+ IL_0102: stloc.s retValue
+ IL_0104: br.s L_RET
+ IL_0106: ldstr "local1"
+ IL_010b: ldloc.1
+ IL_010c: ldc.i8 0xfedcba9876543210
+ IL_0115: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_011a: brtrue.s IL_0121
+
+ IL_011c: ldc.i4.1
+ IL_011d: stloc.s retValue
+ IL_011f: br.s L_RET
+
+ IL_0121: ldstr "local2"
+ IL_0126: ldloc.2
+ IL_0127: ldc.i8 0xfedcba9876543211
+ IL_0130: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0135: brtrue.s IL_013c
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_RET
+
+ IL_013c: ldstr "Passed\n"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+
+ L_RET: ldloc.s retValue
+ IL_014e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_large.ilproj b/tests/src/JIT/jit64/localloc/eh/eh03_large.ilproj
new file mode 100644
index 0000000000..6c4a9f9d83
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh03_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_small.il b/tests/src/JIT/jit64/localloc/eh/eh03_small.il
new file mode 100644
index 0000000000..6438a15182
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_small.il
@@ -0,0 +1,212 @@
+// Test localloc with filter + handler construct.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common {}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldc.i4.1
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldc.i4.1
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldc.i4.1
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ filter
+ {
+ ldstr "In filter block"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: pop
+ IL_005d: ldstr "intArray1"
+ IL_0062: ldloc.3
+ IL_0063: ldsfld int32 LocallocTest::locallocSize
+ IL_0068: ldc.i4 1000
+ IL_006d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0072: brtrue.s IL_0076
+
+ IL_0074: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0076: ldstr "intArray2"
+ IL_007b: ldloc.s intArray2
+ IL_007d: ldsfld int32 LocallocTest::locallocSize
+ IL_0082: ldc.i4 2000
+ IL_0087: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008c: brtrue.s IL_0090
+
+ IL_008e: ldc.i4.0
+ br.s L_ENDFILTER
+ IL_0090: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ ldstr "In handler block"
+ call void [System.Console]System.Console::WriteLine(string)
+ pop
+ ldstr "intArray1"
+ IL_0095: ldloc.3
+ IL_0096: ldsfld int32 LocallocTest::locallocSize
+ IL_009b: ldc.i4 1000
+ IL_00a0: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00a5: brtrue.s IL_00a9
+
+ IL_00a7: ldc.i4.0
+ IL_00a8: stloc.0
+ IL_00a9: ldstr "intArray2"
+ IL_00ae: ldloc.s intArray2
+ IL_00b0: ldsfld int32 LocallocTest::locallocSize
+ IL_00b5: ldc.i4 2000
+ IL_00ba: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00bf: brtrue.s IL_00c3
+
+ IL_00c1: ldc.i4.0
+ IL_00c2: stloc.0
+ IL_00c3: leave.s IL_00c5
+ }
+ IL_00c5: ldloc.0
+ IL_00c6: brtrue.s IL_00cd
+
+ IL_00c8: ldc.i4.1
+ IL_00c9: stloc.s retValue
+ IL_00cb: br.s L_RET
+ IL_00cd: ldstr "intArray1"
+ IL_00d2: ldloc.3
+ IL_00d3: ldsfld int32 LocallocTest::locallocSize
+ IL_00d8: ldc.i4 1000
+ IL_00dd: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00e2: brtrue.s IL_00e9
+
+ IL_00e4: ldc.i4.1
+ IL_00e5: stloc.s retValue
+ IL_00e7: br.s L_RET
+
+ IL_00e9: ldstr "intArray2"
+ IL_00ee: ldloc.s intArray2
+ IL_00f0: ldsfld int32 LocallocTest::locallocSize
+ IL_00f5: ldc.i4 2000
+ IL_00fa: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00ff: brtrue.s IL_0106
+
+ IL_0101: ldc.i4.1
+ IL_0102: stloc.s retValue
+ IL_0104: br.s L_RET
+ IL_0106: ldstr "local1"
+ IL_010b: ldloc.1
+ IL_010c: ldc.i8 0xfedcba9876543210
+ IL_0115: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_011a: brtrue.s IL_0121
+
+ IL_011c: ldc.i4.1
+ IL_011d: stloc.s retValue
+ IL_011f: br.s L_RET
+
+ IL_0121: ldstr "local2"
+ IL_0126: ldloc.2
+ IL_0127: ldc.i8 0xfedcba9876543211
+ IL_0130: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0135: brtrue.s IL_013c
+
+ IL_0137: ldc.i4.1
+ IL_0138: stloc.s retValue
+ IL_013a: br.s L_RET
+
+ IL_013c: ldstr "Passed\n"
+ IL_0141: call void [System.Console]System.Console::WriteLine(string)
+ IL_0146: ldc.i4.s 100
+ IL_0148: stloc.s retValue
+
+ L_RET: ldloc.s retValue
+ IL_014e: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/eh/eh03_small.ilproj b/tests/src/JIT/jit64/localloc/eh/eh03_small.ilproj
new file mode 100644
index 0000000000..272044bb13
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh03_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh03_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.il b/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.il
new file mode 100644
index 0000000000..17336bc74f
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.il
@@ -0,0 +1,192 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: ldstr "intArray1"
+ IL_0061: ldloc.3
+ IL_0062: ldsfld int32 LocallocTest::locallocSize
+ IL_0067: ldc.i4 1000
+ IL_006c: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0071: brtrue.s IL_0075
+
+ IL_0073: ldc.i4.0
+ IL_0074: stloc.0
+ IL_0075: ldstr "intArray2"
+ IL_007a: ldloc.s intArray2
+ IL_007c: ldsfld int32 LocallocTest::locallocSize
+ IL_0081: ldc.i4 2000
+ IL_0086: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008b: brtrue.s IL_008f
+
+ IL_008d: ldc.i4.0
+ IL_008e: stloc.0
+ IL_008f: endfault
+ }
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0090: pop
+ IL_0091: leave.s IL_0093
+
+ }
+ IL_0093: ldloc.0
+ IL_0094: brtrue.s IL_009b
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.s retValue
+ IL_0099: br.s IL_011a
+ IL_009b: ldstr "intArray1"
+ IL_00a0: ldloc.3
+ IL_00a1: ldsfld int32 LocallocTest::locallocSize
+ IL_00a6: ldc.i4 1000
+ IL_00ab: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00b0: brtrue.s IL_00b7
+
+ IL_00b2: ldc.i4.1
+ IL_00b3: stloc.s retValue
+ IL_00b5: br.s IL_011a
+
+ IL_00b7: ldstr "intArray2"
+ IL_00bc: ldloc.s intArray2
+ IL_00be: ldsfld int32 LocallocTest::locallocSize
+ IL_00c3: ldc.i4 2000
+ IL_00c8: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00cd: brtrue.s IL_00d4
+
+ IL_00cf: ldc.i4.1
+ IL_00d0: stloc.s retValue
+ IL_00d2: br.s IL_011a
+ IL_00d4: ldstr "local1"
+ IL_00d9: ldloc.1
+ IL_00da: ldc.i8 0xfedcba9876543210
+ IL_00e3: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_00e8: brtrue.s IL_00ef
+
+ IL_00ea: ldc.i4.1
+ IL_00eb: stloc.s retValue
+ IL_00ed: br.s IL_011a
+
+ IL_00ef: ldstr "local2"
+ IL_00f4: ldloc.2
+ IL_00f5: ldc.i8 0xfedcba9876543211
+ IL_00fe: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0103: brtrue.s IL_010a
+
+ IL_0105: ldc.i4.1
+ IL_0106: stloc.s retValue
+ IL_0108: br.s IL_011a
+
+ IL_010a: ldstr "Passed\n"
+ IL_010f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0114: ldc.i4.s 100
+ IL_0116: stloc.s retValue
+ IL_0118: br.s IL_011a
+
+ IL_011a: ldloc.s retValue
+ IL_011c: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.ilproj b/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.ilproj
new file mode 100644
index 0000000000..e236646501
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh04_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_large.il b/tests/src/JIT/jit64/localloc/eh/eh04_large.il
new file mode 100644
index 0000000000..9587ab1625
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_large.il
@@ -0,0 +1,192 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldc.i4 0x1000
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldc.i4 0x1000
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldc.i4 0x1000
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: ldstr "intArray1"
+ IL_0061: ldloc.3
+ IL_0062: ldsfld int32 LocallocTest::locallocSize
+ IL_0067: ldc.i4 1000
+ IL_006c: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0071: brtrue.s IL_0075
+
+ IL_0073: ldc.i4.0
+ IL_0074: stloc.0
+ IL_0075: ldstr "intArray2"
+ IL_007a: ldloc.s intArray2
+ IL_007c: ldsfld int32 LocallocTest::locallocSize
+ IL_0081: ldc.i4 2000
+ IL_0086: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008b: brtrue.s IL_008f
+
+ IL_008d: ldc.i4.0
+ IL_008e: stloc.0
+ IL_008f: endfault
+ }
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0090: pop
+ IL_0091: leave.s IL_0093
+
+ }
+ IL_0093: ldloc.0
+ IL_0094: brtrue.s IL_009b
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.s retValue
+ IL_0099: br.s IL_011a
+ IL_009b: ldstr "intArray1"
+ IL_00a0: ldloc.3
+ IL_00a1: ldsfld int32 LocallocTest::locallocSize
+ IL_00a6: ldc.i4 1000
+ IL_00ab: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00b0: brtrue.s IL_00b7
+
+ IL_00b2: ldc.i4.1
+ IL_00b3: stloc.s retValue
+ IL_00b5: br.s IL_011a
+
+ IL_00b7: ldstr "intArray2"
+ IL_00bc: ldloc.s intArray2
+ IL_00be: ldsfld int32 LocallocTest::locallocSize
+ IL_00c3: ldc.i4 2000
+ IL_00c8: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00cd: brtrue.s IL_00d4
+
+ IL_00cf: ldc.i4.1
+ IL_00d0: stloc.s retValue
+ IL_00d2: br.s IL_011a
+ IL_00d4: ldstr "local1"
+ IL_00d9: ldloc.1
+ IL_00da: ldc.i8 0xfedcba9876543210
+ IL_00e3: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_00e8: brtrue.s IL_00ef
+
+ IL_00ea: ldc.i4.1
+ IL_00eb: stloc.s retValue
+ IL_00ed: br.s IL_011a
+
+ IL_00ef: ldstr "local2"
+ IL_00f4: ldloc.2
+ IL_00f5: ldc.i8 0xfedcba9876543211
+ IL_00fe: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0103: brtrue.s IL_010a
+
+ IL_0105: ldc.i4.1
+ IL_0106: stloc.s retValue
+ IL_0108: br.s IL_011a
+
+ IL_010a: ldstr "Passed\n"
+ IL_010f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0114: ldc.i4.s 100
+ IL_0116: stloc.s retValue
+ IL_0118: br.s IL_011a
+
+ IL_011a: ldloc.s retValue
+ IL_011c: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_large.ilproj b/tests/src/JIT/jit64/localloc/eh/eh04_large.ilproj
new file mode 100644
index 0000000000..ec171caa5b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh04_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_small.il b/tests/src/JIT/jit64/localloc/eh/eh04_small.il
new file mode 100644
index 0000000000..c6df9b7c8d
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_small.il
@@ -0,0 +1,192 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (bool testPassed,
+ unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32* intArray2,
+ int32 retValue)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: ldc.i8 0xfedcba9876543210
+ IL_000b: stloc.1
+ IL_000c: ldloc.1
+ IL_000d: ldc.i4.1
+ IL_000e: conv.i8
+ IL_000f: add
+ IL_0010: stloc.2
+ IL_0011: ldc.i4.4
+ IL_0012: ldc.i4.1
+ IL_0017: mul
+ IL_0018: localloc
+ IL_001a: stloc.3
+ IL_001b: ldc.i4.4
+ IL_001c: ldc.i4.1
+ IL_0021: mul
+ IL_0022: localloc
+ IL_0024: stloc.s intArray2
+ IL_0026: ldc.i4.1
+ IL_002b: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ .try
+ {
+ IL_0030: ldloc.3
+ IL_0031: ldsfld int32 LocallocTest::locallocSize
+ IL_0036: ldc.i4 1000
+ IL_003b: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0040: ldloc.s intArray2
+ IL_0042: ldsfld int32 LocallocTest::locallocSize
+ IL_0047: ldc.i4 2000
+ IL_004c: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0051: ldstr "Test Exception"
+ IL_0056: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_005b: throw
+
+ }
+ fault
+ {
+ ldstr "In fault"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_005c: ldstr "intArray1"
+ IL_0061: ldloc.3
+ IL_0062: ldsfld int32 LocallocTest::locallocSize
+ IL_0067: ldc.i4 1000
+ IL_006c: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0071: brtrue.s IL_0075
+
+ IL_0073: ldc.i4.0
+ IL_0074: stloc.0
+ IL_0075: ldstr "intArray2"
+ IL_007a: ldloc.s intArray2
+ IL_007c: ldsfld int32 LocallocTest::locallocSize
+ IL_0081: ldc.i4 2000
+ IL_0086: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_008b: brtrue.s IL_008f
+
+ IL_008d: ldc.i4.0
+ IL_008e: stloc.0
+ IL_008f: endfault
+ }
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0090: pop
+ IL_0091: leave.s IL_0093
+
+ }
+ IL_0093: ldloc.0
+ IL_0094: brtrue.s IL_009b
+
+ IL_0096: ldc.i4.1
+ IL_0097: stloc.s retValue
+ IL_0099: br.s IL_011a
+ IL_009b: ldstr "intArray1"
+ IL_00a0: ldloc.3
+ IL_00a1: ldsfld int32 LocallocTest::locallocSize
+ IL_00a6: ldc.i4 1000
+ IL_00ab: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00b0: brtrue.s IL_00b7
+
+ IL_00b2: ldc.i4.1
+ IL_00b3: stloc.s retValue
+ IL_00b5: br.s IL_011a
+
+ IL_00b7: ldstr "intArray2"
+ IL_00bc: ldloc.s intArray2
+ IL_00be: ldsfld int32 LocallocTest::locallocSize
+ IL_00c3: ldc.i4 2000
+ IL_00c8: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_00cd: brtrue.s IL_00d4
+
+ IL_00cf: ldc.i4.1
+ IL_00d0: stloc.s retValue
+ IL_00d2: br.s IL_011a
+ IL_00d4: ldstr "local1"
+ IL_00d9: ldloc.1
+ IL_00da: ldc.i8 0xfedcba9876543210
+ IL_00e3: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_00e8: brtrue.s IL_00ef
+
+ IL_00ea: ldc.i4.1
+ IL_00eb: stloc.s retValue
+ IL_00ed: br.s IL_011a
+
+ IL_00ef: ldstr "local2"
+ IL_00f4: ldloc.2
+ IL_00f5: ldc.i8 0xfedcba9876543211
+ IL_00fe: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0103: brtrue.s IL_010a
+
+ IL_0105: ldc.i4.1
+ IL_0106: stloc.s retValue
+ IL_0108: br.s IL_011a
+
+ IL_010a: ldstr "Passed\n"
+ IL_010f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0114: ldc.i4.s 100
+ IL_0116: stloc.s retValue
+ IL_0118: br.s IL_011a
+
+ IL_011a: ldloc.s retValue
+ IL_011c: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/eh/eh04_small.ilproj b/tests/src/JIT/jit64/localloc/eh/eh04_small.ilproj
new file mode 100644
index 0000000000..a3672e86c4
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/eh/eh04_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh04_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh05_large.il b/tests/src/JIT/jit64/localloc/ehverify/eh05_large.il
new file mode 100644
index 0000000000..23df4797f3
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh05_large.il
@@ -0,0 +1,100 @@
+// Test localloc in catch block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try
+ {
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0015: pop
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0016: leave.s IL_0018
+
+ }
+ IL_0018: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh05_large.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh05_large.ilproj
new file mode 100644
index 0000000000..308d340b15
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh05_large.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh05_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh05_small.il b/tests/src/JIT/jit64/localloc/ehverify/eh05_small.il
new file mode 100644
index 0000000000..390fff924a
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh05_small.il
@@ -0,0 +1,100 @@
+// Test localloc in catch block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try
+ {
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_0015: pop
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0016: leave.s IL_0018
+
+ }
+ IL_0018: ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh05_small.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh05_small.ilproj
new file mode 100644
index 0000000000..5e7e2c1275
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh05_small.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh05_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh06_large.il b/tests/src/JIT/jit64/localloc/ehverify/eh06_large.il
new file mode 100644
index 0000000000..c84af2e903
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh06_large.il
@@ -0,0 +1,96 @@
+// Test localloc in finally block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try{
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+ }
+ finally
+ {
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0015: endfinally
+ }
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh06_large.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh06_large.ilproj
new file mode 100644
index 0000000000..b44b3d092b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh06_large.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh06_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh06_small.il b/tests/src/JIT/jit64/localloc/ehverify/eh06_small.il
new file mode 100644
index 0000000000..b90b215435
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh06_small.il
@@ -0,0 +1,96 @@
+// Test localloc in finally block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try{
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+ }
+ finally
+ {
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0015: endfinally
+ }
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh06_small.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh06_small.ilproj
new file mode 100644
index 0000000000..ac20187a75
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh06_small.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh06_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh08_large.il b/tests/src/JIT/jit64/localloc/ehverify/eh08_large.il
new file mode 100644
index 0000000000..3c2635bd7a
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh08_large.il
@@ -0,0 +1,96 @@
+// Test localloc in fault
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try{
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+ }
+ fault
+ {
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0015: endfault
+ }
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh08_large.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh08_large.ilproj
new file mode 100644
index 0000000000..fb6b2b7a57
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh08_large.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh08_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh08_small.il b/tests/src/JIT/jit64/localloc/ehverify/eh08_small.il
new file mode 100644
index 0000000000..45f41c522f
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh08_small.il
@@ -0,0 +1,94 @@
+// Test localloc in fault
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly eh05{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init (int32* intArray1)
+ .try{
+ IL_000a: ldstr "Test Exception"
+ IL_000f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0014: throw
+ }
+ fault
+ {
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_0015: endfault
+ }
+ ret
+ }
+
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init (int32 retValue)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_002d
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "InvalidProgramException was caught."
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0014: pop
+ IL_0015: ldstr "Security.VerificationException was caught."
+ IL_001a: call void [System.Console]System.Console::WriteLine(string)
+ IL_001f: leave.s IL_003b
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_0021: callvirt instance string [mscorlib]System.Exception::ToString()
+ IL_0026: call void [System.Console]System.Console::WriteLine(string)
+ IL_002b: leave.s IL_002d
+
+ }
+
+ IL_002d: ldstr "Failed"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: stloc.0
+ IL_0039: br.s IL_004a
+
+ IL_003b: ldstr "Passed"
+ IL_0040: call void [System.Console]System.Console::WriteLine(string)
+ IL_0045: ldc.i4.s 100
+ IL_0047: stloc.0
+ IL_0048: br.s IL_004a
+
+ IL_004a: ldloc.0
+ IL_004b: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/ehverify/eh08_small.ilproj b/tests/src/JIT/jit64/localloc/ehverify/eh08_small.ilproj
new file mode 100644
index 0000000000..cb6423b760
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/ehverify/eh08_small.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="eh08_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/app.config b/tests/src/JIT/jit64/localloc/unwind/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.il b/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.il
new file mode 100644
index 0000000000..79b9aa1eb1
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.il
@@ -0,0 +1,255 @@
+// Unwind from fault block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static bool testFailed
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_00a8
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldsfld bool LocallocTest::testFailed
+ IL_0044: brfalse.s IL_004a
+
+ IL_0046: ldc.i4.1
+ IL_0047: stloc.3
+ IL_0048: br.s IL_00a8
+ IL_004a: ldstr "intArray1"
+ IL_004f: ldloc.2
+ IL_0050: ldsfld int32 LocallocTest::locallocSize
+ IL_0055: ldc.i4 1000
+ IL_005a: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005f: brtrue.s IL_0065
+
+ IL_0061: ldc.i4.1
+ IL_0062: stloc.3
+ IL_0063: br.s IL_00a8
+ IL_0065: ldstr "local1"
+ IL_006a: ldloc.0
+ IL_006b: ldc.i8 0xfedcba9876543210
+ IL_0074: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.3
+ IL_007d: br.s IL_00a8
+
+ IL_007f: ldstr "local2"
+ IL_0084: ldloc.1
+ IL_0085: ldc.i8 0xfedcba9876543211
+ IL_008e: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0093: brtrue.s IL_0099
+
+ IL_0095: ldc.i4.1
+ IL_0096: stloc.3
+ IL_0097: br.s IL_00a8
+ IL_0099: ldstr "Passed\n"
+ IL_009e: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a3: ldc.i4.s 100
+ IL_00a5: stloc.3
+ IL_00a6: br.s IL_00a8
+
+ IL_00a8: ldloc.3
+ IL_00a9: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0061
+
+ }
+ fault
+ {
+ IL_0032: ldstr "fault block in unwindTest1.\n"
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldsfld bool LocallocTest::testFailed
+ IL_0041: brtrue.s IL_0060
+ IL_0043: ldstr "intArray2"
+ IL_0048: ldloc.0
+ IL_0049: ldsfld int32 LocallocTest::locallocSize
+ IL_004e: ldc.i4 2000
+ IL_0053: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0058: ldc.i4.0
+ IL_0059: ceq
+ IL_005b: stsfld bool LocallocTest::testFailed
+ IL_0060: endfault
+ }
+ IL_0061: br.s IL_0063
+
+ IL_0063: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try{
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+ }
+ fault
+ {
+ IL_0025: ldstr "fault block in unwindTest2.\n"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: ldarg.s i9
+ IL_0031: ldc.i4.s 9
+ IL_0033: beq.s IL_0047
+
+ IL_0035: ldstr "Parameters on stack is corrupted\n"
+ IL_003a: call void [System.Console]System.Console::WriteLine(string)
+ IL_003f: ldc.i4.1
+ IL_0040: stsfld bool LocallocTest::testFailed
+ IL_0045: br.s IL_0064
+ IL_0047: ldstr "intArray3"
+ IL_004c: ldloc.0
+ IL_004d: ldsfld int32 LocallocTest::locallocSize
+ IL_0052: ldc.i4 3000
+ IL_0057: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005c: ldc.i4.0
+ IL_005d: ceq
+ IL_005f: stsfld bool LocallocTest::testFailed
+ IL_0064: endfault
+ }
+ IL_0065:
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld bool LocallocTest::testFailed
+ IL_0006: ldc.i4.0
+ IL_0007: stsfld int32 LocallocTest::locallocSize
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.ilproj
new file mode 100644
index 0000000000..4b96ee4899
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind04_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_large.il b/tests/src/JIT/jit64/localloc/unwind/unwind04_large.il
new file mode 100644
index 0000000000..903600057a
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_large.il
@@ -0,0 +1,255 @@
+// Unwind from fault block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static bool testFailed
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4 0x1000
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_00a8
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldsfld bool LocallocTest::testFailed
+ IL_0044: brfalse.s IL_004a
+
+ IL_0046: ldc.i4.1
+ IL_0047: stloc.3
+ IL_0048: br.s IL_00a8
+ IL_004a: ldstr "intArray1"
+ IL_004f: ldloc.2
+ IL_0050: ldsfld int32 LocallocTest::locallocSize
+ IL_0055: ldc.i4 1000
+ IL_005a: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005f: brtrue.s IL_0065
+
+ IL_0061: ldc.i4.1
+ IL_0062: stloc.3
+ IL_0063: br.s IL_00a8
+ IL_0065: ldstr "local1"
+ IL_006a: ldloc.0
+ IL_006b: ldc.i8 0xfedcba9876543210
+ IL_0074: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.3
+ IL_007d: br.s IL_00a8
+
+ IL_007f: ldstr "local2"
+ IL_0084: ldloc.1
+ IL_0085: ldc.i8 0xfedcba9876543211
+ IL_008e: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0093: brtrue.s IL_0099
+
+ IL_0095: ldc.i4.1
+ IL_0096: stloc.3
+ IL_0097: br.s IL_00a8
+ IL_0099: ldstr "Passed\n"
+ IL_009e: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a3: ldc.i4.s 100
+ IL_00a5: stloc.3
+ IL_00a6: br.s IL_00a8
+
+ IL_00a8: ldloc.3
+ IL_00a9: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0061
+
+ }
+ fault
+ {
+ IL_0032: ldstr "fault block in unwindTest1.\n"
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldsfld bool LocallocTest::testFailed
+ IL_0041: brtrue.s IL_0060
+ IL_0043: ldstr "intArray2"
+ IL_0048: ldloc.0
+ IL_0049: ldsfld int32 LocallocTest::locallocSize
+ IL_004e: ldc.i4 2000
+ IL_0053: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0058: ldc.i4.0
+ IL_0059: ceq
+ IL_005b: stsfld bool LocallocTest::testFailed
+ IL_0060: endfault
+ }
+ IL_0061: br.s IL_0063
+
+ IL_0063: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try{
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+ }
+ fault
+ {
+ IL_0025: ldstr "fault block in unwindTest2.\n"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: ldarg.s i9
+ IL_0031: ldc.i4.s 9
+ IL_0033: beq.s IL_0047
+
+ IL_0035: ldstr "Parameters on stack is corrupted\n"
+ IL_003a: call void [System.Console]System.Console::WriteLine(string)
+ IL_003f: ldc.i4.1
+ IL_0040: stsfld bool LocallocTest::testFailed
+ IL_0045: br.s IL_0064
+ IL_0047: ldstr "intArray3"
+ IL_004c: ldloc.0
+ IL_004d: ldsfld int32 LocallocTest::locallocSize
+ IL_0052: ldc.i4 3000
+ IL_0057: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005c: ldc.i4.0
+ IL_005d: ceq
+ IL_005f: stsfld bool LocallocTest::testFailed
+ IL_0064: endfault
+ }
+ IL_0065:
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld bool LocallocTest::testFailed
+ IL_0006: ldc.i4.0
+ IL_0007: stsfld int32 LocallocTest::locallocSize
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_large.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind04_large.ilproj
new file mode 100644
index 0000000000..dbf8302a31
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind04_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_small.il b/tests/src/JIT/jit64/localloc/unwind/unwind04_small.il
new file mode 100644
index 0000000000..c99c73e12b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_small.il
@@ -0,0 +1,249 @@
+// Unwind from fault block
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind03{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static bool testFailed
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4.1
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_00a8
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldsfld bool LocallocTest::testFailed
+ IL_0044: brfalse.s IL_004a
+
+ IL_0046: ldc.i4.1
+ IL_0047: stloc.3
+ IL_0048: br.s IL_00a8
+ IL_004a: ldstr "intArray1"
+ IL_004f: ldloc.2
+ IL_0050: ldsfld int32 LocallocTest::locallocSize
+ IL_0055: ldc.i4 1000
+ IL_005a: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005f: brtrue.s IL_0065
+
+ IL_0061: ldc.i4.1
+ IL_0062: stloc.3
+ IL_0063: br.s IL_00a8
+ IL_0065: ldstr "local1"
+ IL_006a: ldloc.0
+ IL_006b: ldc.i8 0xfedcba9876543210
+ IL_0074: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0079: brtrue.s IL_007f
+
+ IL_007b: ldc.i4.1
+ IL_007c: stloc.3
+ IL_007d: br.s IL_00a8
+
+ IL_007f: ldstr "local2"
+ IL_0084: ldloc.1
+ IL_0085: ldc.i8 0xfedcba9876543211
+ IL_008e: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0093: brtrue.s IL_0099
+
+ IL_0095: ldc.i4.1
+ IL_0096: stloc.3
+ IL_0097: br.s IL_00a8
+ IL_0099: ldstr "Passed\n"
+ IL_009e: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a3: ldc.i4.s 100
+ IL_00a5: stloc.3
+ IL_00a6: br.s IL_00a8
+
+ IL_00a8: ldloc.3
+ IL_00a9: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0061
+
+ }
+ fault
+ {
+ IL_0032: ldstr "fault block in unwindTest1.\n"
+ IL_0037: call void [System.Console]System.Console::WriteLine(string)
+ IL_003c: ldsfld bool LocallocTest::testFailed
+ IL_0041: brtrue.s IL_0060
+ IL_0043: ldstr "intArray2"
+ IL_0048: ldloc.0
+ IL_0049: ldsfld int32 LocallocTest::locallocSize
+ IL_004e: ldc.i4 2000
+ IL_0053: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0058: ldc.i4.0
+ IL_0059: ceq
+ IL_005b: stsfld bool LocallocTest::testFailed
+ IL_0060: endfault
+ }
+ IL_0061: br.s IL_0063
+
+ IL_0063: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try{
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+ }
+ fault
+ {
+ IL_0025: ldstr "fault block in unwindTest2.\n"
+ IL_002a: call void [System.Console]System.Console::WriteLine(string)
+ IL_002f: ldarg.s i9
+ IL_0031: ldc.i4.s 9
+ IL_0033: beq.s IL_0047
+
+ IL_0035: ldstr "Parameters on stack is corrupted\n"
+ IL_003a: call void [System.Console]System.Console::WriteLine(string)
+ IL_003f: ldc.i4.1
+ IL_0040: stsfld bool LocallocTest::testFailed
+ IL_0045: br.s IL_0064
+ IL_0047: ldstr "intArray3"
+ IL_004c: ldloc.0
+ IL_004d: ldsfld int32 LocallocTest::locallocSize
+ IL_0052: ldc.i4 3000
+ IL_0057: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_005c: ldc.i4.0
+ IL_005d: ceq
+ IL_005f: stsfld bool LocallocTest::testFailed
+ IL_0064: endfault
+ }
+ IL_0065:
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld bool LocallocTest::testFailed
+ IL_0006: ldc.i4.0
+ IL_0007: stsfld int32 LocallocTest::locallocSize
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind04_small.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind04_small.ilproj
new file mode 100644
index 0000000000..d2e2029b99
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind04_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind04_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.il b/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.il
new file mode 100644
index 0000000000..33a0c47e4d
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.il
@@ -0,0 +1,258 @@
+// Unwind from Filter block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind02{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Filter block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Filter block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: br.s L_FAILED
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.ilproj
new file mode 100644
index 0000000000..272f8b7417
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind05_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_large.il b/tests/src/JIT/jit64/localloc/unwind/unwind05_large.il
new file mode 100644
index 0000000000..949692e927
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_large.il
@@ -0,0 +1,258 @@
+// Unwind from Filter block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind02{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4 0x1000
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Filter block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Filter block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: br.s L_FAILED
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_large.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind05_large.ilproj
new file mode 100644
index 0000000000..e41c72446a
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind05_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_small.il b/tests/src/JIT/jit64/localloc/unwind/unwind05_small.il
new file mode 100644
index 0000000000..2a480620a5
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_small.il
@@ -0,0 +1,252 @@
+// Unwind from Filter block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind02{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4.1
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Filter block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Filter block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: br.s L_FAILED
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s L_FAILED
+ ldc.i4.0
+ br.s L_ENDFILTER
+ L_FAILED: ldc.i4.1
+ L_ENDFILTER: endfilter
+ }
+ {
+ pop
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind05_small.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind05_small.ilproj
new file mode 100644
index 0000000000..45ff43c641
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind05_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind05_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.il b/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.il
new file mode 100644
index 0000000000..9eeb0bc190
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.il
@@ -0,0 +1,258 @@
+// Unwind from Handler block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Handler block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s IL_0056
+
+ IL_0054: rethrow
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 [common]LocallocTesting.Global::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Handler block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: leave.s IL_005d
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s IL_005b
+
+ IL_0059: rethrow
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.ilproj
new file mode 100644
index 0000000000..0506249207
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_dynamic.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind06_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_large.il b/tests/src/JIT/jit64/localloc/unwind/unwind06_large.il
new file mode 100644
index 0000000000..718f5e141b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_large.il
@@ -0,0 +1,258 @@
+// Unwind from Handler block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0010: ldc.i4 0x1000
+ IL_0015: mul
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4 0x1000
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Handler block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s IL_0056
+
+ IL_0054: rethrow
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Handler block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: leave.s IL_005d
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s IL_005b
+
+ IL_0059: rethrow
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_large.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind06_large.ilproj
new file mode 100644
index 0000000000..ef2786d748
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_large.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind06_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_small.il b/tests/src/JIT/jit64/localloc/unwind/unwind06_small.il
new file mode 100644
index 0000000000..0f9b158937
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_small.il
@@ -0,0 +1,252 @@
+// Unwind from Handler block.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly extern common{}
+.assembly unwind06{}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field private static int32 locallocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 4
+ .locals (unsigned int64 local1,
+ unsigned int64 local2,
+ int32* intArray1,
+ int32 retValue)
+ IL_0000: ldc.i8 0xfedcba9876543210
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldc.i4.1
+ IL_000c: conv.i8
+ IL_000d: add
+ IL_000e: stloc.1
+ IL_000f: ldc.i4.4
+ IL_0016: localloc
+ IL_0018: stloc.2
+ IL_0019: ldc.i4.1
+ IL_001e: stsfld int32 LocallocTest::locallocSize
+ .try
+ {
+ IL_0023: ldloc.2
+ IL_0024: ldsfld int32 LocallocTest::locallocSize
+ IL_0029: ldc.i4 1000
+ IL_002e: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ IL_0033: call void LocallocTest::unwindTest1()
+ IL_0038: ldc.i4.1
+ IL_0039: stloc.3
+ IL_003a: leave.s IL_009d
+
+ }
+ catch [mscorlib]System.Object
+ {
+ IL_003c: pop
+ IL_003d: leave.s IL_003f
+
+ }
+ IL_003f: ldstr "intArray1"
+ IL_0044: ldloc.2
+ IL_0045: ldsfld int32 LocallocTest::locallocSize
+ IL_004a: ldc.i4 1000
+ IL_004f: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0054: brtrue.s IL_005a
+
+ IL_0056: ldc.i4.1
+ IL_0057: stloc.3
+ IL_0058: br.s IL_009d
+ IL_005a: ldstr "local1"
+ IL_005f: ldloc.0
+ IL_0060: ldc.i8 0xfedcba9876543210
+ IL_0069: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_006e: brtrue.s IL_0074
+
+ IL_0070: ldc.i4.1
+ IL_0071: stloc.3
+ IL_0072: br.s IL_009d
+
+ IL_0074: ldstr "local2"
+ IL_0079: ldloc.1
+ IL_007a: ldc.i8 0xfedcba9876543211
+ IL_0083: call bool [common]LocallocTesting.Global::verifyLocal(string,
+ unsigned int64,
+ unsigned int64)
+ IL_0088: brtrue.s IL_008e
+
+ IL_008a: ldc.i4.1
+ IL_008b: stloc.3
+ IL_008c: br.s IL_009d
+ IL_008e: ldstr "Passed\n"
+ IL_0093: call void [System.Console]System.Console::WriteLine(string)
+ IL_0098: ldc.i4.s 100
+ IL_009a: stloc.3
+ IL_009b: br.s IL_009d
+
+ IL_009d: ldloc.3
+ IL_009e: ret
+ }
+
+ .method public hidebysig static void unwindTest1() cil managed
+ {
+ .maxstack 10
+ .locals (int32* intArray2,
+ class LocallocTest testObj)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 2000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: newobj instance void LocallocTest::.ctor()
+ IL_001f: stloc.1
+ IL_0020: ldloc.1
+ IL_0021: ldc.i4.1
+ IL_0022: ldc.i4.2
+ IL_0023: ldc.i4.3
+ IL_0024: ldc.i4.4
+ IL_0025: ldc.i4.5
+ IL_0026: ldc.i4.6
+ IL_0027: ldc.i4.7
+ IL_0028: ldc.i4.8
+ IL_0029: ldc.i4.s 9
+ IL_002b: callvirt instance void LocallocTest::unwindTest2(int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32,
+ int32)
+ IL_0030: leave.s IL_0058
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0032: pop
+ IL_0033: ldstr "Handler block in unwindTest1.\n"
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldstr "intArray2"
+ IL_0042: ldloc.0
+ IL_0043: ldsfld int32 LocallocTest::locallocSize
+ IL_0048: ldc.i4 2000
+ IL_004d: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0052: brfalse.s IL_0056
+
+ IL_0054: rethrow
+ IL_0056: leave.s IL_0058
+
+ }
+ IL_0058: br.s IL_005a
+
+ IL_005a: ret
+ }
+
+ .method private hidebysig instance void
+ unwindTest2(int32 i1,
+ int32 i2,
+ int32 i3,
+ int32 i4,
+ int32 i5,
+ int32 i6,
+ int32 i7,
+ int32 i8,
+ int32 i9) cil managed
+ {
+ .maxstack 4
+ .locals (int32* intArray3)
+ IL_0000: ldc.i4.4
+ IL_0007: localloc
+ IL_0009: stloc.0
+ IL_000a: ldloc.0
+ IL_000b: ldsfld int32 LocallocTest::locallocSize
+ IL_0010: ldc.i4 3000
+ IL_0015: call void [common]LocallocTesting.Global::initializeStack(int32*,
+ int32,
+ int32)
+ .try
+ {
+ IL_001a: ldstr "Test Exception"
+ IL_001f: newobj instance void [mscorlib]System.Exception::.ctor(string)
+ IL_0024: throw
+
+ }
+ filter
+ {
+ pop
+ ldc.i4.1
+ endfilter
+ }
+ {
+ IL_0025: pop
+ IL_0026: ldstr "Handler block in unwindTest2.\n"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldarg.s i9
+ IL_0032: ldc.i4.s 9
+ IL_0034: beq.s IL_0042
+
+ IL_0036: ldstr "Parameters on stack is corrupted\n"
+ IL_003b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0040: leave.s IL_005d
+ IL_0042: ldstr "intArray3"
+ IL_0047: ldloc.0
+ IL_0048: ldsfld int32 LocallocTest::locallocSize
+ IL_004d: ldc.i4 3000
+ IL_0052: call bool [common]LocallocTesting.Global::verifyStack(string,
+ int32*,
+ int32,
+ int32)
+ IL_0057: brfalse.s IL_005b
+
+ IL_0059: rethrow
+ IL_005b: leave.s IL_005d
+
+ }
+ IL_005d: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.0
+ IL_0001: stsfld int32 LocallocTest::locallocSize
+ IL_0006: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
diff --git a/tests/src/JIT/jit64/localloc/unwind/unwind06_small.ilproj b/tests/src/JIT/jit64/localloc/unwind/unwind06_small.ilproj
new file mode 100644
index 0000000000..d1be323b12
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/unwind/unwind06_small.ilproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="unwind06_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\common\common.ilproj" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/vararg/app.config b/tests/src/JIT/jit64/localloc/vararg/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/vararg/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/localloc/verify/app.config b/tests/src/JIT/jit64/localloc/verify/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.il b/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.il
new file mode 100644
index 0000000000..a3925771c3
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.il
@@ -0,0 +1,93 @@
+// Test Invalid program (evaluation stack is not empty before localloc call
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly eh01
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 )
+ .permissionset reqrefuse
+ = {[mscorlib]System.Security.Permissions.PermissionSetAttribute = {property string 'Name' = string('SkipVerification')}}
+}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .field public static int32 stackAllocSize
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init(int32 V_0)
+ ldc.i4 0x1000
+ stsfld int32 LocallocTest::stackAllocSize
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_0027
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "Passed"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: ldc.i4.s 100
+ IL_0014: stloc.0
+ IL_0015: leave.s IL_0035
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0017: pop
+ IL_0018: ldstr "Passed"
+ IL_009d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0022: ldc.i4.s 100
+ IL_0024: stloc.0
+ IL_0025: leave.s IL_0035
+
+ }
+ IL_0027: ldstr "Failed"
+ IL_002c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0031: ldc.i4.1
+ IL_0032: stloc.0
+ IL_0033: br.s IL_0035
+
+ IL_0035: ldloc.0
+ IL_0036: ret
+ }
+
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init(int32* V_0,
+ int32* V_1)
+ IL_0000: ldc.i4.4
+ IL_0001: ldsfld int32 LocallocTest::stackAllocSize
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.1
+ IL_000a: ldc.i4.4
+ IL_000b: ldsfld int32 LocallocTest::stackAllocSize
+ IL_0010: mul
+ IL_0011: localloc
+ IL_0013: stloc.0
+ IL_0014: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj b/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj
new file mode 100644
index 0000000000..0b69c8dbfc
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="verify01_dynamic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_large.il b/tests/src/JIT/jit64/localloc/verify/verify01_large.il
new file mode 100644
index 0000000000..f438baa169
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_large.il
@@ -0,0 +1,90 @@
+// Test Invalid program (evaluation stack is not empty before localloc call
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly eh01
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 )
+ .permissionset reqrefuse
+ = {[mscorlib]System.Security.Permissions.PermissionSetAttribute = {property string 'Name' = string('SkipVerification')}}
+}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init(int32 V_0)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_0027
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "Passed"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: ldc.i4.s 100
+ IL_0014: stloc.0
+ IL_0015: leave.s IL_0035
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0017: pop
+ IL_0018: ldstr "Passed"
+ IL_009d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0022: ldc.i4.s 100
+ IL_0024: stloc.0
+ IL_0025: leave.s IL_0035
+
+ }
+ IL_0027: ldstr "Failed"
+ IL_002c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0031: ldc.i4.1
+ IL_0032: stloc.0
+ IL_0033: br.s IL_0035
+
+ IL_0035: ldloc.0
+ IL_0036: ret
+ }
+
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init(int32* V_0,
+ int32* V_1)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4 0x1000
+ IL_0006: mul
+ IL_0007: localloc
+ IL_0009: stloc.1
+ IL_000a: ldc.i4.4
+ IL_000b: ldc.i4 0x1000
+ IL_0010: mul
+ IL_0011: localloc
+ IL_0013: stloc.0
+ IL_0014: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj b/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj
new file mode 100644
index 0000000000..02898fd438
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="verify01_large.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_small.il b/tests/src/JIT/jit64/localloc/verify/verify01_small.il
new file mode 100644
index 0000000000..282c1ff976
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_small.il
@@ -0,0 +1,90 @@
+// Test Invalid program (evaluation stack is not empty before localloc call
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib{}
+.assembly eh01
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 )
+ .permissionset reqrefuse
+ = {[mscorlib]System.Security.Permissions.PermissionSetAttribute = {property string 'Name' = string('SkipVerification')}}
+}
+
+.class private auto ansi beforefieldinit LocallocTest
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals init(int32 V_0)
+ .try
+ {
+ IL_0000: call void LocallocTest::func()
+ IL_0005: leave.s IL_0027
+
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ IL_0007: pop
+ IL_0008: ldstr "Passed"
+ IL_000d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0012: ldc.i4.s 100
+ IL_0014: stloc.0
+ IL_0015: leave.s IL_0035
+
+ }
+ catch [mscorlib]System.InvalidProgramException
+ {
+ IL_0017: pop
+ IL_0018: ldstr "Passed"
+ IL_009d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0022: ldc.i4.s 100
+ IL_0024: stloc.0
+ IL_0025: leave.s IL_0035
+
+ }
+ IL_0027: ldstr "Failed"
+ IL_002c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0031: ldc.i4.1
+ IL_0032: stloc.0
+ IL_0033: br.s IL_0035
+
+ IL_0035: ldloc.0
+ IL_0036: ret
+ }
+
+ .method private hidebysig static void func() cil managed
+ {
+ .maxstack 2
+ .locals init(int32* V_0,
+ int32* V_1)
+ IL_0000: ldc.i4.4
+ IL_0001: ldc.i4.1
+ IL_0002: mul
+ IL_0003: localloc
+ IL_0005: stloc.1
+ IL_0006: ldc.i4.4
+ IL_0007: ldc.i4.1
+ IL_0008: mul
+ IL_0009: localloc
+ IL_000b: stloc.0
+ IL_000c: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj b/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj
new file mode 100644
index 0000000000..34ef2f714a
--- /dev/null
+++ b/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="verify01_small.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/ndpw/21220/21220.il b/tests/src/JIT/jit64/regress/ndpw/21220/21220.il
new file mode 100644
index 0000000000..864bc45fb7
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/ndpw/21220/21220.il
@@ -0,0 +1,155 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .hash = (0E 33 6B E4 AA 53 F0 DC 70 EA E2 E0 A3 7E BB BC 53 7B 75 B4 )
+ .ver 2:0:3600:0
+}
+
+.assembly extern Microsoft.VisualC
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .hash = (C4 73 BC B5 51 0F 9C B5 ED 4B 30 6E 4A D1 62 7F 2E 43 D6 5E )
+ .ver 8:0:1200:0
+}
+
+.assembly b21220
+{
+ .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 )
+ .permissionset reqrefuse = {[mscorlib]System.Security.Permissions.PermissionSetAttribute = {property string 'Name' = string('SkipVerification')}}
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+
+.module b21220.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+.method public static int32 main() cil managed
+{
+ .entrypoint
+ .custom instance void [Microsoft.VisualC]Microsoft.VisualC.DecoratedNameAttribute::.ctor(string) = ( 01 00 0F 3F 6D 61 69 6E 40 40 24 24 48 59 4D 48 58 5A 00 00 )
+ .maxstack 3
+ .locals init (class C V_0, int32 V_1)
+
+ newobj instance void C::.ctor()
+ stloc.0
+ ldc.i4.s 100
+ stloc.1
+
+ .try
+ {
+ ldloc.0
+ call instance int32& C::retLocalByref()
+ pop
+ ldstr "Failed: Expected C::retLocalByref() to throw an System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 5
+ stloc.1
+ leave.s Exit
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ ldstr "Passed"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Next
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "Failed: Expected C::retLocalByref() to throw an System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 5
+ stloc.1
+ leave.s Exit
+ }
+Next:
+ .try
+ {
+ ldloc.0
+ call instance int32& C::retLocalByref2()
+ pop
+ ldstr "Failed: Expected C::retLocalByref() to throw an System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 5
+ stloc.1
+ leave.s Exit
+ }
+ catch [mscorlib]System.Security.VerificationException
+ {
+ ldstr "Passed"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s Exit
+ }
+ catch [mscorlib]System.Exception
+ {
+ ldstr "Failed: Expected C::retLocalByref() to throw an System.Security.VerificationException"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4.s 5
+ stloc.1
+ leave.s Exit
+ }
+
+Exit:
+ ldloc.1
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldloc.1
+ ret
+}
+
+.class public auto ansi C extends [mscorlib]System.Object
+{
+ .field public int32 i
+
+ .method public specialname rtspecialname instance void .ctor() cil managed
+ {
+ .maxstack 1
+
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+
+ .method public instance int32& retLocalByref() cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0)
+
+ ldarg.0
+ ldfld int32 C::i
+ ldc.i4.0
+ bne.un A
+ ldarg.0
+ ldflda int32 C::i
+ br Exit
+A:
+ ldloca V_0
+Exit:
+ ret
+ }
+
+ .method public instance int32& retLocalByref2() cil managed
+ {
+ .maxstack 4
+ .locals init (int32 V_0)
+
+ ldarg.0
+ ldfld int32 C::i
+ ldc.i4.0
+ bne.un A
+ ldloca V_0
+ br Exit
+A:
+ ldarg.0
+ ldflda int32 C::i
+Exit:
+ ret
+ }
+}
diff --git a/tests/src/JIT/jit64/regress/ndpw/21220/app.config b/tests/src/JIT/jit64/regress/ndpw/21220/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/ndpw/21220/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj b/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj
new file mode 100644
index 0000000000..77ce24a8f2
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="21220.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/vsw/102754/app.config b/tests/src/JIT/jit64/regress/vsw/102754/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/102754/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/regress/vsw/102754/test1.il b/tests/src/JIT/jit64/regress/vsw/102754/test1.il
new file mode 100644
index 0000000000..dba29c065d
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/102754/test1.il
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .hash = (34 49 DD 73 C6 4A 4D D1 3C F6 93 9D DA 59 9C EF
+ 01 2A 9C E3 )
+
+}
+.assembly legacy library hello
+{
+
+
+ .permissionset reqmin
+ "<PermissionSet class=\"System.Security.PermissionSe"
+ + "t\"\r\nversion=\"1\">\r\n<IPermission class=\"System.Security.Permis"
+ + "sions.SecurityPermission, mscorlib, Cult"
+ + "ure=neutral, PublicKeyToken=b77a5c561934e089\"\r\nversion=\"1\"\r\n"
+ + "Flags=\"SkipVerification\"/>\r\n</PermissionSet>\r\n"
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module hello.exe
+.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.namespace hello
+{
+ .class private auto ansi beforefieldinit Class1
+ extends [mscorlib]System.Object
+ {
+ .method public hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (int64* V_0,
+ int64 V_1,
+ int32 V_2)
+ IL_0000: ldc.i4.0
+ IL_0001: conv.i8
+ IL_0002: stloc.1
+ IL_0003: ldloca.s V_1
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: ldc.i4 0x1
+ IL_000c: conv.i
+
+ IL_000d: add
+ IL_000e: ldc.i4 0x1111
+ IL_0010: conv.i4
+
+ unaligned. 1
+ IL_0011: stind.i4
+ IL_0012: ldloc.1
+ IL_0013: call void [System.Console]System.Console::WriteLine(int64)
+ IL_0018: ldloc.1
+ IL_0019: conv.i4
+ IL_001a: ldc.i4 0x111100
+ IL_001f: sub
+ IL_0020: stloc.2
+ IL_0021: br.s IL_0023
+ IL_0023: ldloc.2
+ IL_0024: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/regress/vsw/102754/test1.ilproj b/tests/src/JIT/jit64/regress/vsw/102754/test1.ilproj
new file mode 100644
index 0000000000..3bec6d8985
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/102754/test1.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/vsw/102754/test2.ilproj b/tests/src/JIT/jit64/regress/vsw/102754/test2.ilproj
new file mode 100644
index 0000000000..3bec6d8985
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/102754/test2.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/vsw/543645/app.config b/tests/src/JIT/jit64/regress/vsw/543645/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/543645/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/regress/vsw/543645/test.il b/tests/src/JIT/jit64/regress/vsw/543645/test.il
new file mode 100644
index 0000000000..4b9780c9f0
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/543645/test.il
@@ -0,0 +1,126 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .ver 0:0:0:0
+}
+.assembly ovfldiv1
+{
+ .ver 0:0:0:0
+}
+.module ovfldiv1_il_r.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class private auto ansi beforefieldinit Overflow
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .locals init (int32 r)
+
+ ldc.i4 100
+ stloc r
+
+ .try
+ {
+ call int64 Overflow::test1()
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.1
+ stloc r
+ leave.s end1
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldstr "OverflowException correctly thrown"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s end1
+ }
+
+ end1:
+
+ call int64 Overflow::test2()
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0x8000000000000000
+ conv.u8
+ beq end2
+ ldc.i4.1
+ stloc r
+
+ end2:
+
+ .try
+ {
+ call int64 Overflow::test3()
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.1
+ stloc r
+ leave.s end3
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ pop
+ ldstr "OverflowException correctly thrown"
+ call void [System.Console]System.Console::WriteLine(string)
+ leave.s end3
+ }
+
+ end3:
+
+ ldloc r
+ ret
+ }
+
+ .method private hidebysig static int64
+ test1() cil managed noinlining
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ mul.ovf
+ ret
+ }
+
+ .method private hidebysig static int64
+ test2() cil managed noinlining
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ mul
+ ret
+ }
+
+ .method private hidebysig static int64
+ test3() cil managed noinlining
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ ret
+ }
+}
+
+
+
diff --git a/tests/src/JIT/jit64/regress/vsw/543645/test.ilproj b/tests/src/JIT/jit64/regress/vsw/543645/test.ilproj
new file mode 100644
index 0000000000..2f9329e3c8
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/543645/test.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/vsw/546707/app.config b/tests/src/JIT/jit64/regress/vsw/546707/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/546707/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.il b/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.il
new file mode 100644
index 0000000000..753ccb0966
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.il
@@ -0,0 +1,165 @@
+
+
+
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib
+{
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
+ .ver 2:0:0:0
+}
+.assembly sql_stress4
+{
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
+ .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module sql_stress4.exe
+.imagebase 0x00400000
+.file alignment 0x00000200
+.stackreserve 0x00100000
+.subsystem 0x0003
+.corflags 0x00000001
+
+
+
+.class private auto ansi beforefieldinit sov02_CrossAppdomain_30
+ extends [mscorlib]System.Object
+{
+ .field private static literal int32 size = int32(0x00000005)
+ .method public hidebysig static void p() cil managed
+ {
+ .maxstack 8
+ tail.
+ IL_0000: call void sov02_CrossAppdomain_30::p()
+ IL_0005: ret
+ }
+
+ .method public hidebysig static void gc() cil managed
+ {
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ IL_0002: br.s IL_0023
+
+ IL_0004: call void sov02_CrossAppdomain_30::gc1()
+ IL_0009: ldloc.0
+ IL_000a: call void [System.Console]System.Console::WriteLine(int32)
+ IL_000f: call void [mscorlib]System.GC::Collect()
+ IL_0014: ldloc.0
+ IL_0015: call void [System.Console]System.Console::WriteLine(int32)
+ IL_001a: call void sov02_CrossAppdomain_30::gc1()
+ IL_001f: ldloc.0
+ IL_0020: ldc.i4.1
+ IL_0021: add
+ IL_0022: stloc.0
+ IL_0023: ldloc.0
+ IL_0024: ldc.i4.s 10
+ IL_0026: blt.s IL_0004
+
+ IL_0028: ret
+ }
+
+ .method public hidebysig static void gc1() cil managed noinlining
+ {
+ .maxstack 3
+ .locals init (object[] V_0,
+ int32 V_1)
+ IL_0000: ldc.i4.5
+ IL_0001: newarr [mscorlib]System.Object
+ IL_0006: stloc.0
+ IL_0007: ldc.i4.0
+ IL_0008: stloc.1
+ IL_0009: br.s IL_0017
+
+ IL_000b: ldloc.0
+ IL_000c: ldloc.1
+ IL_000d: newobj instance void [mscorlib]System.Object::.ctor()
+ IL_0012: stelem.ref
+ IL_0013: ldloc.1
+ IL_0014: ldc.i4.1
+ IL_0015: add
+ IL_0016: stloc.1
+ IL_0017: ldloc.1
+ IL_0018: ldloc.0
+ IL_0019: ldlen
+ IL_001a: conv.i4
+ IL_001b: blt.s IL_000b
+
+ IL_001d: ret
+ }
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 3
+ .locals init (class [mscorlib]System.Threading.Thread V_0,
+ class [mscorlib]System.Threading.Thread V_1)
+ IL_0000: ldnull
+ IL_0001: ldftn void sov02_CrossAppdomain_30::p()
+ IL_0007: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_000c: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_0011: stloc.0
+ IL_0012: ldloc.0
+ IL_0013: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0018: br.s IL_0021
+
+ IL_001a: ldc.i4.s 100
+ IL_001c: call void [mscorlib]System.Threading.Thread::Sleep(int32)
+ IL_0021: ldloc.0
+ IL_0022: callvirt instance bool [mscorlib]System.Threading.Thread::get_IsAlive()
+ IL_0027: brfalse.s IL_001a
+
+ IL_0029: ldnull
+ IL_002a: ldftn void sov02_CrossAppdomain_30::gc()
+ IL_0030: newobj instance void [mscorlib]System.Threading.ThreadStart::.ctor(object,
+ native int)
+ IL_0035: newobj instance void [mscorlib]System.Threading.Thread::.ctor(class [mscorlib]System.Threading.ThreadStart)
+ IL_003a: stloc.1
+ IL_003b: ldloc.1
+ IL_003c: callvirt instance void [mscorlib]System.Threading.Thread::Start()
+ IL_0041: ldloc.1
+ IL_0042: ldc.i4 0x7530
+ IL_0047: callvirt instance bool [mscorlib]System.Threading.Thread::Join(int32)
+ IL_004c: brtrue.s IL_0066
+
+ IL_004e: ldstr "Fail - t1 could not be interrupted for a GC!"
+ IL_0053: call void [System.Console]System.Console::WriteLine(string)
+ IL_0058: ldloc.1
+ IL_0059: callvirt instance void [mscorlib]System.Threading.Thread::Abort()
+ IL_005e: ldloc.0
+ IL_005f: callvirt instance void [mscorlib]System.Threading.Thread::Abort()
+ IL_0064: ldc.i4.0
+ IL_0065: ret
+
+ IL_0066: ldstr "Pass"
+ IL_006b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0070: ldloc.0
+ IL_0071: callvirt instance void [mscorlib]System.Threading.Thread::Abort()
+ IL_0076: ldc.i4.s 100
+ IL_0078: ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ }
+
+}
+
+
+
diff --git a/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.ilproj b/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.ilproj
new file mode 100644
index 0000000000..60240dda76
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/546707/sql_stress4.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="sql_stress4.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/jit64/regress/vsw/552940/app.config b/tests/src/JIT/jit64/regress/vsw/552940/app.config
new file mode 100644
index 0000000000..6f7bbd9d2b
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/552940/app.config
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/tests/src/JIT/jit64/regress/vsw/552940/test.il b/tests/src/JIT/jit64/regress/vsw/552940/test.il
new file mode 100644
index 0000000000..c5f400e27f
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/552940/test.il
@@ -0,0 +1,106 @@
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly extern common {}
+.assembly test {}
+
+.module test.exe
+
+
+.class private auto ansi beforefieldinit Program
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Test(int32 count) cil managed
+ {
+ .maxstack 3
+ .locals init (int32 V_0)
+ IL_0000: ldc.i4.0
+ IL_0001: stloc.0
+ .try
+ {
+ .try
+ {
+ IL_0002: nop
+ .try
+ {
+ IL_0003: ldarg.0
+ IL_0004: dup
+ IL_0005: ldc.i4.1
+ IL_0006: sub
+ IL_0007: starg.s count
+ IL_0009: brtrue.s IL_000d
+
+ IL_000b: leave.s IL_0016
+
+ IL_000d: leave.s IL_0002
+
+ }
+ finally
+ {
+ IL_000f: ldloc.0
+ IL_0010: ldc.i4.0
+ IL_0011: bge.s IL_0015
+
+ IL_0013: ldc.i4.0
+ IL_0014: stloc.0
+ IL_0015: endfinally
+ }
+ IL_0016: leave.s IL_001d
+
+ }
+ finally
+ {
+ IL_0018: ldloc.0
+ IL_0019: ldc.i4.1
+ IL_001a: add
+ IL_001b: stloc.0
+ IL_001c: endfinally
+ }
+ IL_001d: leave.s IL_0022
+
+ }
+ catch [mscorlib]System.Exception
+ {
+ IL_001f: pop
+ IL_0020: rethrow
+ }
+ IL_0022: ldloc.0
+ IL_0023: ret
+ }
+
+ .method private hidebysig static int32
+ Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldc.i4.1
+ IL_0001: call int32 Program::Test(int32)
+ IL_0006: stloc.0
+ IL_0007: ldstr "Finally Exec Count: {0}"
+ IL_000c: ldloc.0
+ IL_000d: box [mscorlib]System.Int32
+ IL_0012: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0017: ldc.i4.1
+ IL_0018: call int32 Program::Test(int32)
+ IL_001d: ldc.i4.1
+ IL_001e: bne.un.s IL_002d
+
+ IL_0020: ldstr "PASS"
+ IL_0025: call void [System.Console]System.Console::WriteLine(string)
+ IL_002a: ldc.i4.s 100
+ IL_002c: ret
+
+ IL_002d: ldstr "FAIL"
+ IL_0032: call void [System.Console]System.Console::WriteLine(string)
+ IL_0037: ldc.i4.1
+ IL_0038: ret
+ }
+
+
+}
diff --git a/tests/src/JIT/jit64/regress/vsw/552940/test.ilproj b/tests/src/JIT/jit64/regress/vsw/552940/test.ilproj
new file mode 100644
index 0000000000..2f9329e3c8
--- /dev/null
+++ b/tests/src/JIT/jit64/regress/vsw/552940/test.ilproj
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="test.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/testsFailingOutsideWindows.txt b/tests/testsFailingOutsideWindows.txt
index f22e623daf..4688ea6b31 100644
--- a/tests/testsFailingOutsideWindows.txt
+++ b/tests/testsFailingOutsideWindows.txt
@@ -116,3 +116,101 @@ JIT/Methodical/Invoke/25params/25param3c_il_d/25param3c_il_d.sh
JIT/Methodical/Invoke/25params/25paramMixed_il_d/25paramMixed_il_d.sh
JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b79250/b79250/b79250.sh
JIT/Methodical/Boxing/misc/_relconcurgc_il/_relconcurgc_il.sh
+JIT/Directed/coverage/importer/Desktop/badldsfld_il_d/badldsfld_il_d.sh
+JIT/Directed/coverage/importer/Desktop/badldsfld_il_r/badldsfld_il_r.sh
+JIT/Directed/coverage/importer/Desktop/bleref_il_d/bleref_il_d.sh
+JIT/Directed/coverage/importer/Desktop/bleref_il_r/bleref_il_r.sh
+JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d/ldelemnullarr1_il_d.sh
+JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r/ldelemnullarr1_il_r.sh
+JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d/nonrefsdarr_il_d.sh
+JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r/nonrefsdarr_il_r.sh
+JIT/Directed/IL/mutualrecurthd-tailcall/mutualrecurthd-tailcall/mutualrecurthd-tailcall.sh
+JIT/Directed/Misc/function_pointer/mutualthdrecur-fptr/mutualthdrecur-fptr.sh
+JIT/Directed/perffix/primitivevt/identity3_il_d/identity3_il_d.sh
+JIT/Directed/pinning/object-pin/object-pin/object-pin.sh
+JIT/Directed/pinvoke/preemptive_cooperative/preemptive_cooperative.sh
+JIT/Directed/tls/mutualrecurthd-tls/mutualrecurthd-tls.sh
+JIT/Directed/tls/test-tls/test-tls.sh
+JIT/IL_Conformance/Old/Conformance_Base/conv_ovf_i8_i/conv_ovf_i8_i.sh
+JIT/IL_Conformance/Old/Conformance_Base/rem_r4/rem_r4.sh
+JIT/jit64/localloc/verify/verify01_dynamic/verify01_dynamic.sh
+JIT/jit64/localloc/verify/verify01_large/verify01_large.sh
+JIT/jit64/localloc/verify/verify01_small/verify01_small.sh
+JIT/jit64/regress/ndpw/21220/b21220/b21220.sh
+JIT/jit64/regress/vsw/102754/test1/test1.sh
+JIT/jit64/regress/vsw/102754/test2/test2.sh
+JIT/jit64/regress/vsw/546707/sql_stress4/sql_stress4.sh
+JIT/Methodical/Boxing/xlang/_dbgsin_il_cs/_dbgsin_il_cs.sh
+JIT/Methodical/Boxing/xlang/_dbgsin_il_il/_dbgsin_il_il.sh
+JIT/Methodical/Boxing/xlang/_odbgsin_il_cs/_odbgsin_il_cs.sh
+JIT/Methodical/Boxing/xlang/_odbgsin_il_il/_odbgsin_il_il.sh
+JIT/Methodical/Boxing/xlang/_orelsin_il_cs/_orelsin_il_cs.sh
+JIT/Methodical/Boxing/xlang/_orelsin_il_il/_orelsin_il_il.sh
+JIT/Methodical/Boxing/xlang/_relsin_il_cs/_relsin_il_cs.sh
+JIT/Methodical/Boxing/xlang/_relsin_il_il/_relsin_il_il.sh
+JIT/Methodical/cctor/misc/tail_il_d/tail_il_d.sh
+JIT/Methodical/cctor/misc/tail_il_r/tail_il_r.sh
+JIT/Methodical/cctor/misc/threads3_il_d/threads3_il_d.sh
+JIT/Methodical/cctor/misc/threads3_il_r/threads3_il_r.sh
+JIT/Methodical/cctor/simple/precise3_il_d/precise3_il_d.sh
+JIT/Methodical/cctor/simple/precise3_il_r/precise3_il_r.sh
+JIT/Methodical/Coverage/arglist_pos/arglist_pos.sh
+JIT/Methodical/eh/deadcode/badcodeafterfinally_d/badcodeafterfinally_d.sh
+JIT/Methodical/eh/deadcode/badcodeafterfinally_r/badcodeafterfinally_r.sh
+JIT/Methodical/eh/interactions/cornucopia1_d/cornucopia1_d.sh
+JIT/Methodical/eh/interactions/cornucopia1_r/cornucopia1_r.sh
+JIT/Methodical/switch/switch10/switch10.sh
+JIT/Methodical/switch/switch11/switch11.sh
+JIT/Methodical/switch/switch1/switch1.sh
+JIT/Methodical/switch/switch2/switch2.sh
+JIT/Methodical/switch/switch3/switch3.sh
+JIT/Methodical/switch/switch4/switch4.sh
+JIT/Methodical/switch/switch5/switch5.sh
+JIT/Methodical/switch/switch6/switch6.sh
+JIT/Methodical/switch/switch7/switch7.sh
+JIT/Methodical/switch/switch8/switch8.sh
+JIT/Methodical/switch/switch9/switch9.sh
+JIT/Methodical/tailcall/_il_dbgrecurse_ep_void/_il_dbgrecurse_ep_void.sh
+JIT/Methodical/tailcall/_il_dbgtest_void/_il_dbgtest_void.sh
+JIT/Methodical/tailcall/_il_relrecurse_ep_void/_il_relrecurse_ep_void.sh
+JIT/Methodical/tailcall/_il_reltest_void/_il_reltest_void.sh
+JIT/Methodical/varargs/seh/fault_il_d/fault_il_d.sh
+JIT/Methodical/varargs/seh/fault_il_r/fault_il_r.sh
+JIT/Methodical/varargs/seh/filter_il_d/filter_il_d.sh
+JIT/Methodical/varargs/seh/filter_il_r/filter_il_r.sh
+JIT/Methodical/xxobj/operand/_il_dbglocalloc/_il_dbglocalloc.sh
+JIT/Methodical/xxobj/operand/_il_rellocalloc/_il_rellocalloc.sh
+JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847/b07847.sh
+JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b213516/b213516/b213516.sh
+JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689/b03689.sh
+JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046/b08046.sh
+JIT/Regression/CLR-x86-JIT/V1.2-M01/b08707/b08707/b08707.sh
+JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a/b26324a.sh
+JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b/b26324b.sh
+JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b27098/b27098/b27098.sh
+JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28911/b28911/b28911.sh
+JIT/Regression/CLR-x86-JIT/V1-M09/b14585/b14585/b14585.sh
+JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b28949/b28949b/b28949b.sh
+JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b47584/b47584/b47584.sh
+JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b51416/b51416/b51416.sh
+JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b56272/b56272/b56272.sh
+JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b65423/b65423/b65423.sh
+JIT/Regression/Dev11/dev10_865840/dev10_865840/dev10_865840.sh
+JIT/Regression/VS-ia64-JIT/V1.2-M01/b11959/b11959/b11959.sh
+JIT/Regression/VS-ia64-JIT/V1.2-M02/b16933/b16933/b16933.sh
+JIT/Regression/VS-ia64-JIT/V1.2-M02/b22545/b22545/b22545.sh
+JIT/Regression/VS-ia64-JIT/V1.2-M02/b22591/b22591/b22591.sh
+JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b416776/b416776/b416776.sh
+JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_d/cascadedcatch_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/cascadedcatch_r/cascadedcatch_r.sh
+JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_d/cascadedexcept_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/cascadedexcept_r/cascadedexcept_r.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_d/throwincascadedcatch_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatch_r/throwincascadedcatch_r.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_d/throwincascadedcatchnofin_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedcatchnofin_r/throwincascadedcatchnofin_r.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_d/throwincascadedexcept_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexcept_r/throwincascadedexcept_r.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_d/throwincascadedexceptnofin_d.sh
+JIT/Methodical/eh/nested/cascadedcatchret/throwincascadedexceptnofin_r/throwincascadedexceptnofin_r.sh
+JIT/Regression/CLR-x86-JIT/V1-M09/b13621/b13621/b13621.sh